@apify/actors-mcp-server 0.5.1 → 0.5.2
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 +17 -21
- package/dist/mcp/proxy.d.ts.map +1 -1
- package/dist/mcp/proxy.js +2 -5
- package/dist/mcp/proxy.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +34 -34
- package/dist/mcp/server.js.map +1 -1
- package/dist/tools/actor.d.ts.map +1 -1
- package/dist/tools/actor.js +163 -150
- package/dist/tools/actor.js.map +1 -1
- package/dist/tools/build.d.ts.map +1 -1
- package/dist/tools/build.js +34 -20
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/dataset.d.ts.map +1 -1
- package/dist/tools/dataset.js +73 -82
- package/dist/tools/dataset.js.map +1 -1
- package/dist/tools/dataset_collection.d.ts.map +1 -1
- package/dist/tools/dataset_collection.js +15 -18
- package/dist/tools/dataset_collection.js.map +1 -1
- package/dist/tools/fetch-actor-details.d.ts.map +1 -1
- package/dist/tools/fetch-actor-details.js +29 -31
- package/dist/tools/fetch-actor-details.js.map +1 -1
- package/dist/tools/fetch-apify-docs.d.ts.map +1 -1
- package/dist/tools/fetch-apify-docs.js +47 -50
- package/dist/tools/fetch-apify-docs.js.map +1 -1
- package/dist/tools/get-actor-output.d.ts.map +1 -1
- package/dist/tools/get-actor-output.js +56 -59
- package/dist/tools/get-actor-output.js.map +1 -1
- package/dist/tools/get-html-skeleton.d.ts.map +1 -1
- package/dist/tools/get-html-skeleton.js +44 -47
- package/dist/tools/get-html-skeleton.js.map +1 -1
- package/dist/tools/helpers.d.ts.map +1 -1
- package/dist/tools/helpers.js +33 -35
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tools/key_value_store.d.ts.map +1 -1
- package/dist/tools/key_value_store.js +33 -42
- package/dist/tools/key_value_store.js.map +1 -1
- package/dist/tools/key_value_store_collection.d.ts.map +1 -1
- package/dist/tools/key_value_store_collection.js +15 -18
- package/dist/tools/key_value_store_collection.js.map +1 -1
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +37 -46
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/run_collection.d.ts.map +1 -1
- package/dist/tools/run_collection.js +10 -13
- package/dist/tools/run_collection.js.map +1 -1
- package/dist/tools/search-apify-docs.d.ts.map +1 -1
- package/dist/tools/search-apify-docs.js +24 -27
- package/dist/tools/search-apify-docs.js.map +1 -1
- package/dist/tools/store_collection.d.ts +3 -3
- package/dist/tools/store_collection.d.ts.map +1 -1
- package/dist/tools/store_collection.js +66 -43
- package/dist/tools/store_collection.js.map +1 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +9 -0
- package/dist/tools/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +34 -39
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/actor-details.d.ts.map +1 -1
- package/dist/utils/actor-details.js +38 -19
- package/dist/utils/actor-details.js.map +1 -1
- package/dist/utils/actor.d.ts.map +1 -1
- package/dist/utils/actor.js +24 -8
- package/dist/utils/actor.js.map +1 -1
- package/dist/utils/tools-loader.d.ts.map +1 -1
- package/dist/utils/tools-loader.js +10 -10
- package/dist/utils/tools-loader.js.map +1 -1
- package/dist/utils/tools.d.ts +8 -2
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +5 -5
- package/dist/utils/tools.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +1 -1
package/dist/tools/dataset.js
CHANGED
|
@@ -38,10 +38,8 @@ const getDatasetItemsArgs = z.object({
|
|
|
38
38
|
*/
|
|
39
39
|
export const getDataset = {
|
|
40
40
|
type: 'internal',
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
actorFullName: HelperTools.DATASET_GET,
|
|
44
|
-
description: `Get metadata for a dataset (collection of structured data created by an Actor run).
|
|
41
|
+
name: HelperTools.DATASET_GET,
|
|
42
|
+
description: `Get metadata for a dataset (collection of structured data created by an Actor run).
|
|
45
43
|
The results will include dataset details such as itemCount, schema, fields, and stats.
|
|
46
44
|
Use fields to understand structure for filtering with ${HelperTools.DATASET_GET_ITEMS}.
|
|
47
45
|
Note: itemCount updates may be delayed by up to ~5 seconds.
|
|
@@ -52,18 +50,17 @@ USAGE:
|
|
|
52
50
|
USAGE EXAMPLES:
|
|
53
51
|
- user_input: Show info for dataset xyz123
|
|
54
52
|
- user_input: What fields does username~my-dataset have?`,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
},
|
|
53
|
+
inputSchema: zodToJsonSchema(getDatasetArgs),
|
|
54
|
+
ajvValidate: ajv.compile(zodToJsonSchema(getDatasetArgs)),
|
|
55
|
+
call: async (toolArgs) => {
|
|
56
|
+
const { args, apifyToken } = toolArgs;
|
|
57
|
+
const parsed = getDatasetArgs.parse(args);
|
|
58
|
+
const client = new ApifyClient({ token: apifyToken });
|
|
59
|
+
const v = await client.dataset(parsed.datasetId).get();
|
|
60
|
+
if (!v) {
|
|
61
|
+
return { content: [{ type: 'text', text: `Dataset '${parsed.datasetId}' not found.` }] };
|
|
62
|
+
}
|
|
63
|
+
return { content: [{ type: 'text', text: `\`\`\`json\n${JSON.stringify(v)}\n\`\`\`` }] };
|
|
67
64
|
},
|
|
68
65
|
};
|
|
69
66
|
/**
|
|
@@ -71,10 +68,8 @@ USAGE EXAMPLES:
|
|
|
71
68
|
*/
|
|
72
69
|
export const getDatasetItems = {
|
|
73
70
|
type: 'internal',
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
actorFullName: HelperTools.DATASET_GET_ITEMS,
|
|
77
|
-
description: `Retrieve dataset items with pagination, sorting, and field selection.
|
|
71
|
+
name: HelperTools.DATASET_GET_ITEMS,
|
|
72
|
+
description: `Retrieve dataset items with pagination, sorting, and field selection.
|
|
78
73
|
Use clean=true to skip empty items and hidden fields. Include or omit fields using comma-separated lists.
|
|
79
74
|
For nested objects, first flatten them (e.g., flatten="metadata"), then reference nested fields via dot notation (e.g., fields="metadata.url").
|
|
80
75
|
|
|
@@ -86,30 +81,29 @@ USAGE:
|
|
|
86
81
|
USAGE EXAMPLES:
|
|
87
82
|
- user_input: Get first 100 items from dataset abd123
|
|
88
83
|
- user_input: Get only metadata.url and title from dataset username~my-dataset (flatten metadata)`,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
},
|
|
84
|
+
inputSchema: zodToJsonSchema(getDatasetItemsArgs),
|
|
85
|
+
ajvValidate: ajv.compile(zodToJsonSchema(getDatasetItemsArgs)),
|
|
86
|
+
call: async (toolArgs) => {
|
|
87
|
+
const { args, apifyToken } = toolArgs;
|
|
88
|
+
const parsed = getDatasetItemsArgs.parse(args);
|
|
89
|
+
const client = new ApifyClient({ token: apifyToken });
|
|
90
|
+
// Convert comma-separated strings to arrays
|
|
91
|
+
const fields = parseCommaSeparatedList(parsed.fields);
|
|
92
|
+
const omit = parseCommaSeparatedList(parsed.omit);
|
|
93
|
+
const flatten = parseCommaSeparatedList(parsed.flatten);
|
|
94
|
+
const v = await client.dataset(parsed.datasetId).listItems({
|
|
95
|
+
clean: parsed.clean,
|
|
96
|
+
offset: parsed.offset,
|
|
97
|
+
limit: parsed.limit,
|
|
98
|
+
fields,
|
|
99
|
+
omit,
|
|
100
|
+
desc: parsed.desc,
|
|
101
|
+
flatten,
|
|
102
|
+
});
|
|
103
|
+
if (!v) {
|
|
104
|
+
return { content: [{ type: 'text', text: `Dataset '${parsed.datasetId}' not found.` }] };
|
|
105
|
+
}
|
|
106
|
+
return { content: [{ type: 'text', text: `\`\`\`json\n${JSON.stringify(v)}\n\`\`\`` }] };
|
|
113
107
|
},
|
|
114
108
|
};
|
|
115
109
|
const getDatasetSchemaArgs = z.object({
|
|
@@ -131,10 +125,8 @@ const getDatasetSchemaArgs = z.object({
|
|
|
131
125
|
*/
|
|
132
126
|
export const getDatasetSchema = {
|
|
133
127
|
type: 'internal',
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
actorFullName: HelperTools.DATASET_SCHEMA_GET,
|
|
137
|
-
description: `Generate a JSON schema from a sample of dataset items.
|
|
128
|
+
name: HelperTools.DATASET_SCHEMA_GET,
|
|
129
|
+
description: `Generate a JSON schema from a sample of dataset items.
|
|
138
130
|
The schema describes the structure of the data and can be used for validation, documentation, or processing.
|
|
139
131
|
Use this to understand the dataset before fetching many items.
|
|
140
132
|
|
|
@@ -144,40 +136,39 @@ USAGE:
|
|
|
144
136
|
USAGE EXAMPLES:
|
|
145
137
|
- user_input: Generate schema for dataset 34das2 using 10 items
|
|
146
138
|
- user_input: Show schema of username~my-dataset (clean items only)`,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
},
|
|
139
|
+
inputSchema: zodToJsonSchema(getDatasetSchemaArgs),
|
|
140
|
+
ajvValidate: ajv.compile(zodToJsonSchema(getDatasetSchemaArgs)),
|
|
141
|
+
call: async (toolArgs) => {
|
|
142
|
+
const { args, apifyToken } = toolArgs;
|
|
143
|
+
const parsed = getDatasetSchemaArgs.parse(args);
|
|
144
|
+
const client = new ApifyClient({ token: apifyToken });
|
|
145
|
+
// Get dataset items
|
|
146
|
+
const datasetResponse = await client.dataset(parsed.datasetId).listItems({
|
|
147
|
+
clean: parsed.clean,
|
|
148
|
+
limit: parsed.limit,
|
|
149
|
+
});
|
|
150
|
+
if (!datasetResponse) {
|
|
151
|
+
return { content: [{ type: 'text', text: `Dataset '${parsed.datasetId}' not found.` }] };
|
|
152
|
+
}
|
|
153
|
+
const datasetItems = datasetResponse.items;
|
|
154
|
+
if (datasetItems.length === 0) {
|
|
155
|
+
return { content: [{ type: 'text', text: `Dataset '${parsed.datasetId}' is empty.` }] };
|
|
156
|
+
}
|
|
157
|
+
// Generate schema using the shared utility
|
|
158
|
+
const schema = generateSchemaFromItems(datasetItems, {
|
|
159
|
+
limit: parsed.limit,
|
|
160
|
+
clean: parsed.clean,
|
|
161
|
+
arrayMode: parsed.arrayMode,
|
|
162
|
+
});
|
|
163
|
+
if (!schema) {
|
|
164
|
+
return { content: [{ type: 'text', text: `Failed to generate schema for dataset '${parsed.datasetId}'.` }] };
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
content: [{
|
|
168
|
+
type: 'text',
|
|
169
|
+
text: `\`\`\`json\n${JSON.stringify(schema)}\n\`\`\``,
|
|
170
|
+
}],
|
|
171
|
+
};
|
|
181
172
|
},
|
|
182
173
|
};
|
|
183
174
|
//# sourceMappingURL=dataset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/tools/dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sCAAsC,CAAC;CACxD,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sCAAsC,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACxB,QAAQ,CAAC,mIAAmI,CAAC;IAClJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACxB,QAAQ,CAAC,qDAAqD,CAAC;IACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACvB,QAAQ,CAAC,yDAAyD,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACxB,QAAQ,CAAC,wDAAwD;UAC5D,4CAA4C;UAC5C,8EAA8E,CAAC;IACzF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtB,QAAQ,CAAC,yDAAyD,CAAC;IACxE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACvB,QAAQ,CAAC,oEAAoE,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACzB,QAAQ,CAAC,6FAA6F;UACjG,iHAAiH;UACjH,4EAA4E,CAAC;CAC1F,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAc;IACjC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/tools/dataset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset_collection.d.ts","sourceRoot":"","sources":["../../src/tools/dataset_collection.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dataset_collection.d.ts","sourceRoot":"","sources":["../../src/tools/dataset_collection.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAmBhF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,SA6BxB,CAAC"}
|
|
@@ -23,10 +23,8 @@ const getUserDatasetsListArgs = z.object({
|
|
|
23
23
|
*/
|
|
24
24
|
export const getUserDatasetsList = {
|
|
25
25
|
type: 'internal',
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
actorFullName: HelperTools.DATASET_LIST_GET,
|
|
29
|
-
description: `List datasets (collections of Actor run data) for the authenticated user.
|
|
26
|
+
name: HelperTools.DATASET_LIST_GET,
|
|
27
|
+
description: `List datasets (collections of Actor run data) for the authenticated user.
|
|
30
28
|
Actor runs automatically produce unnamed datasets (set unnamed=true to include them). Users can also create named datasets.
|
|
31
29
|
|
|
32
30
|
The results will include datasets with itemCount, access settings, and usage stats, sorted by createdAt (ascending by default).
|
|
@@ -38,20 +36,19 @@ USAGE:
|
|
|
38
36
|
USAGE EXAMPLES:
|
|
39
37
|
- user_input: List my last 10 datasets (newest first)
|
|
40
38
|
- user_input: List unnamed datasets`,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
},
|
|
39
|
+
inputSchema: zodToJsonSchema(getUserDatasetsListArgs),
|
|
40
|
+
ajvValidate: ajv.compile(zodToJsonSchema(getUserDatasetsListArgs)),
|
|
41
|
+
call: async (toolArgs) => {
|
|
42
|
+
const { args, apifyToken } = toolArgs;
|
|
43
|
+
const parsed = getUserDatasetsListArgs.parse(args);
|
|
44
|
+
const client = new ApifyClient({ token: apifyToken });
|
|
45
|
+
const datasets = await client.datasets().list({
|
|
46
|
+
limit: parsed.limit,
|
|
47
|
+
offset: parsed.offset,
|
|
48
|
+
desc: parsed.desc,
|
|
49
|
+
unnamed: parsed.unnamed,
|
|
50
|
+
});
|
|
51
|
+
return { content: [{ type: 'text', text: `\`\`\`json\n${JSON.stringify(datasets)}\n\`\`\`` }] };
|
|
55
52
|
},
|
|
56
53
|
};
|
|
57
54
|
//# sourceMappingURL=dataset_collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset_collection.js","sourceRoot":"","sources":["../../src/tools/dataset_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACb,QAAQ,CAAC,uFAAuF,CAAC;SACjG,OAAO,CAAC,CAAC,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,+FAA+F,CAAC;SACzG,OAAO,CAAC,EAAE,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;SACZ,QAAQ,CAAC,2HAA2H,CAAC;SACrI,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;SACf,QAAQ,CAAC,+FAA+F,CAAC;SACzG,OAAO,CAAC,KAAK,CAAC;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAc;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"dataset_collection.js","sourceRoot":"","sources":["../../src/tools/dataset_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACb,QAAQ,CAAC,uFAAuF,CAAC;SACjG,OAAO,CAAC,CAAC,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,+FAA+F,CAAC;SACzG,OAAO,CAAC,EAAE,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;SACZ,QAAQ,CAAC,2HAA2H,CAAC;SACrI,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;SACf,QAAQ,CAAC,+FAA+F,CAAC;SACzG,OAAO,CAAC,KAAK,CAAC;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAc;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,WAAW,EAAE;;;;;;;;;;;oCAWmB;IAChC,WAAW,EAAE,eAAe,CAAC,uBAAuB,CAAoB;IACxE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;IAClE,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QACtC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC;CACK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-actor-details.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fetch-actor-details.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAUhF,eAAO,MAAM,qBAAqB,EAAE,SA4C1B,CAAC"}
|
|
@@ -11,10 +11,9 @@ const fetchActorDetailsToolArgsSchema = z.object({
|
|
|
11
11
|
});
|
|
12
12
|
export const fetchActorDetailsTool = {
|
|
13
13
|
type: 'internal',
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
This returns the Actor’s title, description, URL, README (documentation), input schema, pricing/usage information, and basic stats.
|
|
14
|
+
name: HelperTools.ACTOR_GET_DETAILS,
|
|
15
|
+
description: `Get detailed information about an Actor by its ID or full name (format: "username/name", e.g., "apify/rag-web-browser").
|
|
16
|
+
This returns the Actor's title, description, URL, README (documentation), input schema, pricing/usage information, and basic stats.
|
|
18
17
|
Present the information in a user-friendly Actor card.
|
|
19
18
|
|
|
20
19
|
USAGE:
|
|
@@ -24,33 +23,32 @@ USAGE EXAMPLES:
|
|
|
24
23
|
- user_input: How to use apify/rag-web-browser
|
|
25
24
|
- user_input: What is the input schema for apify/rag-web-browser?
|
|
26
25
|
- user_input: What is the pricing for apify/instagram-scraper?`,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
},
|
|
26
|
+
inputSchema: zodToJsonSchema(fetchActorDetailsToolArgsSchema),
|
|
27
|
+
ajvValidate: ajv.compile(zodToJsonSchema(fetchActorDetailsToolArgsSchema)),
|
|
28
|
+
call: async (toolArgs) => {
|
|
29
|
+
const { args, apifyToken } = toolArgs;
|
|
30
|
+
const parsed = fetchActorDetailsToolArgsSchema.parse(args);
|
|
31
|
+
const apifyClient = new ApifyClient({ token: apifyToken });
|
|
32
|
+
const details = await fetchActorDetails(apifyClient, parsed.actor);
|
|
33
|
+
if (!details) {
|
|
34
|
+
return {
|
|
35
|
+
content: [{ type: 'text', text: `Actor information for '${parsed.actor}' was not found. Please check the Actor ID or name and ensure the Actor exists.` }],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const actorUrl = `https://apify.com/${details.actorInfo.username}/${details.actorInfo.name}`;
|
|
39
|
+
// Add link to README title
|
|
40
|
+
details.readme = details.readme.replace(/^# /, `# [README](${actorUrl}/readme): `);
|
|
41
|
+
const content = [
|
|
42
|
+
{ type: 'text', text: `# Actor information\n${details.actorCard}` },
|
|
43
|
+
{ type: 'text', text: `${details.readme}` },
|
|
44
|
+
];
|
|
45
|
+
// Include input schema if it has properties
|
|
46
|
+
if (details.inputSchema.properties || Object.keys(details.inputSchema.properties).length !== 0) {
|
|
47
|
+
content.push({ type: 'text', text: `# [Input schema](${actorUrl}/input)\n\`\`\`json\n${JSON.stringify(details.inputSchema)}\n\`\`\`` });
|
|
48
|
+
}
|
|
49
|
+
// Return the actor card, README, and input schema (if it has non-empty properties) as separate text blocks
|
|
50
|
+
// This allows better formatting in the final output
|
|
51
|
+
return { content };
|
|
54
52
|
},
|
|
55
53
|
};
|
|
56
54
|
//# sourceMappingURL=fetch-actor-details.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-actor-details.js","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,qFAAqF,CAAC;CACvG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAc;IAC5C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"fetch-actor-details.js","sourceRoot":"","sources":["../../src/tools/fetch-actor-details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,qFAAqF,CAAC;CACvG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAc;IAC5C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,iBAAiB;IACnC,WAAW,EAAE;;;;;;;;;;+DAU8C;IAC3D,WAAW,EAAE,eAAe,CAAC,+BAA+B,CAAoB;IAChF,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;IAC1E,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QACtC,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;gBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,MAAM,CAAC,KAAK,iFAAiF,EAAE,CAAC;aAC7J,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,qBAAqB,OAAO,CAAC,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7F,2BAA2B;QAC3B,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,QAAQ,YAAY,CAAC,CAAC;QAEnF,MAAM,OAAO,GAAG;YACZ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,OAAO,CAAC,SAAS,EAAE,EAAE;YACnE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE;SAC9C,CAAC;QAEF,4CAA4C;QAC5C,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7F,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,QAAQ,wBAAwB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5I,CAAC;QACD,2GAA2G;QAC3G,oDAAoD;QACpD,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;CACK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-apify-docs.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-apify-docs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fetch-apify-docs.d.ts","sourceRoot":"","sources":["../../src/tools/fetch-apify-docs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAUhF,eAAO,MAAM,kBAAkB,EAAE,SAoEvB,CAAC"}
|
|
@@ -12,9 +12,8 @@ const fetchApifyDocsToolArgsSchema = z.object({
|
|
|
12
12
|
});
|
|
13
13
|
export const fetchApifyDocsTool = {
|
|
14
14
|
type: 'internal',
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
description: `Fetch the full content of an Apify documentation page by its URL.
|
|
15
|
+
name: HelperTools.DOCS_FETCH,
|
|
16
|
+
description: `Fetch the full content of an Apify documentation page by its URL.
|
|
18
17
|
Use this after finding a relevant page with the ${HelperTools.DOCS_SEARCH} tool.
|
|
19
18
|
|
|
20
19
|
USAGE:
|
|
@@ -23,60 +22,58 @@ USAGE:
|
|
|
23
22
|
USAGE EXAMPLES:
|
|
24
23
|
- user_input: Fetch https://docs.apify.com/platform/actors/running#builds
|
|
25
24
|
- user_input: Fetch https://docs.apify.com/academy`,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (!response.ok) {
|
|
50
|
-
return {
|
|
51
|
-
content: [{
|
|
52
|
-
type: 'text',
|
|
53
|
-
text: `Failed to fetch the documentation page at ${url}. Status: ${response.status} ${response.statusText}`,
|
|
54
|
-
}],
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
const html = await response.text();
|
|
58
|
-
markdown = htmlToMarkdown(html);
|
|
59
|
-
// Cache the processed Markdown content
|
|
60
|
-
// Use the URL without fragment as the key to avoid caching same page with different fragments
|
|
61
|
-
fetchApifyDocsCache.set(urlWithoutFragment, markdown);
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
log.error('Failed to fetch the documentation page', { url, error });
|
|
25
|
+
inputSchema: zodToJsonSchema(fetchApifyDocsToolArgsSchema),
|
|
26
|
+
ajvValidate: ajv.compile(zodToJsonSchema(fetchApifyDocsToolArgsSchema)),
|
|
27
|
+
call: async (toolArgs) => {
|
|
28
|
+
const { args } = toolArgs;
|
|
29
|
+
const parsed = fetchApifyDocsToolArgsSchema.parse(args);
|
|
30
|
+
const url = parsed.url.trim();
|
|
31
|
+
const urlWithoutFragment = url.split('#')[0];
|
|
32
|
+
// Only allow URLs starting with https://docs.apify.com
|
|
33
|
+
if (!url.startsWith('https://docs.apify.com')) {
|
|
34
|
+
return {
|
|
35
|
+
content: [{
|
|
36
|
+
type: 'text',
|
|
37
|
+
text: `Only URLs starting with https://docs.apify.com are allowed.`,
|
|
38
|
+
}],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
// Cache URL without fragment to avoid fetching the same page multiple times
|
|
42
|
+
let markdown = fetchApifyDocsCache.get(urlWithoutFragment);
|
|
43
|
+
// If the content is not cached, fetch it from the URL
|
|
44
|
+
if (!markdown) {
|
|
45
|
+
try {
|
|
46
|
+
const response = await fetch(url);
|
|
47
|
+
if (!response.ok) {
|
|
65
48
|
return {
|
|
66
49
|
content: [{
|
|
67
50
|
type: 'text',
|
|
68
|
-
text: `Failed to fetch the documentation page at ${url}.
|
|
51
|
+
text: `Failed to fetch the documentation page at ${url}. Status: ${response.status} ${response.statusText}`,
|
|
69
52
|
}],
|
|
70
53
|
};
|
|
71
54
|
}
|
|
55
|
+
const html = await response.text();
|
|
56
|
+
markdown = htmlToMarkdown(html);
|
|
57
|
+
// Cache the processed Markdown content
|
|
58
|
+
// Use the URL without fragment as the key to avoid caching same page with different fragments
|
|
59
|
+
fetchApifyDocsCache.set(urlWithoutFragment, markdown);
|
|
72
60
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
61
|
+
catch (error) {
|
|
62
|
+
log.error('Failed to fetch the documentation page', { url, error });
|
|
63
|
+
return {
|
|
64
|
+
content: [{
|
|
65
|
+
type: 'text',
|
|
66
|
+
text: `Failed to fetch the documentation page at ${url}. Please check the URL and try again.`,
|
|
67
|
+
}],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
content: [{
|
|
73
|
+
type: 'text',
|
|
74
|
+
text: `Fetched content from ${url}:\n\n${markdown}`,
|
|
75
|
+
}],
|
|
76
|
+
};
|
|
80
77
|
},
|
|
81
78
|
};
|
|
82
79
|
//# sourceMappingURL=fetch-apify-docs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-apify-docs.js","sourceRoot":"","sources":["../../src/tools/fetch-apify-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAEjD,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;SACV,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oIAAoI,CAAC;CACtJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAc;IACzC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"fetch-apify-docs.js","sourceRoot":"","sources":["../../src/tools/fetch-apify-docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-actor-output.d.ts","sourceRoot":"","sources":["../../src/tools/get-actor-output.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"get-actor-output.d.ts","sourceRoot":"","sources":["../../src/tools/get-actor-output.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,aAAa,CAAC;AAwBhF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAyB1D;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SA6FnB,CAAC"}
|