@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.
Files changed (136) hide show
  1. package/dist/esm/__generated__/api/v1.d.ts +149 -0
  2. package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
  3. package/dist/esm/client.d.ts +16 -0
  4. package/dist/esm/client.d.ts.map +1 -1
  5. package/dist/esm/client.js +55 -0
  6. package/dist/esm/client.js.map +1 -1
  7. package/dist/esm/constants/serverRequirements.d.ts +28 -0
  8. package/dist/esm/constants/serverRequirements.d.ts.map +1 -0
  9. package/dist/esm/constants/serverRequirements.js +65 -0
  10. package/dist/esm/constants/serverRequirements.js.map +1 -0
  11. package/dist/esm/sessions/addSessionAnnotation.d.ts +2 -0
  12. package/dist/esm/sessions/addSessionAnnotation.d.ts.map +1 -1
  13. package/dist/esm/sessions/addSessionAnnotation.js +5 -0
  14. package/dist/esm/sessions/addSessionAnnotation.js.map +1 -1
  15. package/dist/esm/sessions/deleteSession.d.ts +2 -0
  16. package/dist/esm/sessions/deleteSession.d.ts.map +1 -1
  17. package/dist/esm/sessions/deleteSession.js +5 -0
  18. package/dist/esm/sessions/deleteSession.js.map +1 -1
  19. package/dist/esm/sessions/deleteSessions.d.ts +2 -0
  20. package/dist/esm/sessions/deleteSessions.d.ts.map +1 -1
  21. package/dist/esm/sessions/deleteSessions.js +5 -0
  22. package/dist/esm/sessions/deleteSessions.js.map +1 -1
  23. package/dist/esm/sessions/getSession.d.ts +2 -0
  24. package/dist/esm/sessions/getSession.d.ts.map +1 -1
  25. package/dist/esm/sessions/getSession.js +5 -0
  26. package/dist/esm/sessions/getSession.js.map +1 -1
  27. package/dist/esm/sessions/getSessionTurns.d.ts.map +1 -1
  28. package/dist/esm/sessions/getSessionTurns.js +1 -0
  29. package/dist/esm/sessions/getSessionTurns.js.map +1 -1
  30. package/dist/esm/sessions/listSessions.d.ts +2 -0
  31. package/dist/esm/sessions/listSessions.d.ts.map +1 -1
  32. package/dist/esm/sessions/listSessions.js +5 -0
  33. package/dist/esm/sessions/listSessions.js.map +1 -1
  34. package/dist/esm/sessions/logSessionAnnotations.d.ts +2 -0
  35. package/dist/esm/sessions/logSessionAnnotations.d.ts.map +1 -1
  36. package/dist/esm/sessions/logSessionAnnotations.js +5 -0
  37. package/dist/esm/sessions/logSessionAnnotations.js.map +1 -1
  38. package/dist/esm/spans/getSpans.d.ts +2 -0
  39. package/dist/esm/spans/getSpans.d.ts.map +1 -1
  40. package/dist/esm/spans/getSpans.js +7 -0
  41. package/dist/esm/spans/getSpans.js.map +1 -1
  42. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  43. package/dist/esm/types/semver.d.ts +3 -0
  44. package/dist/esm/types/semver.d.ts.map +1 -0
  45. package/dist/esm/types/semver.js +2 -0
  46. package/dist/esm/types/semver.js.map +1 -0
  47. package/dist/esm/types/serverRequirements.d.ts +39 -0
  48. package/dist/esm/types/serverRequirements.d.ts.map +1 -0
  49. package/dist/esm/types/serverRequirements.js +14 -0
  50. package/dist/esm/types/serverRequirements.js.map +1 -0
  51. package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
  52. package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
  53. package/dist/esm/utils/semverUtils.d.ts +21 -0
  54. package/dist/esm/utils/semverUtils.d.ts.map +1 -0
  55. package/dist/esm/utils/semverUtils.js +52 -0
  56. package/dist/esm/utils/semverUtils.js.map +1 -0
  57. package/dist/esm/utils/serverVersionUtils.d.ts +47 -0
  58. package/dist/esm/utils/serverVersionUtils.d.ts.map +1 -0
  59. package/dist/esm/utils/serverVersionUtils.js +64 -0
  60. package/dist/esm/utils/serverVersionUtils.js.map +1 -0
  61. package/dist/src/__generated__/api/v1.d.ts +149 -0
  62. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  63. package/dist/src/client.d.ts +16 -0
  64. package/dist/src/client.d.ts.map +1 -1
  65. package/dist/src/client.js +57 -2
  66. package/dist/src/client.js.map +1 -1
  67. package/dist/src/constants/serverRequirements.d.ts +28 -0
  68. package/dist/src/constants/serverRequirements.d.ts.map +1 -0
  69. package/dist/src/constants/serverRequirements.js +68 -0
  70. package/dist/src/constants/serverRequirements.js.map +1 -0
  71. package/dist/src/sessions/addSessionAnnotation.d.ts +2 -0
  72. package/dist/src/sessions/addSessionAnnotation.d.ts.map +1 -1
  73. package/dist/src/sessions/addSessionAnnotation.js +5 -0
  74. package/dist/src/sessions/addSessionAnnotation.js.map +1 -1
  75. package/dist/src/sessions/deleteSession.d.ts +2 -0
  76. package/dist/src/sessions/deleteSession.d.ts.map +1 -1
  77. package/dist/src/sessions/deleteSession.js +5 -0
  78. package/dist/src/sessions/deleteSession.js.map +1 -1
  79. package/dist/src/sessions/deleteSessions.d.ts +2 -0
  80. package/dist/src/sessions/deleteSessions.d.ts.map +1 -1
  81. package/dist/src/sessions/deleteSessions.js +5 -0
  82. package/dist/src/sessions/deleteSessions.js.map +1 -1
  83. package/dist/src/sessions/getSession.d.ts +2 -0
  84. package/dist/src/sessions/getSession.d.ts.map +1 -1
  85. package/dist/src/sessions/getSession.js +5 -0
  86. package/dist/src/sessions/getSession.js.map +1 -1
  87. package/dist/src/sessions/getSessionTurns.d.ts.map +1 -1
  88. package/dist/src/sessions/getSessionTurns.js +1 -0
  89. package/dist/src/sessions/getSessionTurns.js.map +1 -1
  90. package/dist/src/sessions/listSessions.d.ts +2 -0
  91. package/dist/src/sessions/listSessions.d.ts.map +1 -1
  92. package/dist/src/sessions/listSessions.js +5 -0
  93. package/dist/src/sessions/listSessions.js.map +1 -1
  94. package/dist/src/sessions/logSessionAnnotations.d.ts +2 -0
  95. package/dist/src/sessions/logSessionAnnotations.d.ts.map +1 -1
  96. package/dist/src/sessions/logSessionAnnotations.js +5 -0
  97. package/dist/src/sessions/logSessionAnnotations.js.map +1 -1
  98. package/dist/src/spans/getSpans.d.ts +2 -0
  99. package/dist/src/spans/getSpans.d.ts.map +1 -1
  100. package/dist/src/spans/getSpans.js +7 -0
  101. package/dist/src/spans/getSpans.js.map +1 -1
  102. package/dist/src/types/semver.d.ts +3 -0
  103. package/dist/src/types/semver.d.ts.map +1 -0
  104. package/dist/src/types/semver.js +3 -0
  105. package/dist/src/types/semver.js.map +1 -0
  106. package/dist/src/types/serverRequirements.d.ts +39 -0
  107. package/dist/src/types/serverRequirements.d.ts.map +1 -0
  108. package/dist/src/types/serverRequirements.js +15 -0
  109. package/dist/src/types/serverRequirements.js.map +1 -0
  110. package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
  111. package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
  112. package/dist/src/utils/semverUtils.d.ts +21 -0
  113. package/dist/src/utils/semverUtils.d.ts.map +1 -0
  114. package/dist/src/utils/semverUtils.js +57 -0
  115. package/dist/src/utils/semverUtils.js.map +1 -0
  116. package/dist/src/utils/serverVersionUtils.d.ts +47 -0
  117. package/dist/src/utils/serverVersionUtils.d.ts.map +1 -0
  118. package/dist/src/utils/serverVersionUtils.js +68 -0
  119. package/dist/src/utils/serverVersionUtils.js.map +1 -0
  120. package/dist/tsconfig.tsbuildinfo +1 -1
  121. package/package.json +1 -1
  122. package/src/__generated__/api/v1.ts +149 -0
  123. package/src/client.ts +61 -0
  124. package/src/constants/serverRequirements.ts +77 -0
  125. package/src/sessions/addSessionAnnotation.ts +5 -0
  126. package/src/sessions/deleteSession.ts +5 -0
  127. package/src/sessions/deleteSessions.ts +5 -0
  128. package/src/sessions/getSession.ts +5 -0
  129. package/src/sessions/getSessionTurns.ts +1 -0
  130. package/src/sessions/listSessions.ts +5 -0
  131. package/src/sessions/logSessionAnnotations.ts +5 -0
  132. package/src/spans/getSpans.ts +7 -0
  133. package/src/types/semver.ts +2 -0
  134. package/src/types/serverRequirements.ts +42 -0
  135. package/src/utils/semverUtils.ts +66 -0
  136. package/src/utils/serverVersionUtils.ts +79 -0
@@ -0,0 +1,3 @@
1
+ /** A semantic version triple: [major, minor, patch]. */
2
+ export type SemanticVersion = [number, number, number];
3
+ //# sourceMappingURL=semver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../../../src/types/semver.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=semver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.js","sourceRoot":"","sources":["../../../src/types/semver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Server capability requirements.
3
+ *
4
+ * A "capability" represents a specific server-side feature — such as an HTTP
5
+ * route or query parameter — that is gated behind a minimum Phoenix server
6
+ * version. Each {@link CapabilityRequirement} declares *what* the capability
7
+ * is and *which* server version first introduced it.
8
+ *
9
+ * The client checks these requirements at call time via
10
+ * {@link ensureServerCapability} so that callers get a clear, actionable error
11
+ * instead of an opaque 404 or 400 from an older server.
12
+ */
13
+ import type { SemanticVersion } from "./semver.js";
14
+ export interface RouteRequirement {
15
+ kind: "route";
16
+ /** HTTP method (e.g. "GET", "POST", "DELETE"). */
17
+ method: string;
18
+ /** URL path template (e.g. "/v1/sessions/{session_id}"). */
19
+ path: string;
20
+ /** Minimum Phoenix server version as [major, minor, patch]. */
21
+ minServerVersion: SemanticVersion;
22
+ /** Optional human-readable description override. */
23
+ description?: string;
24
+ }
25
+ export interface ParameterRequirement {
26
+ kind: "parameter";
27
+ /** Name of the query/path/header parameter. */
28
+ parameterName: string;
29
+ /** Location of the parameter (e.g. "query", "path", "header"). */
30
+ parameterLocation: string;
31
+ /** The route this parameter belongs to (e.g. "GET /v1/projects/{id}/spans"). */
32
+ route: string;
33
+ /** Minimum Phoenix server version as [major, minor, patch]. */
34
+ minServerVersion: SemanticVersion;
35
+ /** Optional human-readable description override. */
36
+ description?: string;
37
+ }
38
+ export type CapabilityRequirement = RouteRequirement | ParameterRequirement;
39
+ //# sourceMappingURL=serverRequirements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequirements.d.ts","sourceRoot":"","sources":["../../../src/types/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,gBAAgB,EAAE,eAAe,CAAC;IAClC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,gBAAgB,EAAE,eAAe,CAAC;IAClC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Server capability requirements.
3
+ *
4
+ * A "capability" represents a specific server-side feature — such as an HTTP
5
+ * route or query parameter — that is gated behind a minimum Phoenix server
6
+ * version. Each {@link CapabilityRequirement} declares *what* the capability
7
+ * is and *which* server version first introduced it.
8
+ *
9
+ * The client checks these requirements at call time via
10
+ * {@link ensureServerCapability} so that callers get a clear, actionable error
11
+ * instead of an opaque 404 or 400 from an older server.
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=serverRequirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequirements.js","sourceRoot":"","sources":["../../../src/types/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatPromptMessages.d.ts","sourceRoot":"","sources":["../../../src/utils/formatPromptMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGhF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,iBAAiB,EAAE,EACnC,SAAS,GAAE,SAAc;;;;;;;mBA4D6huG,uDAAsB;;;;;;;;;IAlB7kuG"}
1
+ {"version":3,"file":"formatPromptMessages.d.ts","sourceRoot":"","sources":["../../../src/utils/formatPromptMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGhF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,iBAAiB,EAAE,EACnC,SAAS,GAAE,SAAc;;;;;;;mBA4DmsvG,uDAAsB;;;;;;;;;IAlBnvvG"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPromptBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getPromptBySelector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,MAAM,GACP,EAAE,yBAAyB;;oBAkD+qsF,uDAAsB;;cAAkI,uDAAsB,yBAAwB,uDAAsB;mBAAoD,uDAAsB;qBAAoD,uDAAsB;2BAAqG,uDAAsB,uCAAsC,uDAAsB,4CAA2C,uDAAsB,0CAAyC,uDAAsB,uCAAsC,uDAAsB,yCAAwC,uDAAsB,oCAAmC,uDAAsB,uCAAsC,uDAAsB,oCAAmC,uDAAsB,yCAAwC,uDAAsB,0CAAyC,uDAAsB,qCAAoC,uDAAsB,yCAAwC,uDAAsB,2CAA0C,uDAAsB;YAA2D,uDAAsB;sBAAwF,uDAAsB;;UAD7ovF"}
1
+ {"version":3,"file":"getPromptBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getPromptBySelector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EAAE,OAAO,EACf,MAAM,GACP,EAAE,yBAAyB;;oBAkDq1tF,uDAAsB;;cAAkI,uDAAsB,yBAAwB,uDAAsB;mBAAoD,uDAAsB;qBAAoD,uDAAsB;2BAAqG,uDAAsB,uCAAsC,uDAAsB,4CAA2C,uDAAsB,0CAAyC,uDAAsB,uCAAsC,uDAAsB,yCAAwC,uDAAsB,oCAAmC,uDAAsB,uCAAsC,uDAAsB,oCAAmC,uDAAsB,yCAAwC,uDAAsB,0CAAyC,uDAAsB,qCAAoC,uDAAsB,yCAAwC,uDAAsB,2CAA0C,uDAAsB;YAA2D,uDAAsB;sBAAwF,uDAAsB;;UADnzwF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Lightweight semantic version utilities.
3
+ */
4
+ import type { SemanticVersion } from "../types/semver.js";
5
+ /**
6
+ * Parse a semver-like version string (e.g. "13.14.0") into a triple.
7
+ * Returns `null` if the string is not a valid version.
8
+ */
9
+ export declare function parseSemanticVersion(raw: string): SemanticVersion | null;
10
+ /**
11
+ * Format a `SemanticVersion` as a `"major.minor.patch"` string.
12
+ */
13
+ export declare function formatVersion(version: SemanticVersion): string;
14
+ /**
15
+ * Returns `true` if `version` is greater than or equal to `minVersion`.
16
+ */
17
+ export declare function satisfiesMinVersion({ version, minVersion, }: {
18
+ version: SemanticVersion;
19
+ minVersion: SemanticVersion;
20
+ }): boolean;
21
+ //# sourceMappingURL=semverUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semverUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/semverUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiBxE;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAE9D;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,UAAU,GACX,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,OAAO,CAQV"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Lightweight semantic version utilities.
3
+ */
4
+ // ---------------------------------------------------------------------------
5
+ // Parsing
6
+ // ---------------------------------------------------------------------------
7
+ /**
8
+ * Parse a semver-like version string (e.g. "13.14.0") into a triple.
9
+ * Returns `null` if the string is not a valid version.
10
+ */
11
+ export function parseSemanticVersion(raw) {
12
+ const parts = raw.trim().split(".");
13
+ if (parts.length < 3)
14
+ return null;
15
+ const major = parseInt(parts[0], 10);
16
+ const minor = parseInt(parts[1], 10);
17
+ const patch = parseInt(parts[2], 10);
18
+ if (Number.isNaN(major) ||
19
+ Number.isNaN(minor) ||
20
+ Number.isNaN(patch) ||
21
+ major < 0 ||
22
+ minor < 0 ||
23
+ patch < 0) {
24
+ return null;
25
+ }
26
+ return [major, minor, patch];
27
+ }
28
+ // ---------------------------------------------------------------------------
29
+ // Formatting
30
+ // ---------------------------------------------------------------------------
31
+ /**
32
+ * Format a `SemanticVersion` as a `"major.minor.patch"` string.
33
+ */
34
+ export function formatVersion(version) {
35
+ return `${version[0]}.${version[1]}.${version[2]}`;
36
+ }
37
+ // ---------------------------------------------------------------------------
38
+ // Comparison
39
+ // ---------------------------------------------------------------------------
40
+ /**
41
+ * Returns `true` if `version` is greater than or equal to `minVersion`.
42
+ */
43
+ export function satisfiesMinVersion({ version, minVersion, }) {
44
+ const [serverVersionMajor, serverVersionMinor, serverVersionPatch] = version;
45
+ const [minVersionMajor, minVersionMinor, minVersionPatch] = minVersion;
46
+ if (serverVersionMajor !== minVersionMajor)
47
+ return serverVersionMajor > minVersionMajor;
48
+ if (serverVersionMinor !== minVersionMinor)
49
+ return serverVersionMinor > minVersionMinor;
50
+ return serverVersionPatch >= minVersionPatch;
51
+ }
52
+ //# sourceMappingURL=semverUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semverUtils.js","sourceRoot":"","sources":["../../../src/utils/semverUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;IACtC,IACE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC,EACT,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,UAAU,GAIX;IACC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAAC;IAC7E,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,GAAG,UAAU,CAAC;IACvE,IAAI,kBAAkB,KAAK,eAAe;QACxC,OAAO,kBAAkB,GAAG,eAAe,CAAC;IAC9C,IAAI,kBAAkB,KAAK,eAAe;QACxC,OAAO,kBAAkB,GAAG,eAAe,CAAC;IAC9C,OAAO,kBAAkB,IAAI,eAAe,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,47 @@
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
+ import type { PhoenixClient } from "../client.js";
21
+ import type { CapabilityRequirement } from "../types/serverRequirements.js";
22
+ /**
23
+ * Derive a human-readable label from a structured capability requirement.
24
+ * Uses `description` if provided, otherwise auto-derives from metadata.
25
+ */
26
+ export declare function capabilityLabel(req: CapabilityRequirement): string;
27
+ /**
28
+ * Check the **Phoenix server version** before allowing a capability to proceed.
29
+ *
30
+ * Throws if the connected Phoenix server is older than the minimum version
31
+ * required by the given capability. Also throws if the server version cannot
32
+ * be determined — this typically means the server is too old to report its
33
+ * version at all and is therefore incompatible with this client.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * import { ensureServerCapability } from "../utils/serverVersionUtils.js";
38
+ * import { GET_SESSION } from "../constants/serverRequirements.js";
39
+ *
40
+ * await ensureServerCapability({ client, requirement: GET_SESSION });
41
+ * ```
42
+ */
43
+ export declare function ensureServerCapability({ client, requirement, }: {
44
+ client: PhoenixClient;
45
+ requirement: CapabilityRequirement;
46
+ }): Promise<void>;
47
+ //# sourceMappingURL=serverVersionUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverVersionUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/serverVersionUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAOzE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAQlE;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,MAAM,EACN,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,qBAAqB,CAAC;CACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB"}
@@ -0,0 +1,64 @@
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
+ import { formatVersion, satisfiesMinVersion } from "./semverUtils.js";
21
+ // ---------------------------------------------------------------------------
22
+ // Capability label
23
+ // ---------------------------------------------------------------------------
24
+ /**
25
+ * Derive a human-readable label from a structured capability requirement.
26
+ * Uses `description` if provided, otherwise auto-derives from metadata.
27
+ */
28
+ export function capabilityLabel(req) {
29
+ if (req.description)
30
+ return req.description;
31
+ switch (req.kind) {
32
+ case "route":
33
+ return `The ${req.method} ${req.path} route`;
34
+ case "parameter":
35
+ return `The '${req.parameterName}' ${req.parameterLocation} parameter on ${req.route}`;
36
+ }
37
+ }
38
+ // ---------------------------------------------------------------------------
39
+ // Guards
40
+ // ---------------------------------------------------------------------------
41
+ /**
42
+ * Check the **Phoenix server version** before allowing a capability to proceed.
43
+ *
44
+ * Throws if the connected Phoenix server is older than the minimum version
45
+ * required by the given capability. Also throws if the server version cannot
46
+ * be determined — this typically means the server is too old to report its
47
+ * version at all and is therefore incompatible with this client.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * import { ensureServerCapability } from "../utils/serverVersionUtils.js";
52
+ * import { GET_SESSION } from "../constants/serverRequirements.js";
53
+ *
54
+ * await ensureServerCapability({ client, requirement: GET_SESSION });
55
+ * ```
56
+ */
57
+ export async function ensureServerCapability({ client, requirement, }) {
58
+ const version = await client.getServerVersion();
59
+ if (!satisfiesMinVersion({ version, minVersion: requirement.minServerVersion })) {
60
+ throw new Error(`${capabilityLabel(requirement)} requires Phoenix server >= ${formatVersion(requirement.minServerVersion)}, ` +
61
+ `but connected to server ${formatVersion(version)}. Please upgrade your Phoenix server.`);
62
+ }
63
+ }
64
+ //# sourceMappingURL=serverVersionUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverVersionUtils.js","sourceRoot":"","sources":["../../../src/utils/serverVersionUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEnE,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAA0B;IACxD,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC,WAAW,CAAC;IAC5C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC;QAC/C,KAAK,WAAW;YACd,OAAO,QAAQ,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,iBAAiB,iBAAiB,GAAG,CAAC,KAAK,EAAE,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,MAAM,EACN,WAAW,GAIZ;IACC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAChD,IACE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,KAAK,CACb,GAAG,eAAe,CAAC,WAAW,CAAC,+BAA+B,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI;YAC3G,2BAA2B,aAAa,CAAC,OAAO,CAAC,uCAAuC,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -423,6 +423,23 @@ export interface paths {
423
423
  patch?: never;
424
424
  trace?: never;
425
425
  };
426
+ "/v1/projects/{project_identifier}/traces": {
427
+ parameters: {
428
+ query?: never;
429
+ header?: never;
430
+ path?: never;
431
+ cookie?: never;
432
+ };
433
+ /** List traces for a project */
434
+ get: operations["listProjectTraces"];
435
+ put?: never;
436
+ post?: never;
437
+ delete?: never;
438
+ options?: never;
439
+ head?: never;
440
+ patch?: never;
441
+ trace?: never;
442
+ };
426
443
  "/v1/trace_annotations": {
427
444
  parameters: {
428
445
  query?: never;
@@ -1561,6 +1578,13 @@ export interface components {
1561
1578
  /** Next Cursor */
1562
1579
  next_cursor: string | null;
1563
1580
  };
1581
+ /** GetTracesResponseBody */
1582
+ GetTracesResponseBody: {
1583
+ /** Data */
1584
+ data: components["schemas"]["TraceData"][];
1585
+ /** Next Cursor */
1586
+ next_cursor: string | null;
1587
+ };
1564
1588
  /** GetUsersResponseBody */
1565
1589
  GetUsersResponseBody: {
1566
1590
  /** Data */
@@ -3209,6 +3233,52 @@ export interface components {
3209
3233
  /** Next Cursor */
3210
3234
  next_cursor: string | null;
3211
3235
  };
3236
+ /** TraceData */
3237
+ TraceData: {
3238
+ /** Id */
3239
+ id: string;
3240
+ /** Trace Id */
3241
+ trace_id: string;
3242
+ /** Project Id */
3243
+ project_id: string;
3244
+ /**
3245
+ * Start Time
3246
+ * Format: date-time
3247
+ */
3248
+ start_time: string;
3249
+ /**
3250
+ * End Time
3251
+ * Format: date-time
3252
+ */
3253
+ end_time: string;
3254
+ /** Spans */
3255
+ spans?: components["schemas"]["TraceSpanData"][] | null;
3256
+ };
3257
+ /** TraceSpanData */
3258
+ TraceSpanData: {
3259
+ /** Id */
3260
+ id: string;
3261
+ /** Span Id */
3262
+ span_id: string;
3263
+ /** Parent Id */
3264
+ parent_id: string | null;
3265
+ /** Name */
3266
+ name: string;
3267
+ /** Span Kind */
3268
+ span_kind: string;
3269
+ /** Status Code */
3270
+ status_code: string;
3271
+ /**
3272
+ * Start Time
3273
+ * Format: date-time
3274
+ */
3275
+ start_time: string;
3276
+ /**
3277
+ * End Time
3278
+ * Format: date-time
3279
+ */
3280
+ end_time: string;
3281
+ };
3212
3282
  /** UpdateAnnotationConfigResponseBody */
3213
3283
  UpdateAnnotationConfigResponseBody: {
3214
3284
  /** Data */
@@ -3937,6 +4007,8 @@ export interface operations {
3937
4007
  "metadata_keys[]"?: string[];
3938
4008
  /** @description Column names for auto-assigning examples to splits */
3939
4009
  "split_keys[]"?: string[];
4010
+ /** @description Column names whose object values should be flattened into their selected bucket */
4011
+ "flatten_keys[]"?: string[];
3940
4012
  /** @description Column name for span IDs to link examples back to spans */
3941
4013
  span_id_key?: string;
3942
4014
  /** Format: binary */
@@ -4743,6 +4815,73 @@ export interface operations {
4743
4815
  };
4744
4816
  };
4745
4817
  };
4818
+ listProjectTraces: {
4819
+ parameters: {
4820
+ query?: {
4821
+ /** @description Inclusive lower bound on trace start time (ISO 8601) */
4822
+ start_time?: string | null;
4823
+ /** @description Exclusive upper bound on trace start time (ISO 8601) */
4824
+ end_time?: string | null;
4825
+ /** @description Sort field */
4826
+ sort?: "start_time" | "latency_ms";
4827
+ /** @description Sort direction */
4828
+ order?: "asc" | "desc";
4829
+ /** @description Maximum number of traces to return */
4830
+ limit?: number;
4831
+ /** @description Pagination cursor (Trace GlobalID) */
4832
+ cursor?: string | null;
4833
+ /** @description If true, include full span details for each trace. This significantly increases response size and query latency, especially with large page sizes. Prefer fetching spans lazily for individual traces when possible. */
4834
+ include_spans?: boolean;
4835
+ /** @description List of session identifiers to filter traces by. Each value can be either a session_id string or a session GlobalID. Only traces belonging to the specified sessions will be returned. */
4836
+ session_identifier?: string[] | null;
4837
+ };
4838
+ header?: never;
4839
+ path: {
4840
+ /** @description The project identifier: either project ID or project name. */
4841
+ project_identifier: string;
4842
+ };
4843
+ cookie?: never;
4844
+ };
4845
+ requestBody?: never;
4846
+ responses: {
4847
+ /** @description Successful Response */
4848
+ 200: {
4849
+ headers: {
4850
+ [name: string]: unknown;
4851
+ };
4852
+ content: {
4853
+ "application/json": components["schemas"]["GetTracesResponseBody"];
4854
+ };
4855
+ };
4856
+ /** @description Forbidden */
4857
+ 403: {
4858
+ headers: {
4859
+ [name: string]: unknown;
4860
+ };
4861
+ content: {
4862
+ "text/plain": string;
4863
+ };
4864
+ };
4865
+ /** @description Not Found */
4866
+ 404: {
4867
+ headers: {
4868
+ [name: string]: unknown;
4869
+ };
4870
+ content: {
4871
+ "text/plain": string;
4872
+ };
4873
+ };
4874
+ /** @description Unprocessable Entity */
4875
+ 422: {
4876
+ headers: {
4877
+ [name: string]: unknown;
4878
+ };
4879
+ content: {
4880
+ "text/plain": string;
4881
+ };
4882
+ };
4883
+ };
4884
+ };
4746
4885
  annotateTraces: {
4747
4886
  parameters: {
4748
4887
  query?: {
@@ -4860,6 +4999,10 @@ export interface operations {
4860
4999
  trace_id?: string[] | null;
4861
5000
  /** @description Filter by parent span ID. Use "null" to get root spans only. */
4862
5001
  parent_id?: string | null;
5002
+ /** @description Filter by span name(s) */
5003
+ name?: string[] | null;
5004
+ /** @description Filter by status code(s). Values: OK, ERROR, UNSET */
5005
+ status_code?: string[] | null;
4863
5006
  };
4864
5007
  header?: never;
4865
5008
  path: {
@@ -4923,6 +5066,12 @@ export interface operations {
4923
5066
  trace_id?: string[] | null;
4924
5067
  /** @description Filter by parent span ID. Use "null" to get root spans only. */
4925
5068
  parent_id?: string | null;
5069
+ /** @description Filter by span name(s) */
5070
+ name?: string[] | null;
5071
+ /** @description Filter by span kind(s). Values: LLM, CHAIN, TOOL, RETRIEVER, EMBEDDING, AGENT, RERANKER, GUARDRAIL, EVALUATOR, UNKNOWN */
5072
+ span_kind?: string[] | null;
5073
+ /** @description Filter by status code(s). Values: OK, ERROR, UNSET */
5074
+ status_code?: string[] | null;
4926
5075
  };
4927
5076
  header?: never;
4928
5077
  path: {