import { executeConditions } from "./conditions.mjs"; import { ConsoleColors, ConsoleStyles, logCopilotKitPlatformMessage, logStyled, publicApiKeyRequired, styledConsole } from "./console-styling.mjs"; import { BANNER_ERROR_NAMES, COPILOT_CLOUD_ERROR_NAMES, ConfigurationError, CopilotKitAgentDiscoveryError, CopilotKitApiDiscoveryError, CopilotKitError, CopilotKitErrorCode, CopilotKitLowLevelError, CopilotKitMisuseError, CopilotKitRemoteEndpointDiscoveryError, CopilotKitVersionMismatchError, ERROR_CONFIG, ERROR_NAMES, ErrorVisibility, MissingPublicApiKeyError, ResolvedCopilotKitError, Severity, UpgradeRequiredError, ensureStructuredError, getPossibleVersionMismatch, isStructuredCopilotKitError } from "./errors.mjs"; import { actionParametersToJsonSchema, convertJsonSchemaToZodSchema, getZodParameters, jsonSchemaToActionParameters } from "./json-schema.mjs"; import { dataToUUID, isValidUUID, randomId, randomUUID } from "./random-id.mjs"; import { readBody } from "./requests.mjs"; //#region src/utils/index.ts /** * Safely parses a JSON string into an object * @param json The JSON string to parse * @param fallback Optional fallback value to return if parsing fails. If not provided or set to "unset", returns null * @returns The parsed JSON object, or the fallback value (or null) if parsing fails */ function parseJson(json, fallback = "unset") { try { return JSON.parse(json); } catch (e) { return fallback === "unset" ? null : fallback; } } /** * Maps an array of items to a new array, skipping items that throw errors during mapping * @param items The array to map * @param callback The mapping function to apply to each item * @returns A new array containing only the successfully mapped items */ function tryMap(items, callback) { return items.reduce((acc, item, index, array) => { try { acc.push(callback(item, index, array)); } catch (error) { console.error(error); } return acc; }, []); } /** * Checks if the current environment is macOS * @returns {boolean} True if running on macOS, false otherwise */ function isMacOS() { return /Mac|iMac|Macintosh/i.test(navigator.userAgent); } //#endregion export { isMacOS, parseJson, tryMap }; //# sourceMappingURL=index.mjs.map