@arizeai/phoenix-client
Version:
A client for the Phoenix API
51 lines • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeDefaultClientOptions = exports.defaultGetEnvironmentOptions = void 0;
const phoenix_config_1 = require("@arizeai/phoenix-config");
/**
* Convert a EnvironmentConfig object into a ClientOptions object.
*
* @param environment - The EnvironmentConfig object to convert.
* @returns The converted ClientOptions object.
*/
const phoenixEnvironmentToClientOptions = (environment) => {
var _a;
const options = {
baseUrl: environment.PHOENIX_HOST,
headers: Object.assign(Object.assign({}, ((_a = environment.PHOENIX_CLIENT_HEADERS) !== null && _a !== void 0 ? _a : {})), (environment.PHOENIX_API_KEY
? { Authorization: `Bearer ${environment.PHOENIX_API_KEY}` }
: {})),
};
// if headers is an empty object, delete it
if (options.headers && Object.keys(options.headers).length === 0) {
delete options.headers;
}
// filter out undefined values
// this will prevent clobbering over default values when merging
return Object.fromEntries(Object.entries(options).filter(([_, v]) => v !== undefined));
};
/**
* Get the environment options from the environment.
*
* @returns The environment options as a Partial<ClientOptions> object.
*/
const defaultGetEnvironmentOptions = () => {
// feature detect process and process.env
if (typeof process !== "object" || typeof process.env !== "object") {
return {};
}
return phoenixEnvironmentToClientOptions((0, phoenix_config_1.getEnvironmentConfig)());
};
exports.defaultGetEnvironmentOptions = defaultGetEnvironmentOptions;
/**
* Make the default client options.
*
* @returns The default client options as a Partial<ClientOptions> object.
*/
const makeDefaultClientOptions = () => {
return {
baseUrl: phoenix_config_1.DEFAULT_PHOENIX_BASE_URL,
};
};
exports.makeDefaultClientOptions = makeDefaultClientOptions;
//# sourceMappingURL=config.js.map