/**
 * Timeout Constants
 * All "how long before we give up?" defaults.
 * Values in milliseconds.
 *
 * Philosophy: "Detect failure, not limit duration."
 * @see /in-progress/active-development/execution-engine-audit/timeout-strategy
 */

/** LLM API call timeout. Reasoning models + structured output take 60-180s. Matches SDK vendor default. */
export const DEFAULT_LLM_TIMEOUT = 600_000 // 10min

/** Tool execution timeout. Most HTTP tools complete in 5-30s. Integration tools that poll external services (e.g. Apify) may need up to 30min. */
export const DEFAULT_TOOL_TIMEOUT = 1_800_000 // 30min

/** Nested agent/workflow execution timeout. */
export const DEFAULT_RESOURCE_INVOCATION_TIMEOUT = 1_800_000 // 30min

/** Agent execution ceiling. Safety net for runaway loops. Override via constraints.timeout. */
export const DEFAULT_EXECUTION_TIMEOUT = 7_200_000 // 2hr
