@arizeai/phoenix-client 6.4.0 → 6.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/__generated__/api/v1.d.ts +149 -0
- package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
- package/dist/esm/client.d.ts +16 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +55 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/constants/serverRequirements.d.ts +28 -0
- package/dist/esm/constants/serverRequirements.d.ts.map +1 -0
- package/dist/esm/constants/serverRequirements.js +65 -0
- package/dist/esm/constants/serverRequirements.js.map +1 -0
- package/dist/esm/sessions/addSessionAnnotation.d.ts +2 -0
- package/dist/esm/sessions/addSessionAnnotation.d.ts.map +1 -1
- package/dist/esm/sessions/addSessionAnnotation.js +5 -0
- package/dist/esm/sessions/addSessionAnnotation.js.map +1 -1
- package/dist/esm/sessions/deleteSession.d.ts +2 -0
- package/dist/esm/sessions/deleteSession.d.ts.map +1 -1
- package/dist/esm/sessions/deleteSession.js +5 -0
- package/dist/esm/sessions/deleteSession.js.map +1 -1
- package/dist/esm/sessions/deleteSessions.d.ts +2 -0
- package/dist/esm/sessions/deleteSessions.d.ts.map +1 -1
- package/dist/esm/sessions/deleteSessions.js +5 -0
- package/dist/esm/sessions/deleteSessions.js.map +1 -1
- package/dist/esm/sessions/getSession.d.ts +2 -0
- package/dist/esm/sessions/getSession.d.ts.map +1 -1
- package/dist/esm/sessions/getSession.js +5 -0
- package/dist/esm/sessions/getSession.js.map +1 -1
- package/dist/esm/sessions/getSessionTurns.d.ts.map +1 -1
- package/dist/esm/sessions/getSessionTurns.js +1 -0
- package/dist/esm/sessions/getSessionTurns.js.map +1 -1
- package/dist/esm/sessions/listSessions.d.ts +2 -0
- package/dist/esm/sessions/listSessions.d.ts.map +1 -1
- package/dist/esm/sessions/listSessions.js +5 -0
- package/dist/esm/sessions/listSessions.js.map +1 -1
- package/dist/esm/sessions/logSessionAnnotations.d.ts +2 -0
- package/dist/esm/sessions/logSessionAnnotations.d.ts.map +1 -1
- package/dist/esm/sessions/logSessionAnnotations.js +5 -0
- package/dist/esm/sessions/logSessionAnnotations.js.map +1 -1
- package/dist/esm/spans/getSpans.d.ts +2 -0
- package/dist/esm/spans/getSpans.d.ts.map +1 -1
- package/dist/esm/spans/getSpans.js +7 -0
- package/dist/esm/spans/getSpans.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types/semver.d.ts +3 -0
- package/dist/esm/types/semver.d.ts.map +1 -0
- package/dist/esm/types/semver.js +2 -0
- package/dist/esm/types/semver.js.map +1 -0
- package/dist/esm/types/serverRequirements.d.ts +39 -0
- package/dist/esm/types/serverRequirements.d.ts.map +1 -0
- package/dist/esm/types/serverRequirements.js +14 -0
- package/dist/esm/types/serverRequirements.js.map +1 -0
- package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/esm/utils/semverUtils.d.ts +21 -0
- package/dist/esm/utils/semverUtils.d.ts.map +1 -0
- package/dist/esm/utils/semverUtils.js +52 -0
- package/dist/esm/utils/semverUtils.js.map +1 -0
- package/dist/esm/utils/serverVersionUtils.d.ts +47 -0
- package/dist/esm/utils/serverVersionUtils.d.ts.map +1 -0
- package/dist/esm/utils/serverVersionUtils.js +64 -0
- package/dist/esm/utils/serverVersionUtils.js.map +1 -0
- package/dist/src/__generated__/api/v1.d.ts +149 -0
- package/dist/src/__generated__/api/v1.d.ts.map +1 -1
- package/dist/src/client.d.ts +16 -0
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +57 -2
- package/dist/src/client.js.map +1 -1
- package/dist/src/constants/serverRequirements.d.ts +28 -0
- package/dist/src/constants/serverRequirements.d.ts.map +1 -0
- package/dist/src/constants/serverRequirements.js +68 -0
- package/dist/src/constants/serverRequirements.js.map +1 -0
- package/dist/src/sessions/addSessionAnnotation.d.ts +2 -0
- package/dist/src/sessions/addSessionAnnotation.d.ts.map +1 -1
- package/dist/src/sessions/addSessionAnnotation.js +5 -0
- package/dist/src/sessions/addSessionAnnotation.js.map +1 -1
- package/dist/src/sessions/deleteSession.d.ts +2 -0
- package/dist/src/sessions/deleteSession.d.ts.map +1 -1
- package/dist/src/sessions/deleteSession.js +5 -0
- package/dist/src/sessions/deleteSession.js.map +1 -1
- package/dist/src/sessions/deleteSessions.d.ts +2 -0
- package/dist/src/sessions/deleteSessions.d.ts.map +1 -1
- package/dist/src/sessions/deleteSessions.js +5 -0
- package/dist/src/sessions/deleteSessions.js.map +1 -1
- package/dist/src/sessions/getSession.d.ts +2 -0
- package/dist/src/sessions/getSession.d.ts.map +1 -1
- package/dist/src/sessions/getSession.js +5 -0
- package/dist/src/sessions/getSession.js.map +1 -1
- package/dist/src/sessions/getSessionTurns.d.ts.map +1 -1
- package/dist/src/sessions/getSessionTurns.js +1 -0
- package/dist/src/sessions/getSessionTurns.js.map +1 -1
- package/dist/src/sessions/listSessions.d.ts +2 -0
- package/dist/src/sessions/listSessions.d.ts.map +1 -1
- package/dist/src/sessions/listSessions.js +5 -0
- package/dist/src/sessions/listSessions.js.map +1 -1
- package/dist/src/sessions/logSessionAnnotations.d.ts +2 -0
- package/dist/src/sessions/logSessionAnnotations.d.ts.map +1 -1
- package/dist/src/sessions/logSessionAnnotations.js +5 -0
- package/dist/src/sessions/logSessionAnnotations.js.map +1 -1
- package/dist/src/spans/getSpans.d.ts +2 -0
- package/dist/src/spans/getSpans.d.ts.map +1 -1
- package/dist/src/spans/getSpans.js +7 -0
- package/dist/src/spans/getSpans.js.map +1 -1
- package/dist/src/types/semver.d.ts +3 -0
- package/dist/src/types/semver.d.ts.map +1 -0
- package/dist/src/types/semver.js +3 -0
- package/dist/src/types/semver.js.map +1 -0
- package/dist/src/types/serverRequirements.d.ts +39 -0
- package/dist/src/types/serverRequirements.d.ts.map +1 -0
- package/dist/src/types/serverRequirements.js +15 -0
- package/dist/src/types/serverRequirements.js.map +1 -0
- package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
- package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
- package/dist/src/utils/semverUtils.d.ts +21 -0
- package/dist/src/utils/semverUtils.d.ts.map +1 -0
- package/dist/src/utils/semverUtils.js +57 -0
- package/dist/src/utils/semverUtils.js.map +1 -0
- package/dist/src/utils/serverVersionUtils.d.ts +47 -0
- package/dist/src/utils/serverVersionUtils.d.ts.map +1 -0
- package/dist/src/utils/serverVersionUtils.js +68 -0
- package/dist/src/utils/serverVersionUtils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/__generated__/api/v1.ts +149 -0
- package/src/client.ts +61 -0
- package/src/constants/serverRequirements.ts +77 -0
- package/src/sessions/addSessionAnnotation.ts +5 -0
- package/src/sessions/deleteSession.ts +5 -0
- package/src/sessions/deleteSessions.ts +5 -0
- package/src/sessions/getSession.ts +5 -0
- package/src/sessions/getSessionTurns.ts +1 -0
- package/src/sessions/listSessions.ts +5 -0
- package/src/sessions/logSessionAnnotations.ts +5 -0
- package/src/spans/getSpans.ts +7 -0
- package/src/types/semver.ts +2 -0
- package/src/types/serverRequirements.ts +42 -0
- package/src/utils/semverUtils.ts +66 -0
- package/src/utils/serverVersionUtils.ts +79 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phoenix server version utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides guards for capabilities that require a minimum Phoenix **server**
|
|
5
|
+
* version. The server version is detected from the
|
|
6
|
+
* `x-phoenix-server-version` response header or by calling
|
|
7
|
+
* `GET /arize_phoenix_version`.
|
|
8
|
+
*
|
|
9
|
+
* ## Capability guard pattern
|
|
10
|
+
*
|
|
11
|
+
* Each server-side feature that was introduced after the initial release is
|
|
12
|
+
* represented by a {@link CapabilityRequirement} constant (defined in
|
|
13
|
+
* `constants/serverRequirements`). Before calling such a feature, the client
|
|
14
|
+
* passes the requirement to {@link ensureServerCapability}, which compares the
|
|
15
|
+
* connected server's version against the requirement's minimum version and
|
|
16
|
+
* throws a descriptive error when the server is too old. This lets callers
|
|
17
|
+
* see *exactly* which feature is unavailable and which version they need,
|
|
18
|
+
* rather than receiving an opaque HTTP 404 or 400 response.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import type { PhoenixClient } from "../client";
|
|
22
|
+
import type { CapabilityRequirement } from "../types/serverRequirements";
|
|
23
|
+
import { formatVersion, satisfiesMinVersion } from "./semverUtils";
|
|
24
|
+
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Capability label
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Derive a human-readable label from a structured capability requirement.
|
|
31
|
+
* Uses `description` if provided, otherwise auto-derives from metadata.
|
|
32
|
+
*/
|
|
33
|
+
export function capabilityLabel(req: CapabilityRequirement): string {
|
|
34
|
+
if (req.description) return req.description;
|
|
35
|
+
switch (req.kind) {
|
|
36
|
+
case "route":
|
|
37
|
+
return `The ${req.method} ${req.path} route`;
|
|
38
|
+
case "parameter":
|
|
39
|
+
return `The '${req.parameterName}' ${req.parameterLocation} parameter on ${req.route}`;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
// Guards
|
|
45
|
+
// ---------------------------------------------------------------------------
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Check the **Phoenix server version** before allowing a capability to proceed.
|
|
49
|
+
*
|
|
50
|
+
* Throws if the connected Phoenix server is older than the minimum version
|
|
51
|
+
* required by the given capability. Also throws if the server version cannot
|
|
52
|
+
* be determined — this typically means the server is too old to report its
|
|
53
|
+
* version at all and is therefore incompatible with this client.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { ensureServerCapability } from "../utils/serverVersionUtils";
|
|
58
|
+
* import { GET_SESSION } from "../constants/serverRequirements";
|
|
59
|
+
*
|
|
60
|
+
* await ensureServerCapability({ client, requirement: GET_SESSION });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export async function ensureServerCapability({
|
|
64
|
+
client,
|
|
65
|
+
requirement,
|
|
66
|
+
}: {
|
|
67
|
+
client: PhoenixClient;
|
|
68
|
+
requirement: CapabilityRequirement;
|
|
69
|
+
}): Promise<void> {
|
|
70
|
+
const version = await client.getServerVersion();
|
|
71
|
+
if (
|
|
72
|
+
!satisfiesMinVersion({ version, minVersion: requirement.minServerVersion })
|
|
73
|
+
) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
`${capabilityLabel(requirement)} requires Phoenix server >= ${formatVersion(requirement.minServerVersion)}, ` +
|
|
76
|
+
`but connected to server ${formatVersion(version)}. Please upgrade your Phoenix server.`
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
}
|