@apify/actors-mcp-server 0.7.4 → 0.8.1
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/README.md +12 -0
- package/dist/actor/server.js +10 -10
- package/dist/actor/server.js.map +1 -1
- package/dist/const.d.ts +2 -1
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +2 -55
- package/dist/const.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +13 -10
- package/dist/mcp/server.js.map +1 -1
- package/dist/tools/actor.d.ts +6 -2
- package/dist/tools/actor.d.ts.map +1 -1
- package/dist/tools/actor.js +41 -14
- package/dist/tools/actor.js.map +1 -1
- package/dist/tools/categories.d.ts +1 -0
- package/dist/tools/categories.d.ts.map +1 -1
- package/dist/tools/categories.js +6 -0
- package/dist/tools/categories.js.map +1 -1
- package/dist/tools/dataset.d.ts.map +1 -1
- package/dist/tools/dataset.js +12 -1
- package/dist/tools/dataset.js.map +1 -1
- package/dist/tools/fetch-actor-details-internal.d.ts +3 -0
- package/dist/tools/fetch-actor-details-internal.d.ts.map +1 -0
- package/dist/tools/fetch-actor-details-internal.js +63 -0
- package/dist/tools/fetch-actor-details-internal.js.map +1 -0
- package/dist/tools/fetch-actor-details.d.ts.map +1 -1
- package/dist/tools/fetch-actor-details.js +24 -107
- package/dist/tools/fetch-actor-details.js.map +1 -1
- package/dist/tools/get-actor-output.d.ts.map +1 -1
- package/dist/tools/get-actor-output.js +11 -1
- package/dist/tools/get-actor-output.js.map +1 -1
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +17 -3
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/search-actors-internal.d.ts +3 -0
- package/dist/tools/search-actors-internal.d.ts.map +1 -0
- package/dist/tools/search-actors-internal.js +81 -0
- package/dist/tools/search-actors-internal.js.map +1 -0
- package/dist/tools/store_collection.d.ts +13 -0
- package/dist/tools/store_collection.d.ts.map +1 -1
- package/dist/tools/store_collection.js +20 -12
- package/dist/tools/store_collection.js.map +1 -1
- package/dist/tools/structured-output-schemas.d.ts +189 -0
- package/dist/tools/structured-output-schemas.d.ts.map +1 -1
- package/dist/tools/structured-output-schemas.js +100 -0
- package/dist/tools/structured-output-schemas.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +12 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/actor-details.d.ts +96 -0
- package/dist/utils/actor-details.d.ts.map +1 -1
- package/dist/utils/actor-details.js +209 -0
- package/dist/utils/actor-details.js.map +1 -1
- package/dist/utils/actor-response.d.ts +21 -5
- package/dist/utils/actor-response.d.ts.map +1 -1
- package/dist/utils/actor-response.js +26 -5
- package/dist/utils/actor-response.js.map +1 -1
- package/dist/utils/actor-search.d.ts +23 -0
- package/dist/utils/actor-search.d.ts.map +1 -0
- package/dist/utils/actor-search.js +20 -0
- package/dist/utils/actor-search.js.map +1 -0
- package/dist/utils/generic.d.ts +0 -7
- package/dist/utils/generic.d.ts.map +1 -1
- package/dist/utils/generic.js +0 -28
- package/dist/utils/generic.js.map +1 -1
- package/dist/utils/server-instructions.d.ts +14 -0
- package/dist/utils/server-instructions.d.ts.map +1 -0
- package/dist/utils/server-instructions.js +87 -0
- package/dist/utils/server-instructions.js.map +1 -0
- package/dist/utils/tools-loader.d.ts.map +1 -1
- package/dist/utils/tools-loader.js +15 -2
- package/dist/utils/tools-loader.js.map +1 -1
- package/dist/web/dist/actor-run-widget.js +2765 -16
- package/dist/web/dist/search-actors-widget.js +2766 -17
- package/manifest.json +1 -1
- package/package.json +13 -11
- package/server.json +4 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/utils/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAKhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAQvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBxG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzD
|
|
1
|
+
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/utils/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAKhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAQvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBxG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzD"}
|
package/dist/utils/generic.js
CHANGED
|
@@ -83,32 +83,4 @@ export function isValidHttpUrl(urlString) {
|
|
|
83
83
|
return false;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Parses a boolean value from a string, boolean, null, or undefined.
|
|
88
|
-
* Accepts 'true', '1' as true, 'false', '0' as false.
|
|
89
|
-
* If value is already a boolean, returns it directly.
|
|
90
|
-
* Returns undefined if the value is not a recognized boolean string or is null/undefined/empty string.
|
|
91
|
-
*/
|
|
92
|
-
export function parseBooleanFromString(value) {
|
|
93
|
-
// If already a boolean, return it directly
|
|
94
|
-
if (typeof value === 'boolean') {
|
|
95
|
-
return value;
|
|
96
|
-
}
|
|
97
|
-
// Handle undefined/null
|
|
98
|
-
if (value === undefined || value === null) {
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
// Handle empty string (after trim)
|
|
102
|
-
const normalized = value.toLowerCase().trim();
|
|
103
|
-
if (normalized === '') {
|
|
104
|
-
return undefined;
|
|
105
|
-
}
|
|
106
|
-
if (normalized === 'true' || normalized === '1') {
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
if (normalized === 'false' || normalized === '0') {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
return undefined;
|
|
113
|
-
}
|
|
114
86
|
//# sourceMappingURL=generic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/utils/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAA4B,EAAE,IAAc;IAC3E,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,GAAY,GAAG,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,IACI,OAAO,KAAK,IAAI;mBACb,OAAO,OAAO,KAAK,QAAQ;mBAC3B,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAC3D,CAAC;gBACC,qDAAqD;gBACrD,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,SAAS,CAAC;gBACpB,MAAM;YACV,CAAC;QACL,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACD,2BAA2B;QAC3B,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC
|
|
1
|
+
{"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/utils/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAA4B,EAAE,IAAc;IAC3E,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,GAAY,GAAG,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,IACI,OAAO,KAAK,IAAI;mBACb,OAAO,OAAO,KAAK,QAAQ;mBAC3B,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAC3D,CAAC;gBACC,qDAAqD;gBACrD,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,SAAS,CAAC;gBACpB,MAAM;YACV,CAAC;QACL,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACD,2BAA2B;QAC3B,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server instructions builder with conditional content based on UI mode.
|
|
3
|
+
* Generates instructions for the MCP server that adapt based on whether UI mode is enabled.
|
|
4
|
+
*/
|
|
5
|
+
import type { UiMode } from '../types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Build server instructions conditionally based on UI mode.
|
|
8
|
+
* In UI mode, includes sections about internal tools and UI mode workflow rules.
|
|
9
|
+
*
|
|
10
|
+
* @param uiMode - The UI mode ('openai' or undefined)
|
|
11
|
+
* @returns Server instructions string
|
|
12
|
+
*/
|
|
13
|
+
export declare function getServerInstructions(uiMode?: UiMode): string;
|
|
14
|
+
//# sourceMappingURL=server-instructions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/utils/server-instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CA6E7D"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server instructions builder with conditional content based on UI mode.
|
|
3
|
+
* Generates instructions for the MCP server that adapt based on whether UI mode is enabled.
|
|
4
|
+
*/
|
|
5
|
+
import { HelperTools, RAG_WEB_BROWSER } from '../const.js';
|
|
6
|
+
/**
|
|
7
|
+
* Build server instructions conditionally based on UI mode.
|
|
8
|
+
* In UI mode, includes sections about internal tools and UI mode workflow rules.
|
|
9
|
+
*
|
|
10
|
+
* @param uiMode - The UI mode ('openai' or undefined)
|
|
11
|
+
* @returns Server instructions string
|
|
12
|
+
*/
|
|
13
|
+
export function getServerInstructions(uiMode) {
|
|
14
|
+
const isUiMode = uiMode === 'openai';
|
|
15
|
+
// Tool dependency hint - different based on mode
|
|
16
|
+
const schemaToolHint = isUiMode
|
|
17
|
+
? `Use \`${HelperTools.ACTOR_GET_DETAILS_INTERNAL}\` first to obtain the Actor's input schema`
|
|
18
|
+
: `Use \`${HelperTools.ACTOR_GET_DETAILS}\` first to obtain the Actor's input schema`;
|
|
19
|
+
// UI Mode workflow rules - only in UI mode
|
|
20
|
+
const uiModeWorkflowRules = isUiMode
|
|
21
|
+
? `
|
|
22
|
+
## CRITICAL: UI Mode Workflow Rules
|
|
23
|
+
|
|
24
|
+
**NEVER call \`${HelperTools.ACTOR_RUNS_GET}\` after \`${HelperTools.ACTOR_CALL}\` in UI mode.**
|
|
25
|
+
|
|
26
|
+
When you call \`${HelperTools.ACTOR_CALL}\` in async mode (UI mode), the response will include a widget that automatically polls for status updates. You must NOT call \`${HelperTools.ACTOR_RUNS_GET}\` or any other tool after this - your task is complete. The widget handles everything automatically.
|
|
27
|
+
|
|
28
|
+
This is FORBIDDEN and will result in unnecessary duplicate polling. Always stop after receiving the \`${HelperTools.ACTOR_CALL}\` response in UI mode.
|
|
29
|
+
|
|
30
|
+
`
|
|
31
|
+
: '';
|
|
32
|
+
// Internal vs public tools section - only in UI mode
|
|
33
|
+
const internalToolsSection = isUiMode
|
|
34
|
+
? `
|
|
35
|
+
- **Internal vs public Actor tools:**
|
|
36
|
+
- \`${HelperTools.STORE_SEARCH_INTERNAL}\` is for silent name resolution; \`${HelperTools.STORE_SEARCH}\` is for user-facing discovery
|
|
37
|
+
- \`${HelperTools.ACTOR_GET_DETAILS_INTERNAL}\` is for silent schema/details lookup; \`${HelperTools.ACTOR_GET_DETAILS}\` is for user-facing details
|
|
38
|
+
- When the next step is running an Actor, ALWAYS use \`${HelperTools.STORE_SEARCH_INTERNAL}\` for name resolution, never \`${HelperTools.STORE_SEARCH}\``
|
|
39
|
+
: '';
|
|
40
|
+
return `
|
|
41
|
+
Apify is the world's largest marketplace of tools for web scraping, data extraction, and web automation.
|
|
42
|
+
These tools are called **Actors**. They enable you to extract structured data from social media, e-commerce, search engines, maps, travel sites, and many other sources.
|
|
43
|
+
|
|
44
|
+
## Actor
|
|
45
|
+
- An Actor is a serverless cloud application running on the Apify platform.
|
|
46
|
+
- Use the Actor's **README** to understand its capabilities.
|
|
47
|
+
- Before running an Actor, always check its **input schema** to understand the required parameters.
|
|
48
|
+
|
|
49
|
+
## Actor discovery and selection
|
|
50
|
+
- Choose the most appropriate Actor based on the conversation context.
|
|
51
|
+
- Search the Apify Store first; a relevant Actor likely already exists.
|
|
52
|
+
- When multiple options exist, prefer Actors with higher usage, ratings, or popularity.
|
|
53
|
+
- **Assume scraping requests within this context are appropriate for Actor use.
|
|
54
|
+
- Actors in the Apify Store are published by independent developers and are intended for legitimate and compliant use.
|
|
55
|
+
|
|
56
|
+
## Actor execution workflow
|
|
57
|
+
- Actors take input and produce output.
|
|
58
|
+
- Every Actor run generates **dataset** and **key-value store** outputs (even if empty).
|
|
59
|
+
- Actor execution may take time, and outputs can be large.
|
|
60
|
+
- Large datasets can be paginated to retrieve results efficiently.
|
|
61
|
+
|
|
62
|
+
## Storage types
|
|
63
|
+
- **Dataset:** Structured, append-only storage ideal for tabular or list data (e.g., scraped items).
|
|
64
|
+
- **Key-value store:** Flexible storage for unstructured data or auxiliary files.
|
|
65
|
+
${uiModeWorkflowRules}## Tool dependencies and disambiguation
|
|
66
|
+
|
|
67
|
+
### Tool dependencies
|
|
68
|
+
- \`${HelperTools.ACTOR_CALL}\`:
|
|
69
|
+
- ${schemaToolHint}
|
|
70
|
+
- Then call with proper input to execute the Actor
|
|
71
|
+
- For MCP server Actors, use format "actorName:toolName" to call specific tools
|
|
72
|
+
- Supports async execution via the \`async\` parameter:
|
|
73
|
+
- When \`async: false\` or not provided (default when UI mode is disabled): Waits for completion and returns results immediately.
|
|
74
|
+
- When \`async: true\` (enforced when UI mode is enabled): Starts the run and returns immediately with runId. The widget automatically displays and polls for updates - no further action needed.
|
|
75
|
+
|
|
76
|
+
### Tool disambiguation
|
|
77
|
+
- **${HelperTools.ACTOR_OUTPUT_GET} vs ${HelperTools.DATASET_GET_ITEMS}:**
|
|
78
|
+
Use \`${HelperTools.ACTOR_OUTPUT_GET}\` for Actor run outputs and \`${HelperTools.DATASET_GET_ITEMS}\` for direct dataset access.
|
|
79
|
+
- **${HelperTools.STORE_SEARCH} vs ${HelperTools.ACTOR_GET_DETAILS}:**
|
|
80
|
+
\`${HelperTools.STORE_SEARCH}\` finds Actors; \`${HelperTools.ACTOR_GET_DETAILS}\` retrieves detailed info, README, and schema for a specific Actor.${internalToolsSection}
|
|
81
|
+
- **${HelperTools.STORE_SEARCH} vs ${RAG_WEB_BROWSER}:**
|
|
82
|
+
\`${HelperTools.STORE_SEARCH}\` finds robust and reliable Actors for specific websites; ${RAG_WEB_BROWSER} is a general and versatile web scraping tool.
|
|
83
|
+
- **Dedicated Actor tools (e.g. ${RAG_WEB_BROWSER}) vs ${HelperTools.ACTOR_CALL}:**
|
|
84
|
+
Prefer dedicated tools when available; use \`${HelperTools.ACTOR_CALL}\` only when no specialized tool exists in Apify store.
|
|
85
|
+
`;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=server-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/utils/server-instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG3D;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IAErC,iDAAiD;IACjD,MAAM,cAAc,GAAG,QAAQ;QAC3B,CAAC,CAAC,SAAS,WAAW,CAAC,0BAA0B,6CAA6C;QAC9F,CAAC,CAAC,SAAS,WAAW,CAAC,iBAAiB,6CAA6C,CAAC;IAE1F,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG,QAAQ;QAChC,CAAC,CAAC;;;iBAGO,WAAW,CAAC,cAAc,cAAc,WAAW,CAAC,UAAU;;kBAE7D,WAAW,CAAC,UAAU,mIAAmI,WAAW,CAAC,cAAc;;wGAE7F,WAAW,CAAC,UAAU;;CAE7H;QACO,CAAC,CAAC,EAAE,CAAC;IAET,qDAAqD;IACrD,MAAM,oBAAoB,GAAG,QAAQ;QACjC,CAAC,CAAC;;QAEF,WAAW,CAAC,qBAAqB,uCAAuC,WAAW,CAAC,YAAY;QAChG,WAAW,CAAC,0BAA0B,6CAA6C,WAAW,CAAC,iBAAiB;2DAC7D,WAAW,CAAC,qBAAqB,mCAAmC,WAAW,CAAC,YAAY,IAAI;QACnJ,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;EAyBT,mBAAmB;;;MAGf,WAAW,CAAC,UAAU;MACtB,cAAc;;;;;;;;MAQd,WAAW,CAAC,gBAAgB,OAAO,WAAW,CAAC,iBAAiB;UAC5D,WAAW,CAAC,gBAAgB,kCAAkC,WAAW,CAAC,iBAAiB;MAC/F,WAAW,CAAC,YAAY,OAAO,WAAW,CAAC,iBAAiB;MAC5D,WAAW,CAAC,YAAY,sBAAsB,WAAW,CAAC,iBAAiB,uEAAuE,oBAAoB;MACtK,WAAW,CAAC,YAAY,OAAO,eAAe;MAC9C,WAAW,CAAC,YAAY,8DAA8D,eAAe;kCACzE,eAAe,QAAQ,WAAW,CAAC,UAAU;iDAC9B,WAAW,CAAC,UAAU;CACtE,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-loader.d.ts","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAUzC,OAAO,KAAK,EAAE,KAAK,EAAkC,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAe5F;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"tools-loader.d.ts","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAUzC,OAAO,KAAK,EAAE,KAAK,EAAkC,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAe5F;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,EAAE,CAAC,CA2KtB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import log from '@apify/log';
|
|
6
6
|
import { defaults, HelperTools } from '../const.js';
|
|
7
|
-
import { callActor } from '../tools/actor.js';
|
|
7
|
+
import { callActor, getCallActorDescription } from '../tools/actor.js';
|
|
8
8
|
import { getActorOutput } from '../tools/get-actor-output.js';
|
|
9
9
|
import { addTool } from '../tools/helpers.js';
|
|
10
10
|
import { getActorsAsTools, toolCategories, toolCategoriesEnabledByDefault } from '../tools/index.js';
|
|
@@ -110,6 +110,10 @@ export async function loadToolsFromInput(input, apifyClient, uiMode) {
|
|
|
110
110
|
else if (!actorsExplicitlyEmpty) {
|
|
111
111
|
result.push(...getExpectedToolsByCategories(toolCategoriesEnabledByDefault));
|
|
112
112
|
}
|
|
113
|
+
// In openai mode, add UI-specific tools
|
|
114
|
+
if (uiMode === 'openai') {
|
|
115
|
+
result.push(...(toolCategories.ui || []));
|
|
116
|
+
}
|
|
113
117
|
// Actor tools (if any)
|
|
114
118
|
if (actorNamesToLoad.length > 0) {
|
|
115
119
|
const actorTools = await getActorsAsTools(actorNamesToLoad, apifyClient);
|
|
@@ -145,7 +149,11 @@ export async function loadToolsFromInput(input, apifyClient, uiMode) {
|
|
|
145
149
|
// }
|
|
146
150
|
// De-duplicate by tool name for safety
|
|
147
151
|
const seen = new Set();
|
|
148
|
-
const
|
|
152
|
+
const deduped = result.filter((entry) => !seen.has(entry.name) && seen.add(entry.name));
|
|
153
|
+
// Filter out openai-only tools when not in openai mode
|
|
154
|
+
const filtered = uiMode === 'openai'
|
|
155
|
+
? deduped
|
|
156
|
+
: deduped.filter((entry) => !entry.openaiOnly);
|
|
149
157
|
// TODO: rework this solition as it was quickly hacked together for hotfix
|
|
150
158
|
// Deep clone except ajvValidate and call functions
|
|
151
159
|
// holds the original functions of the tools
|
|
@@ -175,6 +183,11 @@ export async function loadToolsFromInput(input, apifyClient, uiMode) {
|
|
|
175
183
|
}
|
|
176
184
|
}
|
|
177
185
|
}
|
|
186
|
+
for (const entry of cloned) {
|
|
187
|
+
if (entry.name === HelperTools.ACTOR_CALL) {
|
|
188
|
+
entry.description = getCallActorDescription(uiMode);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
178
191
|
return cloned;
|
|
179
192
|
}
|
|
180
193
|
//# sourceMappingURL=tools-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-loader.js","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools-loader.js","sourceRoot":"","sources":["../../src/utils/tools-loader.ts"],"names":[],"mappings":"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"}
|