// Actor input const

!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]="6cedd797-f074-5778-ac8d-bcda5600d2bb")}catch(e){}}();
export const ACTOR_README_MAX_LENGTH = 5000;
// Actor enum property max length, we need to make sure that most of the enum values fit into the input (such as geocodes)
export const ACTOR_ENUM_MAX_LENGTH = 2000;
export const ACTOR_MAX_DESCRIPTION_LENGTH = 500;
// Actor run const
export const ACTOR_MAX_MEMORY_MBYTES = 4096; // If the Actor requires 8GB of memory, free users can't run actors-mcp-server and requested Actor
// Tool output
/**
 * Usual tool output limit is 25k tokens where 1 token =~ 4 characters
 * thus 50k chars so we have some buffer because there was some issue with Claude code Actor call output token count.
 * This is primarily used for Actor tool call output, but we can then
 * reuse this in other tools as well.
 */
export const TOOL_MAX_OUTPUT_CHARS = 50000;
// MCP Server
/** When `false`, `resolveServerMode('auto', ...)` forces {@link ServerMode.DEFAULT} regardless of client capabilities. */
export const SERVER_MODE_AUTO_DETECTION_ENABLED = true;
export const SERVER_NAME = 'apify-mcp-server';
export const SERVER_TITLE = 'Apify MCP Server';
export var HelperTools;
(function (HelperTools) {
    HelperTools["ACTOR_ADD"] = "add-actor";
    HelperTools["ACTOR_CALL"] = "call-actor";
    HelperTools["ACTOR_CALL_WIDGET"] = "call-actor-widget";
    HelperTools["ACTOR_GET_DETAILS"] = "fetch-actor-details";
    HelperTools["ACTOR_GET_DETAILS_WIDGET"] = "fetch-actor-details-widget";
    HelperTools["ACTOR_OUTPUT_GET"] = "get-actor-output";
    HelperTools["ACTOR_RUNS_ABORT"] = "abort-actor-run";
    HelperTools["ACTOR_RUNS_GET"] = "get-actor-run";
    HelperTools["ACTOR_RUNS_GET_WIDGET"] = "get-actor-run-widget";
    HelperTools["ACTOR_RUNS_LOG"] = "get-actor-log";
    HelperTools["ACTOR_RUN_LIST_GET"] = "get-actor-run-list";
    HelperTools["DATASET_GET"] = "get-dataset";
    HelperTools["DATASET_LIST_GET"] = "get-dataset-list";
    HelperTools["DATASET_GET_ITEMS"] = "get-dataset-items";
    HelperTools["DATASET_SCHEMA_GET"] = "get-dataset-schema";
    HelperTools["KEY_VALUE_STORE_LIST_GET"] = "get-key-value-store-list";
    HelperTools["KEY_VALUE_STORE_GET"] = "get-key-value-store";
    HelperTools["KEY_VALUE_STORE_KEYS_GET"] = "get-key-value-store-keys";
    HelperTools["KEY_VALUE_STORE_RECORD_GET"] = "get-key-value-store-record";
    HelperTools["STORE_SEARCH"] = "search-actors";
    HelperTools["STORE_SEARCH_WIDGET"] = "search-actors-widget";
    HelperTools["DOCS_SEARCH"] = "search-apify-docs";
    HelperTools["DOCS_FETCH"] = "fetch-apify-docs";
})(HelperTools || (HelperTools = {}));
export const RAG_WEB_BROWSER = 'apify/rag-web-browser';
export const RAG_WEB_BROWSER_WHITELISTED_FIELDS = ['query', 'maxResults', 'outputFormats'];
export const RAG_WEB_BROWSER_ADDITIONAL_DESC = `Use this tool when user wants to GET or RETRIEVE actual data immediately (one-time data retrieval).
This tool directly fetches and returns data - it does NOT just find tools.

Examples of when to use:
- User wants current/immediate data (e.g., "Get flight prices for tomorrow", "What's the weather today?")
- User needs to fetch specific content now (e.g., "Fetch news articles from CNN", "Get product info from Amazon")
- User has time indicators like "today", "current", "latest", "recent", "now"

This is for general web scraping and immediate data needs. For repeated/scheduled scraping of specific platforms (e-commerce, social media), consider suggesting a specialized Actor from the Store for better performance and reliability.`;
export const defaults = {
    actors: [
        RAG_WEB_BROWSER,
    ],
};
// Cache
export const ACTOR_CACHE_MAX_SIZE = 500;
export const ACTOR_CACHE_TTL_SECS = 30 * 60; // 30 minutes
export const APIFY_DOCS_CACHE_MAX_SIZE = 500;
export const APIFY_DOCS_CACHE_TTL_SECS = 60 * 60; // 1 hour
export const MCP_SERVER_CACHE_MAX_SIZE = 500;
export const MCP_SERVER_CACHE_TTL_SECS = 30 * 60; // 30 minutes
export const USER_CACHE_MAX_SIZE = 200;
export const USER_CACHE_TTL_SECS = 60 * 60; // 1 hour
/** API rejects `includeInputSchema=true` above this; mirrors apify-core `MAX_LIMIT_WITH_INPUT_SCHEMA`. */
export const MAX_LIMIT_WITH_INPUT_SCHEMA = 10;
/** Max input fields shown inline in the text Actor card; structured output keeps the full schema. */
export const MAX_INPUT_FIELDS_IN_TEXT_CARD = 20;
export const ACTOR_PRICING_MODEL = {
    /** Rental Actors */
    FLAT_PRICE_PER_MONTH: 'FLAT_PRICE_PER_MONTH',
    FREE: 'FREE',
    /** Pay per result (PPR) Actors */
    PRICE_PER_DATASET_ITEM: 'PRICE_PER_DATASET_ITEM',
    /** Pay per event (PPE) Actors */
    PAY_PER_EVENT: 'PAY_PER_EVENT',
};
export const DOCS_SOURCES = [
    {
        id: 'apify',
        label: 'Apify',
        appId: 'N8EOCSBQGH',
        apiKey: 'e97714a64e2b4b8b8fe0b01cd8592870',
        indexName: 'test_test_apify_sdk',
        filters: 'version:latest',
        description: 'Apify Platform documentation including: Platform features, SDKs (JS, Python), CLI, '
            + 'REST API, Academy (web scraping fundamentals), Actor development and deployment',
    },
    {
        id: 'crawlee-js',
        label: 'Crawlee (JavaScript)',
        appId: '5JC94MPMLY',
        apiKey: '267679200b833c2ca1255ab276731869',
        indexName: 'crawlee',
        typeFilter: 'lvl1', // Filter to page-level results only (Docusaurus lvl1)
        facetFilters: ['language:en', ['docusaurus_tag:default', 'docusaurus_tag:docs-default-3.15']],
        description: 'Crawlee is a web scraping library for JavaScript. '
            + 'It handles blocking, crawling, proxies, and browsers for you.',
    },
    {
        id: 'crawlee-py',
        label: 'Crawlee (Python)',
        appId: '5JC94MPMLY',
        apiKey: '878493fcd7001e3c179b6db6796a999b',
        indexName: 'crawlee_python',
        typeFilter: 'lvl1', // Filter to page-level results only (Docusaurus lvl1)
        facetFilters: ['language:en', ['docusaurus_tag:docs-default-current']],
        description: 'Crawlee is a web scraping library for Python. '
            + 'It handles blocking, crawling, proxies, and browsers for you.',
    },
];
export const ALLOWED_DOC_DOMAINS = [
    'https://docs.apify.com',
    'https://crawlee.dev',
];
export const APIFY_STORE_URL = 'https://apify.com';
export const APIFY_FAVICON_URL = `${APIFY_STORE_URL}/favicon.ico`;
export const APIFY_MCP_URL = 'https://mcp.apify.com';
export const APIFY_DOCS_MCP_URL = 'https://docs.apify.com/platform/integrations/mcp';
// Telemetry
export const TELEMETRY_ENV = {
    DEV: 'DEV',
    PROD: 'PROD',
};
export const DEFAULT_TELEMETRY_ENABLED = true;
export const DEFAULT_TELEMETRY_ENV = TELEMETRY_ENV.PROD;
// Tool status
/**
 * Unified status constants for the tool execution lifecycle.
 * Single source of truth for all tool status values.
 */
export const TOOL_STATUS = {
    SUCCEEDED: 'SUCCEEDED',
    FAILED: 'FAILED',
    ABORTED: 'ABORTED',
    SOFT_FAIL: 'SOFT_FAIL',
};
export const FAILURE_CATEGORY = {
    INVALID_INPUT: 'INVALID_INPUT',
    AUTH: 'AUTH',
    PERMISSION_APPROVAL_REQUIRED: 'PERMISSION_APPROVAL_REQUIRED',
    INTERNAL_ERROR: 'INTERNAL_ERROR',
};
// Apify API error types
export const APIFY_ERROR_TYPE_FULL_PERMISSION_NOT_APPROVED = 'full-permission-actor-not-approved';
// HTTP status codes
export const HTTP_UNAUTHORIZED = 401;
export const HTTP_PAYMENT_REQUIRED = 402;
export const HTTP_FORBIDDEN = 403;
export const HTTP_NOT_FOUND = 404;
// Modes that allow long running task tool executions
export const ALLOWED_TASK_TOOL_EXECUTION_MODES = ['optional', 'required'];
// MCP _meta key for associating messages with a task.
// TODO: replace with RELATED_TASK_META_KEY from @modelcontextprotocol/sdk once the installed SDK exports it.
export const RELATED_TASK_META_KEY = 'io.modelcontextprotocol/related-task';
//# sourceMappingURL=const.js.map
//# debugId=6cedd797-f074-5778-ac8d-bcda5600d2bb
