@arizeai/phoenix-client
Version:
A client for the Phoenix API
34 lines • 1.16 kB
JavaScript
import invariant from "tiny-invariant";
import { createClient } from "../client.js";
import { GET_SESSION } from "../constants/serverRequirements.js";
import { ensureServerCapability } from "../utils/serverVersionUtils.js";
import { toSession } from "./sessionUtils.js";
/**
* 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);
* ```
*/
export async function getSession({ client: _client, sessionId, }) {
const client = _client || createClient();
await ensureServerCapability({ client, requirement: GET_SESSION });
const { data, error } = await client.GET("/v1/sessions/{session_identifier}", {
params: {
path: {
session_identifier: sessionId,
},
},
});
if (error)
throw error;
invariant(data?.data, "Failed to get session");
return toSession(data.data);
}
//# sourceMappingURL=getSession.js.map