@arizeai/phoenix-client
Version:
A client for the Phoenix API
40 lines • 1.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSession = getSession;
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
const client_1 = require("../client");
const serverRequirements_1 = require("../constants/serverRequirements");
const serverVersionUtils_1 = require("../utils/serverVersionUtils");
const sessionUtils_1 = require("./sessionUtils");
/**
* Fetch a single session by its GlobalID or user-provided session_id string.
*
* @requires Phoenix server >= 13.5.0
*
* @example
* ```ts
* import { getSession } from "@arizeai/phoenix-client/sessions";
*
* const session = await getSession({ sessionId: "my-session-id" });
* console.log(session.traces.length);
* ```
*/
async function getSession({ client: _client, sessionId, }) {
const client = _client || (0, client_1.createClient)();
await (0, serverVersionUtils_1.ensureServerCapability)({ client, requirement: serverRequirements_1.GET_SESSION });
const { data, error } = await client.GET("/v1/sessions/{session_identifier}", {
params: {
path: {
session_identifier: sessionId,
},
},
});
if (error)
throw error;
(0, tiny_invariant_1.default)(data === null || data === void 0 ? void 0 : data.data, "Failed to get session");
return (0, sessionUtils_1.toSession)(data.data);
}
//# sourceMappingURL=getSession.js.map