@apify/actors-mcp-server 0.11.6 → 0.11.7-beta.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/dist/apify_client.js +1 -4
- package/dist/apify_client.js.map +1 -1
- package/dist/const.d.ts +5 -5
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +6 -9
- package/dist/const.js.map +1 -1
- package/dist/dev_server.js +1 -4
- package/dist/dev_server.js.map +1 -1
- package/dist/errors.js +1 -4
- package/dist/errors.js.map +1 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/index_internals.js +1 -4
- package/dist/index_internals.js.map +1 -1
- package/dist/input.js +1 -4
- package/dist/input.js.map +1 -1
- package/dist/instrument.js +1 -4
- package/dist/instrument.js.map +1 -1
- package/dist/mcp/actors.js +1 -4
- package/dist/mcp/actors.js.map +1 -1
- package/dist/mcp/client.js +1 -4
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/const.js +1 -4
- package/dist/mcp/const.js.map +1 -1
- package/dist/mcp/proxy.js +1 -4
- package/dist/mcp/proxy.js.map +1 -1
- package/dist/mcp/server.d.ts +13 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +21 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/utils.js +1 -4
- package/dist/mcp/utils.js.map +1 -1
- package/dist/payments/const.js +1 -4
- package/dist/payments/const.js.map +1 -1
- package/dist/payments/helpers.js +1 -4
- package/dist/payments/helpers.js.map +1 -1
- package/dist/payments/index.js +1 -4
- package/dist/payments/index.js.map +1 -1
- package/dist/payments/resolve.js +1 -4
- package/dist/payments/resolve.js.map +1 -1
- package/dist/payments/skyfire.js +1 -4
- package/dist/payments/skyfire.js.map +1 -1
- package/dist/payments/types.js +1 -4
- package/dist/payments/types.js.map +1 -1
- package/dist/payments/x402.js +1 -4
- package/dist/payments/x402.js.map +1 -1
- package/dist/prompts/index.js +1 -4
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/api_resources.d.ts +37 -0
- package/dist/resources/api_resources.d.ts.map +1 -0
- package/dist/resources/api_resources.js +255 -0
- package/dist/resources/api_resources.js.map +1 -0
- package/dist/resources/resource_service.d.ts +4 -3
- package/dist/resources/resource_service.d.ts.map +1 -1
- package/dist/resources/resource_service.js +53 -11
- package/dist/resources/resource_service.js.map +1 -1
- package/dist/resources/widgets.js +1 -4
- package/dist/resources/widgets.js.map +1 -1
- package/dist/server_card.js +1 -4
- package/dist/server_card.js.map +1 -1
- package/dist/state.js +1 -4
- package/dist/state.js.map +1 -1
- package/dist/stdio.js +1 -4
- package/dist/stdio.js.map +1 -1
- package/dist/telemetry.js +1 -4
- package/dist/telemetry.js.map +1 -1
- package/dist/tools/actor_input_schema.js +1 -4
- package/dist/tools/actor_input_schema.js.map +1 -1
- package/dist/tools/actor_tool_naming.js +1 -4
- package/dist/tools/actor_tool_naming.js.map +1 -1
- package/dist/tools/actors/actor_definition.js +1 -4
- package/dist/tools/actors/actor_definition.js.map +1 -1
- package/dist/tools/actors/actor_executor.js +1 -4
- package/dist/tools/actors/actor_executor.js.map +1 -1
- package/dist/tools/actors/actor_run_response.js +1 -4
- package/dist/tools/actors/actor_run_response.js.map +1 -1
- package/dist/tools/actors/actor_tools_factory.js +1 -4
- package/dist/tools/actors/actor_tools_factory.js.map +1 -1
- package/dist/tools/actors/add_actor.js +1 -4
- package/dist/tools/actors/add_actor.js.map +1 -1
- package/dist/tools/actors/call_actor.js +1 -4
- package/dist/tools/actors/call_actor.js.map +1 -1
- package/dist/tools/actors/fetch_actor_details.js +1 -4
- package/dist/tools/actors/fetch_actor_details.js.map +1 -1
- package/dist/tools/actors/search_actors.js +1 -4
- package/dist/tools/actors/search_actors.js.map +1 -1
- package/dist/tools/dev/report_problem.js +1 -4
- package/dist/tools/dev/report_problem.js.map +1 -1
- package/dist/tools/docs/fetch_apify_docs.js +1 -4
- package/dist/tools/docs/fetch_apify_docs.js.map +1 -1
- package/dist/tools/docs/search_apify_docs.js +1 -4
- package/dist/tools/docs/search_apify_docs.js.map +1 -1
- package/dist/tools/index.js +1 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/registry.js +1 -4
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/runs/abort_actor_run.js +1 -4
- package/dist/tools/runs/abort_actor_run.js.map +1 -1
- package/dist/tools/runs/get_actor_run.js +1 -4
- package/dist/tools/runs/get_actor_run.js.map +1 -1
- package/dist/tools/runs/get_actor_run_list.js +1 -4
- package/dist/tools/runs/get_actor_run_list.js.map +1 -1
- package/dist/tools/runs/get_actor_run_log.js +1 -4
- package/dist/tools/runs/get_actor_run_log.js.map +1 -1
- package/dist/tools/storage/get_dataset.js +1 -4
- package/dist/tools/storage/get_dataset.js.map +1 -1
- package/dist/tools/storage/get_dataset_items.js +1 -4
- package/dist/tools/storage/get_dataset_items.js.map +1 -1
- package/dist/tools/storage/get_dataset_list.js +1 -4
- package/dist/tools/storage/get_dataset_list.js.map +1 -1
- package/dist/tools/storage/get_dataset_schema.js +1 -4
- package/dist/tools/storage/get_dataset_schema.js.map +1 -1
- package/dist/tools/storage/get_key_value_store.js +1 -4
- package/dist/tools/storage/get_key_value_store.js.map +1 -1
- package/dist/tools/storage/get_key_value_store_keys.js +1 -4
- package/dist/tools/storage/get_key_value_store_keys.js.map +1 -1
- package/dist/tools/storage/get_key_value_store_list.js +1 -4
- package/dist/tools/storage/get_key_value_store_list.js.map +1 -1
- package/dist/tools/storage/get_key_value_store_record.d.ts.map +1 -1
- package/dist/tools/storage/get_key_value_store_record.js +10 -11
- package/dist/tools/storage/get_key_value_store_record.js.map +1 -1
- package/dist/tools/storage/storage_helpers.d.ts +27 -0
- package/dist/tools/storage/storage_helpers.d.ts.map +1 -1
- package/dist/tools/storage/storage_helpers.js +22 -5
- package/dist/tools/storage/storage_helpers.js.map +1 -1
- package/dist/tools/structured_output_schemas.js +1 -4
- package/dist/tools/structured_output_schemas.js.map +1 -1
- package/dist/tools/widgets/call_actor_widget.js +1 -4
- package/dist/tools/widgets/call_actor_widget.js.map +1 -1
- package/dist/tools/widgets/fetch_actor_details_widget.js +1 -4
- package/dist/tools/widgets/fetch_actor_details_widget.js.map +1 -1
- package/dist/tools/widgets/get_actor_run_widget.js +1 -4
- package/dist/tools/widgets/get_actor_run_widget.js.map +1 -1
- package/dist/tools/widgets/search_actors_widget.js +1 -4
- package/dist/tools/widgets/search_actors_widget.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.js +1 -4
- package/dist/types.js.map +1 -1
- package/dist/utils/actor.js +1 -4
- package/dist/utils/actor.js.map +1 -1
- package/dist/utils/actor_card.js +1 -4
- package/dist/utils/actor_card.js.map +1 -1
- package/dist/utils/actor_details.js +1 -4
- package/dist/utils/actor_details.js.map +1 -1
- package/dist/utils/actor_search.js +1 -4
- package/dist/utils/actor_search.js.map +1 -1
- package/dist/utils/ajv.js +1 -4
- package/dist/utils/ajv.js.map +1 -1
- package/dist/utils/apify_docs.js +1 -4
- package/dist/utils/apify_docs.js.map +1 -1
- package/dist/utils/apify_errors.js +1 -4
- package/dist/utils/apify_errors.js.map +1 -1
- package/dist/utils/apify_properties.js +1 -4
- package/dist/utils/apify_properties.js.map +1 -1
- package/dist/utils/auth.js +1 -4
- package/dist/utils/auth.js.map +1 -1
- package/dist/utils/console_link.js +1 -4
- package/dist/utils/console_link.js.map +1 -1
- package/dist/utils/encode_text.js +1 -4
- package/dist/utils/encode_text.js.map +1 -1
- package/dist/utils/generic.js +1 -4
- package/dist/utils/generic.js.map +1 -1
- package/dist/utils/logging.js +1 -4
- package/dist/utils/logging.js.map +1 -1
- package/dist/utils/mcp.d.ts +6 -0
- package/dist/utils/mcp.d.ts.map +1 -1
- package/dist/utils/mcp.js +16 -12
- package/dist/utils/mcp.js.map +1 -1
- package/dist/utils/mcp_clients.js +1 -4
- package/dist/utils/mcp_clients.js.map +1 -1
- package/dist/utils/payment_errors.js +1 -4
- package/dist/utils/payment_errors.js.map +1 -1
- package/dist/utils/pricing_info.js +1 -4
- package/dist/utils/pricing_info.js.map +1 -1
- package/dist/utils/progress.js +1 -4
- package/dist/utils/progress.js.map +1 -1
- package/dist/utils/schema_generation.js +1 -4
- package/dist/utils/schema_generation.js.map +1 -1
- package/dist/utils/server-instructions/index.d.ts.map +1 -1
- package/dist/utils/server-instructions/index.js +11 -4
- package/dist/utils/server-instructions/index.js.map +1 -1
- package/dist/utils/server_mode.js +1 -4
- package/dist/utils/server_mode.js.map +1 -1
- package/dist/utils/tool_categories_helpers.js +1 -4
- package/dist/utils/tool_categories_helpers.js.map +1 -1
- package/dist/utils/tool_status.js +1 -4
- package/dist/utils/tool_status.js.map +1 -1
- package/dist/utils/tools.js +1 -4
- package/dist/utils/tools.js.map +1 -1
- package/dist/utils/tools_loader.js +1 -4
- package/dist/utils/tools_loader.js.map +1 -1
- package/dist/utils/ttl_lru.js +1 -4
- package/dist/utils/ttl_lru.js.map +1 -1
- package/dist/utils/userid_cache.js +1 -4
- package/dist/utils/userid_cache.js.map +1 -1
- package/dist/utils/version.js +1 -4
- package/dist/utils/version.js.map +1 -1
- package/dist/web/dist/actor-detail-widget.js +0 -2
- package/dist/web/dist/actor-run-widget.js +0 -2
- package/dist/web/dist/search-actors-widget.js +0 -2
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +1 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { isAxiosError } from 'axios';
|
|
3
|
+
import { getApifyAPIBaseUrl } from '../apify_client.js';
|
|
4
|
+
import { MAX_INLINE_BYTES } from '../const.js';
|
|
5
|
+
import { parseBaseMimeType } from '../tools/storage/storage_helpers.js';
|
|
6
|
+
import { getHttpStatusCode, logHttpError } from '../utils/logging.js';
|
|
7
|
+
import { getHttpErrorHint } from '../utils/mcp.js';
|
|
8
|
+
const TEXT_MIME_TYPE = 'text/plain';
|
|
9
|
+
/** Textual base MIME types (returned as `text`); everything else becomes a base64 `blob`. */
|
|
10
|
+
function isTextualMimeType(baseMimeType) {
|
|
11
|
+
if (!baseMimeType)
|
|
12
|
+
return false;
|
|
13
|
+
return (baseMimeType.startsWith('text/') ||
|
|
14
|
+
baseMimeType === 'application/json' ||
|
|
15
|
+
baseMimeType.endsWith('+json') ||
|
|
16
|
+
baseMimeType === 'application/xml' ||
|
|
17
|
+
baseMimeType.endsWith('+xml') ||
|
|
18
|
+
baseMimeType === 'application/javascript');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Maps a failed read's HTTP status to a JSON-RPC error code:
|
|
22
|
+
* - 3xx/4xx except 429 → `InvalidParams` (the request/resource is the problem — bad URI, missing/invalid
|
|
23
|
+
* token, private resource, or a resource that does not exist; SEP-2164 remaps "nonexistent" here too).
|
|
24
|
+
* - 429, 5xx, or no status (network failure) → `InternalError` (transient or upstream).
|
|
25
|
+
*/
|
|
26
|
+
function getErrorCodeForStatus(status) {
|
|
27
|
+
if (status !== undefined && status < 500 && status !== 429)
|
|
28
|
+
return ErrorCode.InvalidParams;
|
|
29
|
+
return ErrorCode.InternalError;
|
|
30
|
+
}
|
|
31
|
+
/** Throw the standard resources/read failure McpError. Callers log the error first — the log source differs by site. */
|
|
32
|
+
function throwReadFailure(uri, status, message) {
|
|
33
|
+
const hint = getHttpErrorHint(status);
|
|
34
|
+
throw new McpError(getErrorCodeForStatus(status), `Failed to read ${uri}: ${status ? `HTTP ${status}: ` : ''}${message}${hint ? `. ${hint}` : ''}`, { uri });
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* True when the URI is an Apify API URL (same origin as the configured API base).
|
|
38
|
+
*
|
|
39
|
+
* This is the security gate for the generic read proxy: the apify-client attaches the
|
|
40
|
+
* session token as an `Authorization` header to every outbound request, so we must only
|
|
41
|
+
* hand it Apify API URLs — never an arbitrary host. Userinfo-bearing URLs
|
|
42
|
+
* (`user@api.apify.com`) are rejected even when the host is genuinely ours: axios drops
|
|
43
|
+
* the default `Authorization` header for credentials-bearing URLs, so the read would
|
|
44
|
+
* silently run unauthenticated.
|
|
45
|
+
*/
|
|
46
|
+
export function isApifyApiUri(uri) {
|
|
47
|
+
try {
|
|
48
|
+
const url = new URL(uri);
|
|
49
|
+
if (url.username || url.password)
|
|
50
|
+
return false;
|
|
51
|
+
return url.origin === new URL(getApifyAPIBaseUrl()).origin;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Matches an Apify key-value-store record path, capturing the store id and the record key.
|
|
59
|
+
* Both groups exclude `/?#` so a trailing query or fragment can't leak into the captured key.
|
|
60
|
+
*/
|
|
61
|
+
const KV_RECORD_PATH_RE = /^\/v2\/key-value-stores\/([^/?#]+)\/records\/([^/?#]+)$/;
|
|
62
|
+
/** `decodeURIComponent` that returns the input unchanged on malformed percent-encoding instead of throwing. */
|
|
63
|
+
function safeDecodeURIComponent(segment) {
|
|
64
|
+
try {
|
|
65
|
+
return decodeURIComponent(segment);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return segment;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Download URL for a body too large to inline. For a key-value-store record URI, returns the
|
|
73
|
+
* store's signed `recordPublicUrl` — fetchable without an API token when the client can read the
|
|
74
|
+
* store's URL signing key. Falls back to the original API URL for any other endpoint, or if minting
|
|
75
|
+
* the signed URL fails (fetching that link then needs a token).
|
|
76
|
+
*/
|
|
77
|
+
async function fetchRecordDownloadUrl(uri, apifyClient) {
|
|
78
|
+
let pathname;
|
|
79
|
+
try {
|
|
80
|
+
pathname = new URL(uri).pathname;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return uri;
|
|
84
|
+
}
|
|
85
|
+
const match = KV_RECORD_PATH_RE.exec(pathname);
|
|
86
|
+
if (!match)
|
|
87
|
+
return uri;
|
|
88
|
+
try {
|
|
89
|
+
const store = apifyClient.keyValueStore(safeDecodeURIComponent(match[1]));
|
|
90
|
+
return await store.getRecordPublicUrl(safeDecodeURIComponent(match[2]));
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
logHttpError(err, `Failed to mint signed download URL for ${uri}; falling back to API URL`);
|
|
94
|
+
return uri;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** Single text-contents result; pass `mimeType` to preserve a body's declared Content-Type. */
|
|
98
|
+
function buildTextResult(uri, text, mimeType = TEXT_MIME_TYPE) {
|
|
99
|
+
return { contents: [{ uri, mimeType, text }] };
|
|
100
|
+
}
|
|
101
|
+
/** True when the URI is a key-value-store record path (a single record, not a pageable list). */
|
|
102
|
+
function isKvRecordUri(uri) {
|
|
103
|
+
try {
|
|
104
|
+
return KV_RECORD_PATH_RE.test(new URL(uri).pathname);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** Body too large to inline: a download-pointer text result. NOT a failure — the resource is readable, just not inline. */
|
|
111
|
+
async function buildLinkOutResult(uri, apifyClient) {
|
|
112
|
+
const downloadUrl = await fetchRecordDownloadUrl(uri, apifyClient);
|
|
113
|
+
// A KVS record is a single object with no paging; only a dataset/list can shrink via limit/offset.
|
|
114
|
+
const pagingHint = isKvRecordUri(uri) ? '' : ' For a dataset/list, re-read with a smaller limit/offset range.';
|
|
115
|
+
return buildTextResult(uri, `Response body exceeds the ${MAX_INLINE_BYTES}-byte inline limit. Download it from ${downloadUrl} ` +
|
|
116
|
+
`(may require your Apify API token).${pagingHint}`);
|
|
117
|
+
}
|
|
118
|
+
/** The mid-consumption abort axios raises when a streamed body crosses `maxContentLength`. */
|
|
119
|
+
function isMaxContentLengthAbort(err) {
|
|
120
|
+
return isAxiosError(err) && err.code === 'ERR_BAD_RESPONSE' && err.message.includes('maxContentLength');
|
|
121
|
+
}
|
|
122
|
+
/** `charset` parameter of a Content-Type header, lowercased; `undefined` when absent. */
|
|
123
|
+
function parseCharset(contentType) {
|
|
124
|
+
const match = /;\s*charset\s*=\s*"?([^";]+)"?/i.exec(contentType !== null && contentType !== void 0 ? contentType : '');
|
|
125
|
+
return match === null || match === void 0 ? void 0 : match[1].trim().toLowerCase();
|
|
126
|
+
}
|
|
127
|
+
/** Drain a response stream into one Buffer. Chunks are Buffers (`objectMode: false`). */
|
|
128
|
+
async function collectStream(data) {
|
|
129
|
+
const chunks = [];
|
|
130
|
+
for await (const chunk of data) {
|
|
131
|
+
chunks.push(Buffer.from(chunk));
|
|
132
|
+
}
|
|
133
|
+
return Buffer.concat(chunks);
|
|
134
|
+
}
|
|
135
|
+
/** `error.message` from an Apify API error body, or `undefined` when the body isn't that shape. */
|
|
136
|
+
function parseApiErrorMessage(body) {
|
|
137
|
+
var _a;
|
|
138
|
+
if (!body || body.length === 0)
|
|
139
|
+
return undefined;
|
|
140
|
+
try {
|
|
141
|
+
const parsed = JSON.parse(body.toString('utf-8'));
|
|
142
|
+
return typeof ((_a = parsed === null || parsed === void 0 ? void 0 : parsed.error) === null || _a === void 0 ? void 0 : _a.message) === 'string' ? parsed.error.message : undefined;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Read any Apify API GET endpoint as an MCP resource.
|
|
150
|
+
*
|
|
151
|
+
* A thin streaming proxy: the apify-client injects the session token (and the MCP-origin header),
|
|
152
|
+
* the body streams in verbatim and is returned by its declared Content-Type — textual types
|
|
153
|
+
* (text/*, JSON, XML) as `text`, anything else as a base64 `blob`. The body is never parsed, so
|
|
154
|
+
* JSON primitives, formatting, and bytes round-trip exactly.
|
|
155
|
+
*
|
|
156
|
+
* Genuine failures (no token, bad origin, a missing resource, a bad token, a 5xx, a network error)
|
|
157
|
+
* throw an `McpError` so the SDK returns a JSON-RPC error rather than success-shaped content for an
|
|
158
|
+
* unreadable resource (see SEP-2164). A body over `MAX_INLINE_BYTES` is NOT a failure — it is a
|
|
159
|
+
* successful read returning a download pointer.
|
|
160
|
+
*
|
|
161
|
+
* The request goes straight through `apifyClient.httpClient.axios` (the same axios instance
|
|
162
|
+
* apify-client builds internally, so token/origin headers still apply) instead of
|
|
163
|
+
* `httpClient.call()`: with `responseType: 'stream'`, a non-2xx reaches `call()` as an unconsumed
|
|
164
|
+
* stream — its `ApifyApiError` message degrades to junk and each retry attempt strands an unread
|
|
165
|
+
* socket. One attempt, no retries. `maxContentLength` is enforced by axios itself mid-consumption
|
|
166
|
+
* (verified in axios@1.16.1: the adapter wraps streamed responses in a byte-counting generator
|
|
167
|
+
* that throws `ERR_BAD_RESPONSE` when the decoded size crosses the limit), so an oversized body
|
|
168
|
+
* is aborted at ~`MAX_INLINE_BYTES`, never buffered whole.
|
|
169
|
+
*/
|
|
170
|
+
export async function readApiResource(uri, apifyClient) {
|
|
171
|
+
var _a, _b;
|
|
172
|
+
if (!isApifyApiUri(uri)) {
|
|
173
|
+
throw new McpError(ErrorCode.InvalidParams, `Failed to read ${uri}: only Apify API URLs (${getApifyAPIBaseUrl()}) are readable as resources.`, { uri });
|
|
174
|
+
}
|
|
175
|
+
if (!apifyClient) {
|
|
176
|
+
throw new McpError(ErrorCode.InvalidParams, `Failed to read ${uri}: no Apify token in this session.`, {
|
|
177
|
+
uri,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
let response;
|
|
181
|
+
try {
|
|
182
|
+
// The raw axios instance skips `httpClient.call()` → `ensureNodeInit()`, so reads do NOT honor
|
|
183
|
+
// `HTTPS_PROXY` (auth + MCP-origin headers are instance defaults and still apply — not a leak).
|
|
184
|
+
// Fine for direct egress; a proxy-mandatory deployment needs an apify-client init hook.
|
|
185
|
+
response = await apifyClient.httpClient.axios.request({
|
|
186
|
+
url: uri,
|
|
187
|
+
method: 'GET',
|
|
188
|
+
responseType: 'stream',
|
|
189
|
+
maxContentLength: MAX_INLINE_BYTES,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
catch (err) {
|
|
193
|
+
logHttpError(err, `resources/read request failed`, { uri });
|
|
194
|
+
throwReadFailure(uri, getHttpStatusCode(err), err instanceof Error ? err.message : String(err));
|
|
195
|
+
}
|
|
196
|
+
let body;
|
|
197
|
+
let overLimit = false;
|
|
198
|
+
try {
|
|
199
|
+
body = await collectStream(response.data);
|
|
200
|
+
}
|
|
201
|
+
catch (err) {
|
|
202
|
+
if (isMaxContentLengthAbort(err)) {
|
|
203
|
+
overLimit = true;
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
// A drop mid-body (reset, truncation, bad gzip). Never return partial content.
|
|
207
|
+
logHttpError(err, `resources/read response interrupted`, { uri });
|
|
208
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
209
|
+
throw new McpError(ErrorCode.InternalError, `Failed to read ${uri}: response interrupted: ${message}`, {
|
|
210
|
+
uri,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
// `validateStatus: null` on this axios instance resolves non-2xx responses instead of throwing,
|
|
215
|
+
// so a failed request is checked here. The error body was just collected above (Apify API error
|
|
216
|
+
// bodies are small JSON; if one somehow crossed the limit, fall back to the status text).
|
|
217
|
+
if (response.status >= 300) {
|
|
218
|
+
const message = (_a = parseApiErrorMessage(body)) !== null && _a !== void 0 ? _a : response.statusText;
|
|
219
|
+
logHttpError(Object.assign(new Error(message), { statusCode: response.status }), `resources/read failed`, {
|
|
220
|
+
uri,
|
|
221
|
+
});
|
|
222
|
+
throwReadFailure(uri, response.status, message);
|
|
223
|
+
}
|
|
224
|
+
// Second clause is runtime-redundant (undefined ⟺ overLimit) but narrows `body` to Buffer below.
|
|
225
|
+
if (overLimit || body === undefined) {
|
|
226
|
+
return buildLinkOutResult(uri, apifyClient);
|
|
227
|
+
}
|
|
228
|
+
const contentTypeHeader = response.headers['content-type'];
|
|
229
|
+
const contentType = typeof contentTypeHeader === 'string' ? contentTypeHeader : undefined;
|
|
230
|
+
// Empty body → empty text preserving the declared Content-Type, matching get-key-value-store-record
|
|
231
|
+
// (even for a binary type: an empty blob carries no bytes).
|
|
232
|
+
if (body.length === 0) {
|
|
233
|
+
return buildTextResult(uri, '', contentType);
|
|
234
|
+
}
|
|
235
|
+
const baseMimeType = parseBaseMimeType(contentType);
|
|
236
|
+
const charset = (_b = parseCharset(contentType)) !== null && _b !== void 0 ? _b : 'utf-8';
|
|
237
|
+
// Decode with the DECLARED charset, not hardcoded UTF-8 — latin1 bytes decoded as UTF-8 mangle
|
|
238
|
+
// irreversibly to U+FFFD. A charset Node cannot decode falls through to the blob branch (lossless
|
|
239
|
+
// base64 beats text in a wrong encoding), the same rule as apify-client's body_parser. The full
|
|
240
|
+
// Content-Type — charset included — rides along on the text result.
|
|
241
|
+
if (isTextualMimeType(baseMimeType) && Buffer.isEncoding(charset)) {
|
|
242
|
+
return buildTextResult(uri, body.toString(charset), contentType);
|
|
243
|
+
}
|
|
244
|
+
// Binary or undecodable text: base MIME type only (parameters are meaningless for a blob).
|
|
245
|
+
return {
|
|
246
|
+
contents: [
|
|
247
|
+
{
|
|
248
|
+
uri,
|
|
249
|
+
...(baseMimeType && { mimeType: baseMimeType }),
|
|
250
|
+
blob: body.toString('base64'),
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=api_resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api_resources.js","sourceRoot":"","sources":["../../src/resources/api_resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ListResourcesResult, ListResourceTemplatesResult, ReadResourceResult, TextResourceContents } from '@modelcontextprotocol/sdk/types.js';
|
|
1
|
+
import type { BlobResourceContents, ListResourcesResult, ListResourceTemplatesResult, ReadResourceResult, TextResourceContents } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { ApifyClient } from '../apify_client.js';
|
|
2
3
|
import type { PaymentProvider } from '../payments/types.js';
|
|
3
4
|
import { SERVER_MODE } from '../types.js';
|
|
4
5
|
import type { AvailableWidget } from './widgets.js';
|
|
5
|
-
type ExtendedResourceContents = TextResourceContents & {
|
|
6
|
+
type ExtendedResourceContents = (TextResourceContents | BlobResourceContents) & {
|
|
6
7
|
html?: string;
|
|
7
8
|
_meta?: AvailableWidget['meta'];
|
|
8
9
|
};
|
|
@@ -11,7 +12,7 @@ type ExtendedReadResourceResult = Omit<ReadResourceResult, 'contents'> & {
|
|
|
11
12
|
};
|
|
12
13
|
type ResourceService = {
|
|
13
14
|
listResources: () => Promise<ListResourcesResult>;
|
|
14
|
-
readResource: (uri: string) => Promise<ExtendedReadResourceResult>;
|
|
15
|
+
readResource: (uri: string, apifyClient?: ApifyClient) => Promise<ExtendedReadResourceResult>;
|
|
15
16
|
listResourceTemplates: () => Promise<ListResourceTemplatesResult>;
|
|
16
17
|
};
|
|
17
18
|
type ResourceServiceOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_service.d.ts","sourceRoot":"","sources":["../../src/resources/resource_service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAElB,oBAAoB,EACvB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"resource_service.d.ts","sourceRoot":"","sources":["../../src/resources/resource_service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAElB,oBAAoB,EACvB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,KAAK,wBAAwB,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,GAAG;IAC5E,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,EAAE,WAAW,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC9F,qBAAqB,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACrE,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,WAAW,CAAC;IAC3B,mBAAmB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC3D,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CA0KtF"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="97a14883-cea9-5503-9e87-5524ff39b676")}catch(e){}}();
|
|
3
1
|
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
4
3
|
import log from '@apify/log';
|
|
4
|
+
import { getApifyAPIBaseUrl } from '../apify_client.js';
|
|
5
5
|
import { SERVER_MODE } from '../types.js';
|
|
6
|
+
import { readApiResource } from './api_resources.js';
|
|
6
7
|
import { RESOURCE_MIME_TYPE } from './widgets.js';
|
|
7
8
|
export function createResourceService(options) {
|
|
8
9
|
const { paymentProvider, getMode, getAvailableWidgets } = options;
|
|
@@ -34,8 +35,14 @@ export function createResourceService(options) {
|
|
|
34
35
|
}
|
|
35
36
|
return { resources };
|
|
36
37
|
};
|
|
37
|
-
const readResource = async (uri) => {
|
|
38
|
+
const readResource = async (uri, apifyClient) => {
|
|
38
39
|
var _a;
|
|
40
|
+
// Route every http(s) URI to the API proxy — it owns the single origin gate, so a
|
|
41
|
+
// non-Apify URL gets the explanatory origin refusal instead of the generic fallback.
|
|
42
|
+
if (/^https?:\/\//i.test(uri)) {
|
|
43
|
+
// API contents carry no widget `_meta`/`html`; the extended shape only adds optional fields.
|
|
44
|
+
return (await readApiResource(uri, apifyClient));
|
|
45
|
+
}
|
|
39
46
|
const usageGuide = (_a = paymentProvider === null || paymentProvider === void 0 ? void 0 : paymentProvider.getUsageGuide) === null || _a === void 0 ? void 0 : _a.call(paymentProvider);
|
|
40
47
|
if (usageGuide && uri === 'file://readme.md') {
|
|
41
48
|
return {
|
|
@@ -100,24 +107,59 @@ export function createResourceService(options) {
|
|
|
100
107
|
};
|
|
101
108
|
}
|
|
102
109
|
}
|
|
110
|
+
// A URI that is neither an http(s) URL, the usage guide, nor a served widget is not a
|
|
111
|
+
// readable resource — throw so the SDK returns a JSON-RPC error instead of success-shaped
|
|
112
|
+
// "not found" content (see SEP-2164 and src/resources/AGENTS.md).
|
|
113
|
+
throw new McpError(ErrorCode.InvalidParams, `Failed to read ${uri}: not a readable resource.`, { uri });
|
|
114
|
+
};
|
|
115
|
+
// Advertise the common URL shapes so clients that never surface the server instructions can
|
|
116
|
+
// still discover the read proxy and its paging parameters (RFC 6570 `{?var}` = query params).
|
|
117
|
+
// Advertisement only, NOT a route table: the read path stays a generic proxy, and any other
|
|
118
|
+
// Apify API GET URL is readable the same way.
|
|
119
|
+
const listResourceTemplates = async () => {
|
|
120
|
+
const api = getApifyAPIBaseUrl();
|
|
103
121
|
return {
|
|
104
|
-
|
|
122
|
+
resourceTemplates: [
|
|
105
123
|
{
|
|
106
|
-
|
|
124
|
+
uriTemplate: `${api}/v2/datasets/{datasetId}/items{?limit,offset,clean,fields,format}`,
|
|
125
|
+
name: 'dataset-items',
|
|
126
|
+
// No mimeType: `format` selects among 7 response types (json/jsonl/xml/html/csv/xlsx/rss),
|
|
127
|
+
// and the spec allows a template mimeType only when all matching resources share one.
|
|
128
|
+
description: 'Items of a dataset, read via resources/read (the server injects the Apify token). ' +
|
|
129
|
+
'Page with limit/offset; format defaults to JSON — responses inline up to 256 KB, ' +
|
|
130
|
+
'larger ones return a download URL.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
uriTemplate: `${api}/v2/key-value-stores/{storeId}/records/{recordKey}`,
|
|
134
|
+
name: 'key-value-store-record',
|
|
135
|
+
description: 'A single record, returned whole in its stored Content-Type via resources/read. ' +
|
|
136
|
+
'Not pageable — a record over 256 KB returns a download URL instead.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
uriTemplate: `${api}/v2/key-value-stores/{storeId}/keys{?limit,exclusiveStartKey}`,
|
|
140
|
+
name: 'key-value-store-keys',
|
|
141
|
+
description: 'Keys of a key-value store. Page with limit/exclusiveStartKey (not offset).',
|
|
142
|
+
mimeType: 'application/json',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
uriTemplate: `${api}/v2/actor-runs/{runId}`,
|
|
146
|
+
name: 'actor-run',
|
|
147
|
+
description: 'Metadata of an Actor run: status, storage IDs, usage.',
|
|
148
|
+
mimeType: 'application/json',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
uriTemplate: `${api}/v2/logs/{runId}`,
|
|
152
|
+
name: 'actor-run-log',
|
|
153
|
+
description: 'Log of an Actor run. Inlines up to 256 KB, larger returns a download URL.',
|
|
107
154
|
mimeType: 'text/plain',
|
|
108
|
-
text: `Resource ${uri} not found`,
|
|
109
155
|
},
|
|
110
156
|
],
|
|
111
157
|
};
|
|
112
158
|
};
|
|
113
|
-
const listResourceTemplates = async () => ({
|
|
114
|
-
resourceTemplates: [],
|
|
115
|
-
});
|
|
116
159
|
return {
|
|
117
160
|
listResources,
|
|
118
161
|
readResource,
|
|
119
162
|
listResourceTemplates,
|
|
120
163
|
};
|
|
121
164
|
}
|
|
122
|
-
//# sourceMappingURL=resource_service.js.map
|
|
123
|
-
//# debugId=97a14883-cea9-5503-9e87-5524ff39b676
|
|
165
|
+
//# sourceMappingURL=resource_service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_service.js","sources":["../../src/resources/resource_service.ts"],"
|
|
1
|
+
{"version":3,"file":"resource_service.js","sourceRoot":"","sources":["../../src/resources/resource_service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* This module manages widget configuration and validates that widget files exist
|
|
5
5
|
* at runtime.
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3a7deb00-0309-5790-b101-f9824b5b795e")}catch(e){}}();
|
|
9
7
|
import { existsSync } from 'node:fs';
|
|
10
8
|
import { resolve } from 'node:path';
|
|
11
9
|
import { RESOURCE_MIME_TYPE } from '@modelcontextprotocol/ext-apps';
|
|
@@ -142,5 +140,4 @@ export function buildActorRunWidgetMeta(descriptionName) {
|
|
|
142
140
|
'openai/widgetDescription': `Actor run progress for ${descriptionName}`,
|
|
143
141
|
};
|
|
144
142
|
}
|
|
145
|
-
//# sourceMappingURL=widgets.js.map
|
|
146
|
-
//# debugId=3a7deb00-0309-5790-b101-f9824b5b795e
|
|
143
|
+
//# sourceMappingURL=widgets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets.js","sources":["../../src/resources/widgets.ts"],"
|
|
1
|
+
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/resources/widgets.ts"],"names":[],"mappings":"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"}
|
package/dist/server_card.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="46b1adfd-049e-560b-b575-b7511b30d258")}catch(e){}}();
|
|
3
1
|
import { LATEST_PROTOCOL_VERSION } from '@modelcontextprotocol/sdk/types.js';
|
|
4
2
|
import { APIFY_DOCS_MCP_URL, APIFY_FAVICON_URL, APIFY_LOGO_URL, APIFY_MCP_URL, SERVER_NAME, SERVER_TITLE, } from './const.js';
|
|
5
3
|
import { readJsonFile } from './utils/generic.js';
|
|
@@ -50,5 +48,4 @@ export function getServerCard() {
|
|
|
50
48
|
tools: 'dynamic',
|
|
51
49
|
};
|
|
52
50
|
}
|
|
53
|
-
//# sourceMappingURL=server_card.js.map
|
|
54
|
-
//# debugId=46b1adfd-049e-560b-b575-b7511b30d258
|
|
51
|
+
//# sourceMappingURL=server_card.js.map
|
package/dist/server_card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_card.js","sources":["../src/server_card.ts"],"
|
|
1
|
+
{"version":3,"file":"server_card.js","sourceRoot":"","sources":["../src/server_card.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,OAAO,EACH,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,UAAU,GAAG,YAAY,CAA0B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;AAE5F,6FAA6F;AAC7F,MAAM,UAAU,aAAa;IACzB,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,iBAAiB,EAAG;QAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE;YACH;gBACI,GAAG,EAAE,cAAc;gBACnB,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,CAAC,SAAS,CAAC;aACrB;SACJ;KACJ,CAAC;AACN,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa;IACzB,OAAO;QACH,OAAO,EAAE,wEAAwE;QACjF,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,uBAAuB;QACxC,UAAU,EAAE;YACR,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,iBAAiB,EAAG;SAChC;QACD,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,OAAO,EAAE,iBAAiB;QAC1B,gBAAgB,EAAE,kBAAkB;QACpC,SAAS,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,GAAG;SAChB;QACD,YAAY,EAAE;YACV,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAC/B;QACD,cAAc,EAAE;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAChC;QACD,KAAK,EAAE,SAAS;KACnB,CAAC;AACN,CAAC"}
|
package/dist/state.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="07617ede-5afb-5a64-b875-5dbf9476128b")}catch(e){}}();
|
|
3
1
|
import { TTLLRUCache } from './utils/ttl_lru.js';
|
|
4
2
|
const ACTOR_CACHE_MAX_SIZE = 500;
|
|
5
3
|
const ACTOR_CACHE_TTL_SECS = 30 * 60; // 30 minutes
|
|
@@ -9,5 +7,4 @@ export const actorDefinitionCache = new TTLLRUCache(ACTOR_CACHE_MAX_SIZE, ACTOR_
|
|
|
9
7
|
export const searchApifyDocsCache = new TTLLRUCache(APIFY_DOCS_CACHE_MAX_SIZE, APIFY_DOCS_CACHE_TTL_SECS);
|
|
10
8
|
/** Stores processed Markdown content */
|
|
11
9
|
export const fetchApifyDocsCache = new TTLLRUCache(APIFY_DOCS_CACHE_MAX_SIZE, APIFY_DOCS_CACHE_TTL_SECS);
|
|
12
|
-
//# sourceMappingURL=state.js.map
|
|
13
|
-
//# debugId=07617ede-5afb-5a64-b875-5dbf9476128b
|
|
10
|
+
//# sourceMappingURL=state.js.map
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sources":["../src/state.ts"],"
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa;AACnD,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,WAAW,CAC/C,oBAAoB,EACpB,oBAAoB,CACvB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,WAAW,CAC/C,yBAAyB,EACzB,yBAAyB,CAC5B,CAAC;AACF,wCAAwC;AACxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,WAAW,CAAS,yBAAyB,EAAE,yBAAyB,CAAC,CAAC"}
|
package/dist/stdio.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7a19e7fc-6706-59df-9627-dd3352d05896")}catch(e){}}();
|
|
4
2
|
var _a;
|
|
5
3
|
// Sentry must be imported before all other modules to ensure early initialization
|
|
6
4
|
import './instrument.js';
|
|
@@ -202,5 +200,4 @@ main().catch(async (error) => {
|
|
|
202
200
|
await Sentry.flush(5000);
|
|
203
201
|
process.exit(1);
|
|
204
202
|
});
|
|
205
|
-
//# sourceMappingURL=stdio.js.map
|
|
206
|
-
//# debugId=7a19e7fc-6706-59df-9627-dd3352d05896
|
|
203
|
+
//# sourceMappingURL=stdio.js.map
|
package/dist/stdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio.js","sources":["../src/stdio.ts"],"
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":"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"}
|
package/dist/telemetry.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9f4b48f4-2828-51e6-92dc-fa2341a8762d")}catch(e){}}();
|
|
3
1
|
import * as crypto from 'node:crypto';
|
|
4
2
|
import { Analytics } from '@segment/analytics-node';
|
|
5
3
|
import log from '@apify/log';
|
|
@@ -120,5 +118,4 @@ export function trackReportedProblem(userId, telemetryEnv, properties) {
|
|
|
120
118
|
log.error('Failed to track reported problem event', { error, userId });
|
|
121
119
|
}
|
|
122
120
|
}
|
|
123
|
-
//# sourceMappingURL=telemetry.js.map
|
|
124
|
-
//# debugId=9f4b48f4-2828-51e6-92dc-fa2341a8762d
|
|
121
|
+
//# sourceMappingURL=telemetry.js.map
|
package/dist/telemetry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sources":["../src/telemetry.ts"],"
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d399e62d-1262-5590-838d-f04734549bb1")}catch(e){}}();
|
|
3
1
|
import { ACTOR_ENUM_MAX_LENGTH, ACTOR_MAX_DESCRIPTION_LENGTH, RAG_WEB_BROWSER_WHITELISTED_FIELDS } from '../const.js';
|
|
4
2
|
import { SchemaTooLargeError } from '../errors.js';
|
|
5
3
|
import { addGlobsProperties, addKeyValueProperties, addProxyProperties, addPseudoUrlsProperties, addRequestListSourcesProperties, addResourcePickerProperties as addArrayResourcePickerProperties, } from '../utils/apify_properties.js';
|
|
@@ -342,5 +340,4 @@ export function transformActorInputSchemaProperties(input) {
|
|
|
342
340
|
transformedProperties = encodeDotPropertyNames(transformedProperties);
|
|
343
341
|
return transformedProperties;
|
|
344
342
|
}
|
|
345
|
-
//# sourceMappingURL=actor_input_schema.js.map
|
|
346
|
-
//# debugId=d399e62d-1262-5590-838d-f04734549bb1
|
|
343
|
+
//# sourceMappingURL=actor_input_schema.js.map
|