@apify/actors-mcp-server 0.9.16-beta.2 → 0.9.16-beta.4
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/actor/server.d.ts.map +1 -1
- package/dist/actor/server.js +7 -8
- package/dist/actor/server.js.map +1 -1
- package/dist/apify_client.d.ts +3 -13
- package/dist/apify_client.d.ts.map +1 -1
- package/dist/apify_client.js +4 -18
- package/dist/apify_client.js.map +1 -1
- package/dist/const.d.ts +1 -0
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +2 -0
- package/dist/const.js.map +1 -1
- package/dist/index_internals.d.ts +7 -1
- package/dist/index_internals.d.ts.map +1 -1
- package/dist/index_internals.js +6 -1
- package/dist/index_internals.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +72 -45
- package/dist/mcp/server.js.map +1 -1
- package/dist/payments/helpers.d.ts +39 -0
- package/dist/payments/helpers.d.ts.map +1 -0
- package/dist/payments/helpers.js +42 -0
- package/dist/payments/helpers.js.map +1 -0
- package/dist/payments/index.d.ts +7 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +5 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/payments/resolve.d.ts +11 -0
- package/dist/payments/resolve.d.ts.map +1 -0
- package/dist/payments/resolve.js +21 -0
- package/dist/payments/resolve.js.map +1 -0
- package/dist/payments/skyfire.d.ts +20 -0
- package/dist/payments/skyfire.d.ts.map +1 -0
- package/dist/payments/skyfire.js +81 -0
- package/dist/payments/skyfire.js.map +1 -0
- package/dist/payments/types.d.ts +98 -0
- package/dist/payments/types.d.ts.map +1 -0
- package/dist/payments/types.js +2 -0
- package/dist/payments/types.js.map +1 -0
- package/dist/payments/x402.d.ts +56 -0
- package/dist/payments/x402.d.ts.map +1 -0
- package/dist/payments/x402.js +208 -0
- package/dist/payments/x402.js.map +1 -0
- package/dist/resources/resource_service.d.ts +2 -1
- package/dist/resources/resource_service.d.ts.map +1 -1
- package/dist/resources/resource_service.js +9 -7
- package/dist/resources/resource_service.js.map +1 -1
- package/dist/tools/common/abort_actor_run.d.ts.map +1 -1
- package/dist/tools/common/abort_actor_run.js +3 -8
- package/dist/tools/common/abort_actor_run.js.map +1 -1
- package/dist/tools/common/get_actor_output.d.ts.map +1 -1
- package/dist/tools/common/get_actor_output.js +3 -8
- package/dist/tools/common/get_actor_output.js.map +1 -1
- package/dist/tools/common/get_actor_run_log.d.ts.map +1 -1
- package/dist/tools/common/get_actor_run_log.js +3 -8
- package/dist/tools/common/get_actor_run_log.js.map +1 -1
- package/dist/tools/common/get_dataset.d.ts.map +1 -1
- package/dist/tools/common/get_dataset.js +3 -8
- package/dist/tools/common/get_dataset.js.map +1 -1
- package/dist/tools/common/get_dataset_items.d.ts.map +1 -1
- package/dist/tools/common/get_dataset_items.js +3 -8
- package/dist/tools/common/get_dataset_items.js.map +1 -1
- package/dist/tools/common/get_dataset_schema.d.ts.map +1 -1
- package/dist/tools/common/get_dataset_schema.js +3 -8
- package/dist/tools/common/get_dataset_schema.js.map +1 -1
- package/dist/tools/common/get_key_value_store.d.ts.map +1 -1
- package/dist/tools/common/get_key_value_store.js +3 -8
- package/dist/tools/common/get_key_value_store.js.map +1 -1
- package/dist/tools/common/get_key_value_store_keys.d.ts.map +1 -1
- package/dist/tools/common/get_key_value_store_keys.js +3 -8
- package/dist/tools/common/get_key_value_store_keys.js.map +1 -1
- package/dist/tools/common/get_key_value_store_record.d.ts.map +1 -1
- package/dist/tools/common/get_key_value_store_record.js +3 -8
- package/dist/tools/common/get_key_value_store_record.js.map +1 -1
- package/dist/tools/core/actor_tools_factory.d.ts.map +1 -1
- package/dist/tools/core/actor_tools_factory.js +3 -2
- package/dist/tools/core/actor_tools_factory.js.map +1 -1
- package/dist/tools/core/call_actor_common.d.ts +1 -4
- package/dist/tools/core/call_actor_common.d.ts.map +1 -1
- package/dist/tools/core/call_actor_common.js +9 -14
- package/dist/tools/core/call_actor_common.js.map +1 -1
- package/dist/tools/core/get_actor_run_common.js +2 -2
- package/dist/tools/core/get_actor_run_common.js.map +1 -1
- package/dist/tools/default/call_actor.d.ts.map +1 -1
- package/dist/tools/default/call_actor.js +2 -3
- package/dist/tools/default/call_actor.js.map +1 -1
- package/dist/tools/default/fetch_actor_details.js +1 -1
- package/dist/tools/default/fetch_actor_details.js.map +1 -1
- package/dist/tools/default/get_actor_run.d.ts.map +1 -1
- package/dist/tools/default/get_actor_run.js +1 -3
- package/dist/tools/default/get_actor_run.js.map +1 -1
- package/dist/tools/default/search_actors.js +1 -1
- package/dist/tools/default/search_actors.js.map +1 -1
- package/dist/tools/openai/call_actor.d.ts.map +1 -1
- package/dist/tools/openai/call_actor.js +2 -3
- package/dist/tools/openai/call_actor.js.map +1 -1
- package/dist/tools/openai/fetch_actor_details_internal.js +1 -1
- package/dist/tools/openai/fetch_actor_details_internal.js.map +1 -1
- package/dist/tools/openai/get_actor_run.d.ts.map +1 -1
- package/dist/tools/openai/get_actor_run.js +1 -3
- package/dist/tools/openai/get_actor_run.js.map +1 -1
- package/dist/tools/openai/search_actors.js +1 -1
- package/dist/tools/openai/search_actors.js.map +1 -1
- package/dist/tools/openai/search_actors_internal.js +1 -1
- package/dist/tools/openai/search_actors_internal.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +14 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/actor_details.d.ts +3 -2
- package/dist/utils/actor_details.d.ts.map +1 -1
- package/dist/utils/actor_details.js +6 -6
- package/dist/utils/actor_details.js.map +1 -1
- package/dist/utils/actor_search.d.ts +2 -1
- package/dist/utils/actor_search.d.ts.map +1 -1
- package/dist/utils/actor_search.js +2 -2
- package/dist/utils/actor_search.js.map +1 -1
- package/dist/utils/payment_errors.d.ts +27 -0
- package/dist/utils/payment_errors.d.ts.map +1 -0
- package/dist/utils/payment_errors.js +90 -0
- package/dist/utils/payment_errors.js.map +1 -0
- package/package.json +2 -1
- package/dist/utils/skyfire.d.ts +0 -12
- package/dist/utils/skyfire.d.ts.map +0 -1
- package/dist/utils/skyfire.js +0 -19
- package/dist/utils/skyfire.js.map +0 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import log from '@apify/log';
|
|
2
|
+
import { getApifyAPIBaseUrl } from '../apify_client.js';
|
|
3
|
+
import { cloneToolEntry } from '../utils/tools.js';
|
|
4
|
+
/**
|
|
5
|
+
* Key used by MCP clients to pass x402 payment data in the JSON-RPC `_meta` field.
|
|
6
|
+
* The mcp-cli injects the decoded payment payload here (JSON object, not base64).
|
|
7
|
+
*/
|
|
8
|
+
const X402_META_KEY = 'x402/payment';
|
|
9
|
+
/** HTTP header name for forwarding x402 payment signatures to the Apify API. */
|
|
10
|
+
const PAYMENT_SIGNATURE_HEADER = 'PAYMENT-SIGNATURE';
|
|
11
|
+
const PAYMENT_PROTOCOL_HEADER = 'x-apify-payment-protocol';
|
|
12
|
+
const PAYMENT_REQUIRED_HEADER = 'payment-required';
|
|
13
|
+
/** Timeout for fetching x402 payment requirements from the Apify API (ms). */
|
|
14
|
+
const FETCH_TIMEOUT_MS = 8000;
|
|
15
|
+
const X402_TOOL_INSTRUCTIONS = [
|
|
16
|
+
'This tool requires an x402 payment.',
|
|
17
|
+
'Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]).',
|
|
18
|
+
'Your MCP client must support the x402 payment protocol.',
|
|
19
|
+
].join(' ');
|
|
20
|
+
// Module-level cache for X402 payment requirements.
|
|
21
|
+
// We cache the Promise itself (rather than just the JSON result) to prevent the "thundering herd"
|
|
22
|
+
// problem during server startup, where multiple concurrent incoming requests might otherwise
|
|
23
|
+
// trigger duplicate identical fetches to the Apify API before the first one finishes.
|
|
24
|
+
let cachedRequirementsPromise = null;
|
|
25
|
+
let lastFetchTime = 0;
|
|
26
|
+
// Cache TTL: 30 minutes
|
|
27
|
+
const CACHE_TTL_MS = 30 * 60 * 1000;
|
|
28
|
+
/**
|
|
29
|
+
* Fetches x402 payment requirements from the Apify API.
|
|
30
|
+
* Uses a module-level cache with a 30-minute TTL to prevent blocking SSE setup on every connection.
|
|
31
|
+
*
|
|
32
|
+
* Sends a request with `x-apify-payment-protocol: x402` header which triggers
|
|
33
|
+
* a 402 response containing the payment requirements in the `payment-required` header.
|
|
34
|
+
*
|
|
35
|
+
* @returns The decoded payment requirements, or undefined if the fetch fails.
|
|
36
|
+
*/
|
|
37
|
+
export async function fetchX402PaymentRequirements() {
|
|
38
|
+
const now = Date.now();
|
|
39
|
+
// If we have a cached promise, and the TTL hasn't expired since it successfully resolved, return it.
|
|
40
|
+
// Note: During the very first fetch, lastFetchTime is 0, so this will be false and we will
|
|
41
|
+
// fall through to create the promise, which is expected. However, if multiple requests hit this
|
|
42
|
+
// block *while the first fetch is still in-flight*, they will also see lastFetchTime = 0 and
|
|
43
|
+
// create duplicate promises. This is a known minor flaw in this specific caching pattern, but
|
|
44
|
+
// acceptable since the overhead of a few duplicate calls during cold-start is negligible.
|
|
45
|
+
if (cachedRequirementsPromise && (now - lastFetchTime < CACHE_TTL_MS)) {
|
|
46
|
+
return cachedRequirementsPromise;
|
|
47
|
+
}
|
|
48
|
+
cachedRequirementsPromise = (async () => {
|
|
49
|
+
const apiBaseUrl = getApifyAPIBaseUrl();
|
|
50
|
+
const url = `${apiBaseUrl}/v2/acts/`;
|
|
51
|
+
const controller = new AbortController();
|
|
52
|
+
const timeoutId = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
53
|
+
try {
|
|
54
|
+
const response = await fetch(url, {
|
|
55
|
+
method: 'GET',
|
|
56
|
+
headers: { [PAYMENT_PROTOCOL_HEADER]: 'x402' },
|
|
57
|
+
signal: controller.signal,
|
|
58
|
+
});
|
|
59
|
+
const paymentRequiredBase64 = response.headers.get(PAYMENT_REQUIRED_HEADER);
|
|
60
|
+
if (!paymentRequiredBase64) {
|
|
61
|
+
log.warning('[x402] No payment-required header in API response', { status: response.status, url });
|
|
62
|
+
cachedRequirementsPromise = null;
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const decoded = JSON.parse(Buffer.from(paymentRequiredBase64, 'base64').toString('utf-8'));
|
|
66
|
+
log.info('[x402] Fetched payment requirements from Apify API', { url });
|
|
67
|
+
lastFetchTime = Date.now();
|
|
68
|
+
return decoded;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
log.warning('[x402] Failed to fetch payment requirements — tools will advertise paymentRequired only', { url, error });
|
|
72
|
+
cachedRequirementsPromise = null;
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
clearTimeout(timeoutId);
|
|
77
|
+
}
|
|
78
|
+
})();
|
|
79
|
+
return cachedRequirementsPromise;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extracts the PAYMENT-SIGNATURE value from incoming HTTP request headers.
|
|
83
|
+
* Header lookup is case-insensitive. Returns the first string value, or undefined.
|
|
84
|
+
*/
|
|
85
|
+
function getPaymentSignatureFromHeader(requestHeaders) {
|
|
86
|
+
var _a;
|
|
87
|
+
if (!requestHeaders)
|
|
88
|
+
return undefined;
|
|
89
|
+
// HTTP headers are case-insensitive; the SDK may normalize to lowercase
|
|
90
|
+
const value = (_a = requestHeaders[PAYMENT_SIGNATURE_HEADER]) !== null && _a !== void 0 ? _a : requestHeaders[PAYMENT_SIGNATURE_HEADER.toLowerCase()];
|
|
91
|
+
if (typeof value === 'string' && value.length > 0)
|
|
92
|
+
return value;
|
|
93
|
+
if (Array.isArray(value) && typeof value[0] === 'string' && value[0].length > 0)
|
|
94
|
+
return value[0];
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets the base64-encoded payment signature from either _meta (JSON object) or HTTP headers.
|
|
99
|
+
*/
|
|
100
|
+
function getEncodedPaymentSignature(meta, requestHeaders) {
|
|
101
|
+
const metaPayment = meta === null || meta === void 0 ? void 0 : meta[X402_META_KEY];
|
|
102
|
+
if (metaPayment) {
|
|
103
|
+
return Buffer.from(JSON.stringify(metaPayment)).toString('base64');
|
|
104
|
+
}
|
|
105
|
+
return getPaymentSignatureFromHeader(requestHeaders);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* x402 payment provider.
|
|
109
|
+
*
|
|
110
|
+
* Reads x402 payment signatures from MCP `_meta["x402/payment"]` or the incoming
|
|
111
|
+
* HTTP `PAYMENT-SIGNATURE` header, and forwards them as `PAYMENT-SIGNATURE`
|
|
112
|
+
* headers to the Apify API.
|
|
113
|
+
*
|
|
114
|
+
* Protocol flow:
|
|
115
|
+
* 1. Client reads `_meta.x402` from tool definitions to know payment is required
|
|
116
|
+
* 2. Client signs an EIP-3009 TransferWithAuthorization and includes it in
|
|
117
|
+
* `_meta["x402/payment"]` (JSON object) and/or the `PAYMENT-SIGNATURE` HTTP header (base64)
|
|
118
|
+
* 3. This provider extracts the payment (preferring `_meta`, falling back to HTTP header),
|
|
119
|
+
* base64-encodes it if needed, and forwards as PAYMENT-SIGNATURE header
|
|
120
|
+
* 4. The Apify API verifies and settles the payment
|
|
121
|
+
*/
|
|
122
|
+
export class X402PaymentProvider {
|
|
123
|
+
constructor(requirements) {
|
|
124
|
+
Object.defineProperty(this, "requirements", {
|
|
125
|
+
enumerable: true,
|
|
126
|
+
configurable: true,
|
|
127
|
+
writable: true,
|
|
128
|
+
value: requirements
|
|
129
|
+
});
|
|
130
|
+
Object.defineProperty(this, "id", {
|
|
131
|
+
enumerable: true,
|
|
132
|
+
configurable: true,
|
|
133
|
+
writable: true,
|
|
134
|
+
value: 'x402'
|
|
135
|
+
});
|
|
136
|
+
Object.defineProperty(this, "allowsUnauthenticated", {
|
|
137
|
+
enumerable: true,
|
|
138
|
+
configurable: true,
|
|
139
|
+
writable: true,
|
|
140
|
+
value: true
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Creates an X402PaymentProvider, fetching payment requirements from the Apify API.
|
|
145
|
+
* Falls back to a provider without full requirements if the fetch fails.
|
|
146
|
+
*/
|
|
147
|
+
static async create() {
|
|
148
|
+
const requirements = await fetchX402PaymentRequirements();
|
|
149
|
+
return new X402PaymentProvider(requirements);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Extracts the first accept entry from the full payment requirements.
|
|
153
|
+
* This is the flattened payment info that goes into _meta.x402 for tool schemas.
|
|
154
|
+
*/
|
|
155
|
+
getFirstAcceptEntry() {
|
|
156
|
+
if (!this.requirements)
|
|
157
|
+
return undefined;
|
|
158
|
+
const accepts = this.requirements.accepts;
|
|
159
|
+
if (!Array.isArray(accepts) || accepts.length === 0)
|
|
160
|
+
return undefined;
|
|
161
|
+
return accepts[0];
|
|
162
|
+
}
|
|
163
|
+
decorateToolSchema(tool) {
|
|
164
|
+
if (!tool.paymentRequired)
|
|
165
|
+
return tool;
|
|
166
|
+
const cloned = cloneToolEntry(tool);
|
|
167
|
+
// Add _meta.x402 to signal payment requirement to clients (idempotent)
|
|
168
|
+
// Only include the first accept entry (scheme, network, amount, asset, payTo, etc.)
|
|
169
|
+
// matching the demo server format — NOT the full API response
|
|
170
|
+
if (!cloned._meta) {
|
|
171
|
+
cloned._meta = {};
|
|
172
|
+
}
|
|
173
|
+
const metaRecord = cloned._meta;
|
|
174
|
+
if (!metaRecord.x402) {
|
|
175
|
+
const acceptEntry = this.getFirstAcceptEntry();
|
|
176
|
+
metaRecord.x402 = { paymentRequired: true, ...acceptEntry };
|
|
177
|
+
}
|
|
178
|
+
// Append x402 instructions to description (idempotent)
|
|
179
|
+
if (cloned.description && !cloned.description.includes(X402_TOOL_INSTRUCTIONS)) {
|
|
180
|
+
cloned.description += `\n\n${X402_TOOL_INSTRUCTIONS}`;
|
|
181
|
+
}
|
|
182
|
+
return Object.freeze(cloned);
|
|
183
|
+
}
|
|
184
|
+
validatePayment(_args, meta, requestHeaders) {
|
|
185
|
+
return getEncodedPaymentSignature(meta, requestHeaders) ? null : X402_TOOL_INSTRUCTIONS;
|
|
186
|
+
}
|
|
187
|
+
getPaymentHeaders(_args, meta, requestHeaders) {
|
|
188
|
+
const paymentSignature = getEncodedPaymentSignature(meta, requestHeaders);
|
|
189
|
+
return paymentSignature
|
|
190
|
+
? { [PAYMENT_SIGNATURE_HEADER]: paymentSignature, [PAYMENT_PROTOCOL_HEADER]: 'x402' }
|
|
191
|
+
: {};
|
|
192
|
+
}
|
|
193
|
+
removePaymentFields(args) {
|
|
194
|
+
// x402 doesn't inject anything into tool arguments — payment is in _meta
|
|
195
|
+
return args;
|
|
196
|
+
}
|
|
197
|
+
getPaymentRequiredData() {
|
|
198
|
+
return this.requirements;
|
|
199
|
+
}
|
|
200
|
+
getUsageGuide() {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
redactForLogging(args) {
|
|
204
|
+
// x402 doesn't put sensitive data in tool arguments
|
|
205
|
+
return args;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=x402.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../../src/payments/x402.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ListResourcesResult, ListResourceTemplatesResult, ReadResourceResult, TextResourceContents } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { PaymentProvider } from '../payments/types.js';
|
|
2
3
|
import type { ServerMode } from '../types.js';
|
|
3
4
|
import type { AvailableWidget } from './widgets.js';
|
|
4
5
|
type ExtendedResourceContents = TextResourceContents & {
|
|
@@ -14,7 +15,7 @@ type ResourceService = {
|
|
|
14
15
|
listResourceTemplates: () => Promise<ListResourceTemplatesResult>;
|
|
15
16
|
};
|
|
16
17
|
type ResourceServiceOptions = {
|
|
17
|
-
|
|
18
|
+
paymentProvider?: PaymentProvider;
|
|
18
19
|
mode?: ServerMode;
|
|
19
20
|
getAvailableWidgets: () => Map<string, AvailableWidget>;
|
|
20
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_service.d.ts","sourceRoot":"","sources":["../../src/resources/resource_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,kBAAkB,EAAY,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource_service.d.ts","sourceRoot":"","sources":["../../src/resources/resource_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,kBAAkB,EAAY,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI/J,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,KAAK,wBAAwB,GAAG,oBAAoB,GAAG;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG;IACrE,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACxC,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,aAAa,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACnE,qBAAqB,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACrE,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAqHtF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import log from '@apify/log';
|
|
2
|
-
import { SKYFIRE_README_CONTENT } from '../const.js';
|
|
3
2
|
import { RESOURCE_MIME_TYPE } from './widgets.js';
|
|
4
3
|
export function createResourceService(options) {
|
|
5
|
-
const {
|
|
4
|
+
const { paymentProvider, mode = 'default', getAvailableWidgets } = options;
|
|
6
5
|
const listResources = async () => {
|
|
6
|
+
var _a;
|
|
7
7
|
const resources = [];
|
|
8
|
-
if (
|
|
8
|
+
if ((_a = paymentProvider === null || paymentProvider === void 0 ? void 0 : paymentProvider.getUsageGuide) === null || _a === void 0 ? void 0 : _a.call(paymentProvider)) {
|
|
9
9
|
resources.push({
|
|
10
10
|
uri: 'file://readme.md',
|
|
11
11
|
name: 'readme',
|
|
12
|
-
description: 'Apify MCP Server usage guide. Read this to understand how to use the server
|
|
13
|
-
+ '
|
|
12
|
+
description: 'Apify MCP Server usage guide. Read this to understand how to use the server '
|
|
13
|
+
+ 'before interacting with it.',
|
|
14
14
|
mimeType: 'text/markdown',
|
|
15
15
|
});
|
|
16
16
|
}
|
|
@@ -31,12 +31,14 @@ export function createResourceService(options) {
|
|
|
31
31
|
return { resources };
|
|
32
32
|
};
|
|
33
33
|
const readResource = async (uri) => {
|
|
34
|
-
|
|
34
|
+
var _a;
|
|
35
|
+
const usageGuide = (_a = paymentProvider === null || paymentProvider === void 0 ? void 0 : paymentProvider.getUsageGuide) === null || _a === void 0 ? void 0 : _a.call(paymentProvider);
|
|
36
|
+
if (usageGuide && uri === 'file://readme.md') {
|
|
35
37
|
return {
|
|
36
38
|
contents: [{
|
|
37
39
|
uri: 'file://readme.md',
|
|
38
40
|
mimeType: 'text/markdown',
|
|
39
|
-
text:
|
|
41
|
+
text: usageGuide,
|
|
40
42
|
}],
|
|
41
43
|
};
|
|
42
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_service.js","sourceRoot":"","sources":["../../src/resources/resource_service.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"resource_service.js","sourceRoot":"","sources":["../../src/resources/resource_service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort_actor_run.d.ts","sourceRoot":"","sources":["../../../src/tools/common/abort_actor_run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abort_actor_run.d.ts","sourceRoot":"","sources":["../../../src/tools/common/abort_actor_run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAUnF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SA6BjB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createApifyClientWithSkyfireSupport } from '../../apify_client.js';
|
|
3
2
|
import { HelperTools } from '../../const.js';
|
|
4
3
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
4
|
const abortRunArgs = z.object({
|
|
@@ -25,11 +24,8 @@ USAGE EXAMPLES:
|
|
|
25
24
|
- user_input: Abort run y2h7sK3Wc
|
|
26
25
|
- user_input: Gracefully abort run y2h7sK3Wc`,
|
|
27
26
|
inputSchema: z.toJSONSchema(abortRunArgs),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*/
|
|
31
|
-
ajvValidate: compileSchema({ ...z.toJSONSchema(abortRunArgs), additionalProperties: true }),
|
|
32
|
-
requiresSkyfirePayId: true,
|
|
27
|
+
ajvValidate: compileSchema(z.toJSONSchema(abortRunArgs)),
|
|
28
|
+
paymentRequired: true,
|
|
33
29
|
annotations: {
|
|
34
30
|
title: 'Abort Actor run',
|
|
35
31
|
readOnlyHint: false,
|
|
@@ -38,9 +34,8 @@ USAGE EXAMPLES:
|
|
|
38
34
|
openWorldHint: false,
|
|
39
35
|
},
|
|
40
36
|
call: async (toolArgs) => {
|
|
41
|
-
const { args,
|
|
37
|
+
const { args, apifyClient: client } = toolArgs;
|
|
42
38
|
const parsed = abortRunArgs.parse(args);
|
|
43
|
-
const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
|
|
44
39
|
const v = await client.run(parsed.runId).abort({ gracefully: parsed.gracefully });
|
|
45
40
|
return { content: [{ type: 'text', text: `\`\`\`json\n${JSON.stringify(v)}\n\`\`\`` }] };
|
|
46
41
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort_actor_run.js","sourceRoot":"","sources":["../../../src/tools/common/abort_actor_run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"abort_actor_run.js","sourceRoot":"","sources":["../../../src/tools/common/abort_actor_run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,mCAAmC,CAAC;IAClD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;CACxH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc,MAAM,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,WAAW,EAAE;;;;;;;;;6CAS4B;IACzC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,YAAY,CAAoB;IAC5D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACxD,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE;QACT,KAAK,EAAE,iBAAiB;QACxB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAClF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IAC7F,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_actor_output.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_actor_output.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_actor_output.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_actor_output.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AA0BnF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAyB1D;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SA4FlB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { createApifyClientWithSkyfireSupport } from '../../apify_client.js';
|
|
4
3
|
import { HelperTools, TOOL_MAX_OUTPUT_CHARS, TOOL_STATUS } from '../../const.js';
|
|
5
4
|
import { compileSchema } from '../../utils/ajv.js';
|
|
6
5
|
import { getValuesByDotKeys, parseCommaSeparatedList } from '../../utils/generic.js';
|
|
@@ -79,11 +78,8 @@ export const getActorOutput = Object.freeze({
|
|
|
79
78
|
Note: This tool is automatically included if the Apify MCP Server is configured with any Actor tools (e.g., "apify--rag-web-browser") or tools that can interact with Actors (e.g., "call-actor", "add-actor").`,
|
|
80
79
|
inputSchema: z.toJSONSchema(getActorOutputArgs),
|
|
81
80
|
outputSchema: datasetItemsOutputSchema,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
*/
|
|
85
|
-
ajvValidate: compileSchema({ ...z.toJSONSchema(getActorOutputArgs), additionalProperties: true }),
|
|
86
|
-
requiresSkyfirePayId: true,
|
|
81
|
+
ajvValidate: compileSchema(z.toJSONSchema(getActorOutputArgs)),
|
|
82
|
+
paymentRequired: true,
|
|
87
83
|
annotations: {
|
|
88
84
|
title: 'Get Actor output',
|
|
89
85
|
readOnlyHint: true,
|
|
@@ -92,8 +88,7 @@ export const getActorOutput = Object.freeze({
|
|
|
92
88
|
openWorldHint: false,
|
|
93
89
|
},
|
|
94
90
|
call: async (toolArgs) => {
|
|
95
|
-
const { args,
|
|
96
|
-
const apifyClient = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
|
|
91
|
+
const { args, apifyClient } = toolArgs;
|
|
97
92
|
const parsed = getActorOutputArgs.parse(args);
|
|
98
93
|
// Parse fields into array
|
|
99
94
|
const fieldsArray = parseCommaSeparatedList(parsed.fields);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_actor_output.js","sourceRoot":"","sources":["../../../src/tools/common/get_actor_output.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_actor_output.js","sourceRoot":"","sources":["../../../src/tools/common/get_actor_output.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_actor_run_log.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_actor_run_log.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_actor_run_log.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_actor_run_log.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAWnF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SA+BlB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createApifyClientWithSkyfireSupport } from '../../apify_client.js';
|
|
3
2
|
import { HelperTools } from '../../const.js';
|
|
4
3
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
4
|
const GetRunLogArgs = z.object({
|
|
@@ -27,11 +26,8 @@ USAGE EXAMPLES:
|
|
|
27
26
|
- user_input: Get logs for run y2h7sK3Wc`,
|
|
28
27
|
inputSchema: z.toJSONSchema(GetRunLogArgs),
|
|
29
28
|
// It does not make sense to add structured output here since the log API just returns plain text
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
*/
|
|
33
|
-
ajvValidate: compileSchema({ ...z.toJSONSchema(GetRunLogArgs), additionalProperties: true }),
|
|
34
|
-
requiresSkyfirePayId: true,
|
|
29
|
+
ajvValidate: compileSchema(z.toJSONSchema(GetRunLogArgs)),
|
|
30
|
+
paymentRequired: true,
|
|
35
31
|
annotations: {
|
|
36
32
|
title: 'Get Actor run log',
|
|
37
33
|
readOnlyHint: true,
|
|
@@ -41,9 +37,8 @@ USAGE EXAMPLES:
|
|
|
41
37
|
},
|
|
42
38
|
call: async (toolArgs) => {
|
|
43
39
|
var _a;
|
|
44
|
-
const { args,
|
|
40
|
+
const { args, apifyClient: client } = toolArgs;
|
|
45
41
|
const parsed = GetRunLogArgs.parse(args);
|
|
46
|
-
const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
|
|
47
42
|
const v = (_a = await client.run(parsed.runId).log().get()) !== null && _a !== void 0 ? _a : '';
|
|
48
43
|
const lines = v.split('\n');
|
|
49
44
|
const text = lines.slice(lines.length - parsed.lines - 1, lines.length).join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_actor_run_log.js","sourceRoot":"","sources":["../../../src/tools/common/get_actor_run_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_actor_run_log.js","sourceRoot":"","sources":["../../../src/tools/common/get_actor_run_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACZ,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,mDAAmD,CAAC;SAC7D,OAAO,CAAC,EAAE,CAAC;CACnB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc,MAAM,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,cAAc;IAChC,WAAW,EAAE;;;;;;;;yCAQwB;IACrC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,aAAa,CAAoB;IAC7D,iGAAiG;IACjG,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACzD,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE;QACT,KAAK,EAAE,mBAAmB;QAC1B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,MAAA,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_dataset.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAUnF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAqCd,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createApifyClientWithSkyfireSupport } from '../../apify_client.js';
|
|
3
2
|
import { HelperTools, TOOL_STATUS } from '../../const.js';
|
|
4
3
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
4
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
@@ -26,11 +25,8 @@ USAGE EXAMPLES:
|
|
|
26
25
|
- user_input: Show info for dataset xyz123
|
|
27
26
|
- user_input: What fields does username~my-dataset have?`,
|
|
28
27
|
inputSchema: z.toJSONSchema(getDatasetArgs),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*/
|
|
32
|
-
ajvValidate: compileSchema({ ...z.toJSONSchema(getDatasetArgs), additionalProperties: true }),
|
|
33
|
-
requiresSkyfirePayId: true,
|
|
28
|
+
ajvValidate: compileSchema(z.toJSONSchema(getDatasetArgs)),
|
|
29
|
+
paymentRequired: true,
|
|
34
30
|
annotations: {
|
|
35
31
|
title: 'Get dataset',
|
|
36
32
|
readOnlyHint: true,
|
|
@@ -39,9 +35,8 @@ USAGE EXAMPLES:
|
|
|
39
35
|
openWorldHint: false,
|
|
40
36
|
},
|
|
41
37
|
call: async (toolArgs) => {
|
|
42
|
-
const { args,
|
|
38
|
+
const { args, apifyClient: client } = toolArgs;
|
|
43
39
|
const parsed = getDatasetArgs.parse(args);
|
|
44
|
-
const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
|
|
45
40
|
const v = await client.dataset(parsed.datasetId).get();
|
|
46
41
|
if (!v) {
|
|
47
42
|
return buildMCPResponse({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_dataset.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,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;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAc,MAAM,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,WAAW;IAC7B,WAAW,EAAE;;wDAEuC,WAAW,CAAC,iBAAiB;;;;;;;;yDAQ5B;IACrD,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc,CAAoB;IAC9D,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC1D,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE;QACT,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACvB;IACD,IAAI,EAAE,KAAK,EAAE,QAA0B,EAAE,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,gBAAgB,CAAC;gBACpB,KAAK,EAAE,CAAC,YAAY,MAAM,CAAC,SAAS,cAAc,CAAC;gBACnD,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,WAAW,CAAC,SAAS;aACpC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IAC7F,CAAC;CACK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_items.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_dataset_items.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AA8BnF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,SAgEnB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { createApifyClientWithSkyfireSupport } from '../../apify_client.js';
|
|
4
3
|
import { HelperTools, TOOL_STATUS } from '../../const.js';
|
|
5
4
|
import { compileSchema } from '../../utils/ajv.js';
|
|
6
5
|
import { parseCommaSeparatedList } from '../../utils/generic.js';
|
|
@@ -50,11 +49,8 @@ export const getDatasetItems = Object.freeze({
|
|
|
50
49
|
- user_input: Get only metadata.url and title from dataset username~my-dataset (flatten metadata)`,
|
|
51
50
|
inputSchema: z.toJSONSchema(getDatasetItemsArgs),
|
|
52
51
|
outputSchema: datasetItemsOutputSchema,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
*/
|
|
56
|
-
ajvValidate: compileSchema({ ...z.toJSONSchema(getDatasetItemsArgs), additionalProperties: true }),
|
|
57
|
-
requiresSkyfirePayId: true,
|
|
52
|
+
ajvValidate: compileSchema(z.toJSONSchema(getDatasetItemsArgs)),
|
|
53
|
+
paymentRequired: true,
|
|
58
54
|
annotations: {
|
|
59
55
|
title: 'Get dataset items',
|
|
60
56
|
readOnlyHint: true,
|
|
@@ -64,9 +60,8 @@ export const getDatasetItems = Object.freeze({
|
|
|
64
60
|
},
|
|
65
61
|
call: async (toolArgs) => {
|
|
66
62
|
var _a;
|
|
67
|
-
const { args,
|
|
63
|
+
const { args, apifyClient: client } = toolArgs;
|
|
68
64
|
const parsed = getDatasetItemsArgs.parse(args);
|
|
69
|
-
const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
|
|
70
65
|
// Convert comma-separated strings to arrays
|
|
71
66
|
const fields = parseCommaSeparatedList(parsed.fields);
|
|
72
67
|
const omit = parseCommaSeparatedList(parsed.omit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_items.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_dataset_items.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_items.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_schema.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_dataset_schema.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAoBnF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAsEpB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { createApifyClientWithSkyfireSupport } from '../../apify_client.js';
|
|
3
2
|
import { HelperTools, TOOL_STATUS } from '../../const.js';
|
|
4
3
|
import { compileSchema } from '../../utils/ajv.js';
|
|
5
4
|
import { buildMCPResponse } from '../../utils/mcp.js';
|
|
@@ -35,11 +34,8 @@ USAGE EXAMPLES:
|
|
|
35
34
|
- user_input: Generate schema for dataset 34das2 using 10 items
|
|
36
35
|
- user_input: Show schema of username~my-dataset (clean items only)`,
|
|
37
36
|
inputSchema: z.toJSONSchema(getDatasetSchemaArgs),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*/
|
|
41
|
-
ajvValidate: compileSchema({ ...z.toJSONSchema(getDatasetSchemaArgs), additionalProperties: true }),
|
|
42
|
-
requiresSkyfirePayId: true,
|
|
37
|
+
ajvValidate: compileSchema(z.toJSONSchema(getDatasetSchemaArgs)),
|
|
38
|
+
paymentRequired: true,
|
|
43
39
|
annotations: {
|
|
44
40
|
title: 'Get dataset schema',
|
|
45
41
|
readOnlyHint: true,
|
|
@@ -48,9 +44,8 @@ USAGE EXAMPLES:
|
|
|
48
44
|
openWorldHint: false,
|
|
49
45
|
},
|
|
50
46
|
call: async (toolArgs) => {
|
|
51
|
-
const { args,
|
|
47
|
+
const { args, apifyClient: client } = toolArgs;
|
|
52
48
|
const parsed = getDatasetSchemaArgs.parse(args);
|
|
53
|
-
const client = createApifyClientWithSkyfireSupport(apifyMcpServer, args, apifyToken);
|
|
54
49
|
// Get dataset items
|
|
55
50
|
const datasetResponse = await client.dataset(parsed.datasetId).listItems({
|
|
56
51
|
clean: parsed.clean,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_dataset_schema.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_dataset_schema.js","sourceRoot":"","sources":["../../../src/tools/common/get_dataset_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_key_value_store.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get_key_value_store.d.ts","sourceRoot":"","sources":["../../../src/tools/common/get_key_value_store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AASnF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SA4BpB,CAAC"}
|