48 lines
2.2 KiB
JavaScript
48 lines
2.2 KiB
JavaScript
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
|