@arizeai/phoenix-client 6.3.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 (147) 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 +72 -0
  28. package/dist/esm/sessions/getSessionTurns.d.ts.map +1 -0
  29. package/dist/esm/sessions/getSessionTurns.js +127 -0
  30. package/dist/esm/sessions/getSessionTurns.js.map +1 -0
  31. package/dist/esm/sessions/index.d.ts +1 -0
  32. package/dist/esm/sessions/index.d.ts.map +1 -1
  33. package/dist/esm/sessions/index.js +1 -0
  34. package/dist/esm/sessions/index.js.map +1 -1
  35. package/dist/esm/sessions/listSessions.d.ts +2 -0
  36. package/dist/esm/sessions/listSessions.d.ts.map +1 -1
  37. package/dist/esm/sessions/listSessions.js +5 -0
  38. package/dist/esm/sessions/listSessions.js.map +1 -1
  39. package/dist/esm/sessions/logSessionAnnotations.d.ts +2 -0
  40. package/dist/esm/sessions/logSessionAnnotations.d.ts.map +1 -1
  41. package/dist/esm/sessions/logSessionAnnotations.js +5 -0
  42. package/dist/esm/sessions/logSessionAnnotations.js.map +1 -1
  43. package/dist/esm/spans/getSpans.d.ts +2 -0
  44. package/dist/esm/spans/getSpans.d.ts.map +1 -1
  45. package/dist/esm/spans/getSpans.js +7 -0
  46. package/dist/esm/spans/getSpans.js.map +1 -1
  47. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  48. package/dist/esm/types/semver.d.ts +3 -0
  49. package/dist/esm/types/semver.d.ts.map +1 -0
  50. package/dist/esm/types/semver.js +2 -0
  51. package/dist/esm/types/semver.js.map +1 -0
  52. package/dist/esm/types/serverRequirements.d.ts +39 -0
  53. package/dist/esm/types/serverRequirements.d.ts.map +1 -0
  54. package/dist/esm/types/serverRequirements.js +14 -0
  55. package/dist/esm/types/serverRequirements.js.map +1 -0
  56. package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
  57. package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
  58. package/dist/esm/utils/semverUtils.d.ts +21 -0
  59. package/dist/esm/utils/semverUtils.d.ts.map +1 -0
  60. package/dist/esm/utils/semverUtils.js +52 -0
  61. package/dist/esm/utils/semverUtils.js.map +1 -0
  62. package/dist/esm/utils/serverVersionUtils.d.ts +47 -0
  63. package/dist/esm/utils/serverVersionUtils.d.ts.map +1 -0
  64. package/dist/esm/utils/serverVersionUtils.js +64 -0
  65. package/dist/esm/utils/serverVersionUtils.js.map +1 -0
  66. package/dist/src/__generated__/api/v1.d.ts +149 -0
  67. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  68. package/dist/src/client.d.ts +16 -0
  69. package/dist/src/client.d.ts.map +1 -1
  70. package/dist/src/client.js +57 -2
  71. package/dist/src/client.js.map +1 -1
  72. package/dist/src/constants/serverRequirements.d.ts +28 -0
  73. package/dist/src/constants/serverRequirements.d.ts.map +1 -0
  74. package/dist/src/constants/serverRequirements.js +68 -0
  75. package/dist/src/constants/serverRequirements.js.map +1 -0
  76. package/dist/src/sessions/addSessionAnnotation.d.ts +2 -0
  77. package/dist/src/sessions/addSessionAnnotation.d.ts.map +1 -1
  78. package/dist/src/sessions/addSessionAnnotation.js +5 -0
  79. package/dist/src/sessions/addSessionAnnotation.js.map +1 -1
  80. package/dist/src/sessions/deleteSession.d.ts +2 -0
  81. package/dist/src/sessions/deleteSession.d.ts.map +1 -1
  82. package/dist/src/sessions/deleteSession.js +5 -0
  83. package/dist/src/sessions/deleteSession.js.map +1 -1
  84. package/dist/src/sessions/deleteSessions.d.ts +2 -0
  85. package/dist/src/sessions/deleteSessions.d.ts.map +1 -1
  86. package/dist/src/sessions/deleteSessions.js +5 -0
  87. package/dist/src/sessions/deleteSessions.js.map +1 -1
  88. package/dist/src/sessions/getSession.d.ts +2 -0
  89. package/dist/src/sessions/getSession.d.ts.map +1 -1
  90. package/dist/src/sessions/getSession.js +5 -0
  91. package/dist/src/sessions/getSession.js.map +1 -1
  92. package/dist/src/sessions/getSessionTurns.d.ts +72 -0
  93. package/dist/src/sessions/getSessionTurns.d.ts.map +1 -0
  94. package/dist/src/sessions/getSessionTurns.js +124 -0
  95. package/dist/src/sessions/getSessionTurns.js.map +1 -0
  96. package/dist/src/sessions/index.d.ts +1 -0
  97. package/dist/src/sessions/index.d.ts.map +1 -1
  98. package/dist/src/sessions/index.js +1 -0
  99. package/dist/src/sessions/index.js.map +1 -1
  100. package/dist/src/sessions/listSessions.d.ts +2 -0
  101. package/dist/src/sessions/listSessions.d.ts.map +1 -1
  102. package/dist/src/sessions/listSessions.js +5 -0
  103. package/dist/src/sessions/listSessions.js.map +1 -1
  104. package/dist/src/sessions/logSessionAnnotations.d.ts +2 -0
  105. package/dist/src/sessions/logSessionAnnotations.d.ts.map +1 -1
  106. package/dist/src/sessions/logSessionAnnotations.js +5 -0
  107. package/dist/src/sessions/logSessionAnnotations.js.map +1 -1
  108. package/dist/src/spans/getSpans.d.ts +2 -0
  109. package/dist/src/spans/getSpans.d.ts.map +1 -1
  110. package/dist/src/spans/getSpans.js +7 -0
  111. package/dist/src/spans/getSpans.js.map +1 -1
  112. package/dist/src/types/semver.d.ts +3 -0
  113. package/dist/src/types/semver.d.ts.map +1 -0
  114. package/dist/src/types/semver.js +3 -0
  115. package/dist/src/types/semver.js.map +1 -0
  116. package/dist/src/types/serverRequirements.d.ts +39 -0
  117. package/dist/src/types/serverRequirements.d.ts.map +1 -0
  118. package/dist/src/types/serverRequirements.js +15 -0
  119. package/dist/src/types/serverRequirements.js.map +1 -0
  120. package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
  121. package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
  122. package/dist/src/utils/semverUtils.d.ts +21 -0
  123. package/dist/src/utils/semverUtils.d.ts.map +1 -0
  124. package/dist/src/utils/semverUtils.js +57 -0
  125. package/dist/src/utils/semverUtils.js.map +1 -0
  126. package/dist/src/utils/serverVersionUtils.d.ts +47 -0
  127. package/dist/src/utils/serverVersionUtils.d.ts.map +1 -0
  128. package/dist/src/utils/serverVersionUtils.js +68 -0
  129. package/dist/src/utils/serverVersionUtils.js.map +1 -0
  130. package/dist/tsconfig.tsbuildinfo +1 -1
  131. package/package.json +1 -1
  132. package/src/__generated__/api/v1.ts +149 -0
  133. package/src/client.ts +61 -0
  134. package/src/constants/serverRequirements.ts +77 -0
  135. package/src/sessions/addSessionAnnotation.ts +5 -0
  136. package/src/sessions/deleteSession.ts +5 -0
  137. package/src/sessions/deleteSessions.ts +5 -0
  138. package/src/sessions/getSession.ts +5 -0
  139. package/src/sessions/getSessionTurns.ts +220 -0
  140. package/src/sessions/index.ts +1 -0
  141. package/src/sessions/listSessions.ts +5 -0
  142. package/src/sessions/logSessionAnnotations.ts +5 -0
  143. package/src/spans/getSpans.ts +7 -0
  144. package/src/types/semver.ts +2 -0
  145. package/src/types/serverRequirements.ts +42 -0
  146. package/src/utils/semverUtils.ts +66 -0
  147. package/src/utils/serverVersionUtils.ts +79 -0
@@ -1,5 +1,10 @@
1
1
  import createOpenApiClient from "openapi-fetch";
2
2
  import { defaultGetEnvironmentOptions, makeDefaultClientOptions, } from "./config.js";
3
+ import { parseSemanticVersion } from "./utils/semverUtils.js";
4
+ /**
5
+ * The HTTP response header that carries the Phoenix server version string.
6
+ */
7
+ export const PHOENIX_SERVER_VERSION_HEADER = "x-phoenix-server-version";
3
8
  /**
4
9
  * Merge all configuration options according to priority:
5
10
  * defaults < environment < explicit options
@@ -55,10 +60,60 @@ const middleware = {
55
60
  export const createClient = (config = {}) => {
56
61
  const mergedOptions = getMergedOptions(config);
57
62
  const openApiClient = createOpenApiClient(mergedOptions);
63
+ // Lazily populated by versionMiddleware from the x-phoenix-server-version
64
+ // response header on the first successful API call. Read via getServerVersion().
65
+ let serverVersion;
66
+ const versionMiddleware = {
67
+ onResponse({ response }) {
68
+ if (serverVersion === undefined) {
69
+ const header = response.headers.get(PHOENIX_SERVER_VERSION_HEADER);
70
+ if (header) {
71
+ serverVersion = parseSemanticVersion(header);
72
+ }
73
+ }
74
+ },
75
+ };
76
+ openApiClient.use(versionMiddleware);
58
77
  openApiClient.use(middleware);
59
78
  return {
60
79
  ...openApiClient,
61
80
  config: mergedOptions,
81
+ /**
82
+ * Get the Phoenix server version, returning a cached value if available.
83
+ *
84
+ * The version is first populated from the `x-phoenix-server-version`
85
+ * response header on any API call. If no version has been seen yet,
86
+ * this method fetches `GET /arize_phoenix_version` to populate the cache.
87
+ *
88
+ * @throws {Error} If the server version cannot be determined (e.g. the
89
+ * server is unreachable or returned an unparseable version string).
90
+ */
91
+ getServerVersion: async () => {
92
+ if (serverVersion != null)
93
+ return serverVersion;
94
+ try {
95
+ const baseUrl = mergedOptions.baseUrl ?? "";
96
+ const headers = mergedOptions.headers
97
+ ? { ...mergedOptions.headers }
98
+ : {};
99
+ const resp = await fetch(`${baseUrl}/arize_phoenix_version`, {
100
+ headers,
101
+ });
102
+ if (resp.ok) {
103
+ const text = await resp.text();
104
+ const parsed = parseSemanticVersion(text);
105
+ if (parsed) {
106
+ serverVersion = parsed;
107
+ return serverVersion;
108
+ }
109
+ }
110
+ }
111
+ catch {
112
+ // fall through to throw below
113
+ }
114
+ throw new Error("Phoenix server version could not be determined. " +
115
+ "Please ensure you are connecting to a supported Phoenix server.");
116
+ },
62
117
  };
63
118
  };
64
119
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,mBAGN,MAAM,eAAe,CAAC;AAOvB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAiBlB;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,OAAO,GAAG,EAAE,EACZ,qBAAqB,GAAG,4BAA4B,MAIlD,EAAE,EAAiB,EAAE;IACvB,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,kBAAkB;QACrB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,GAAe;IAC7B,UAAU,CAAC,EAAE,QAAQ,EAAE;QACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,wFAAwF;YACxF,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAGI,EAAE,EACN,EAAE;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,mBAAmB,CAAU,aAAa,CAAC,CAAC;IAClE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,OAAO;QACL,GAAG,aAAa;QAChB,MAAM,EAAE,aAAa;KACtB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Known server capability requirements.
3
+ *
4
+ * Each constant below describes a single Phoenix server capability — an HTTP
5
+ * route or query parameter — together with the minimum server version that
6
+ * supports it. These constants are passed to
7
+ * {@link ensureServerCapability} at call time to produce a clear error when
8
+ * the connected server is too old.
9
+ *
10
+ * When a new version-gated capability is added to the Phoenix REST API, add a
11
+ * corresponding requirement constant here and reference it from the client
12
+ * function that uses it.
13
+ */
14
+ import type { CapabilityRequirement, ParameterRequirement, RouteRequirement } from "../types/serverRequirements.js";
15
+ export declare const GET_SESSION: RouteRequirement;
16
+ export declare const DELETE_SESSION: RouteRequirement;
17
+ export declare const DELETE_SESSIONS: RouteRequirement;
18
+ export declare const LIST_PROJECT_SESSIONS: RouteRequirement;
19
+ export declare const ANNOTATE_SESSIONS: RouteRequirement;
20
+ export declare const GET_SPANS_TRACE_IDS: ParameterRequirement;
21
+ /**
22
+ * Aggregate list of every known capability requirement.
23
+ *
24
+ * Useful for manifest scanning or startup diagnostics — iterate over this
25
+ * array to check which capabilities the connected server supports.
26
+ */
27
+ export declare const ALL_REQUIREMENTS: readonly CapabilityRequirement[];
28
+ //# sourceMappingURL=serverRequirements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequirements.d.ts","sourceRoot":"","sources":["../../../src/constants/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,WAAW,EAAE,gBAKzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,gBAK5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,gBAK7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAKnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBAK/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,oBAMjC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,qBAAqB,EAOnD,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Known server capability requirements.
3
+ *
4
+ * Each constant below describes a single Phoenix server capability — an HTTP
5
+ * route or query parameter — together with the minimum server version that
6
+ * supports it. These constants are passed to
7
+ * {@link ensureServerCapability} at call time to produce a clear error when
8
+ * the connected server is too old.
9
+ *
10
+ * When a new version-gated capability is added to the Phoenix REST API, add a
11
+ * corresponding requirement constant here and reference it from the client
12
+ * function that uses it.
13
+ */
14
+ export const GET_SESSION = {
15
+ kind: "route",
16
+ method: "GET",
17
+ path: "/v1/sessions/{session_id}",
18
+ minServerVersion: [13, 5, 0],
19
+ };
20
+ export const DELETE_SESSION = {
21
+ kind: "route",
22
+ method: "DELETE",
23
+ path: "/v1/sessions/{session_id}",
24
+ minServerVersion: [13, 13, 0],
25
+ };
26
+ export const DELETE_SESSIONS = {
27
+ kind: "route",
28
+ method: "POST",
29
+ path: "/v1/sessions/delete",
30
+ minServerVersion: [13, 13, 0],
31
+ };
32
+ export const LIST_PROJECT_SESSIONS = {
33
+ kind: "route",
34
+ method: "GET",
35
+ path: "/v1/projects/{project_id}/sessions",
36
+ minServerVersion: [13, 5, 0],
37
+ };
38
+ export const ANNOTATE_SESSIONS = {
39
+ kind: "route",
40
+ method: "POST",
41
+ path: "/v1/session_annotations",
42
+ minServerVersion: [12, 0, 0],
43
+ };
44
+ export const GET_SPANS_TRACE_IDS = {
45
+ kind: "parameter",
46
+ parameterName: "trace_id",
47
+ parameterLocation: "query",
48
+ route: "GET /v1/projects/{id}/spans",
49
+ minServerVersion: [13, 9, 0],
50
+ };
51
+ /**
52
+ * Aggregate list of every known capability requirement.
53
+ *
54
+ * Useful for manifest scanning or startup diagnostics — iterate over this
55
+ * array to check which capabilities the connected server supports.
56
+ */
57
+ export const ALL_REQUIREMENTS = [
58
+ GET_SESSION,
59
+ DELETE_SESSION,
60
+ DELETE_SESSIONS,
61
+ LIST_PROJECT_SESSIONS,
62
+ ANNOTATE_SESSIONS,
63
+ GET_SPANS_TRACE_IDS,
64
+ ];
65
+ //# sourceMappingURL=serverRequirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequirements.js","sourceRoot":"","sources":["../../../src/constants/serverRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,2BAA2B;IACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,2BAA2B;IACjC,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,qBAAqB;IAC3B,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,oCAAoC;IAC1C,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,yBAAyB;IAC/B,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,IAAI,EAAE,WAAW;IACjB,aAAa,EAAE,UAAU;IACzB,iBAAiB,EAAE,OAAO;IAC1B,KAAK,EAAE,6BAA6B;IACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,WAAW;IACX,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,iBAAiB;IACjB,mBAAmB;CACX,CAAC"}
@@ -21,6 +21,8 @@ export interface AddSessionAnnotationParams extends ClientFn {
21
21
  * @param params - The parameters to add a span annotation
22
22
  * @returns The ID of the created or updated annotation
23
23
  *
24
+ * @requires Phoenix server >= 12.0.0
25
+ *
24
26
  * @example
25
27
  * ```ts
26
28
  * const result = await addSessionAnnotation({
@@ -1 +1 @@
1
- {"version":3,"file":"addSessionAnnotation.d.ts","sourceRoot":"","sources":["../../../src/sessions/addSessionAnnotation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,QAAQ;IAC1D,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EAAE,OAAO,EACf,iBAAiB,EACjB,IAAY,GACb,EAAE,0BAA0B,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAiB7D"}
1
+ {"version":3,"file":"addSessionAnnotation.d.ts","sourceRoot":"","sources":["../../../src/sessions/addSessionAnnotation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,QAAQ;IAC1D,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EAAE,OAAO,EACf,iBAAiB,EACjB,IAAY,GACb,EAAE,0BAA0B,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkB7D"}
@@ -1,4 +1,6 @@
1
1
  import { createClient } from "../client.js";
2
+ import { ANNOTATE_SESSIONS } from "../constants/serverRequirements.js";
3
+ import { ensureServerCapability } from "../utils/serverVersionUtils.js";
2
4
  import { toSessionAnnotationData } from "./types.js";
3
5
  /**
4
6
  * Add an annotation to a session.
@@ -9,6 +11,8 @@ import { toSessionAnnotationData } from "./types.js";
9
11
  * @param params - The parameters to add a span annotation
10
12
  * @returns The ID of the created or updated annotation
11
13
  *
14
+ * @requires Phoenix server >= 12.0.0
15
+ *
12
16
  * @example
13
17
  * ```ts
14
18
  * const result = await addSessionAnnotation({
@@ -28,6 +32,7 @@ import { toSessionAnnotationData } from "./types.js";
28
32
  */
29
33
  export async function addSessionAnnotation({ client: _client, sessionAnnotation, sync = false, }) {
30
34
  const client = _client ?? createClient();
35
+ await ensureServerCapability({ client, requirement: ANNOTATE_SESSIONS });
31
36
  const { data, error } = await client.POST("/v1/session_annotations", {
32
37
  params: {
33
38
  query: { sync },
@@ -1 +1 @@
1
- {"version":3,"file":"addSessionAnnotation.js","sourceRoot":"","sources":["../../../src/sessions/addSessionAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAelD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,MAAM,EAAE,OAAO,EACf,iBAAiB,EACjB,IAAI,GAAG,KAAK,GACe;IAC3B,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IAEzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;QACnE,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;SACnD;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"addSessionAnnotation.js","sourceRoot":"","sources":["../../../src/sessions/addSessionAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAelD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,MAAM,EAAE,OAAO,EACf,iBAAiB,EACjB,IAAI,GAAG,KAAK,GACe;IAC3B,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEzE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;QACnE,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE;SAChB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;SACnD;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC"}
@@ -22,6 +22,8 @@ export interface DeleteSessionParams extends ClientFn {
22
22
  * @returns Promise that resolves when the session is successfully deleted
23
23
  * @throws Error if the session is not found or deletion fails
24
24
  *
25
+ * @requires Phoenix server >= 13.13.0
26
+ *
25
27
  * @example
26
28
  * ```ts
27
29
  * // Delete by user-provided session ID
@@ -1 +1 @@
1
- {"version":3,"file":"deleteSession.d.ts","sourceRoot":"","sources":["../../../src/sessions/deleteSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,SAAS,GACV,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BrC"}
1
+ {"version":3,"file":"deleteSession.d.ts","sourceRoot":"","sources":["../../../src/sessions/deleteSession.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,SAAS,GACV,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BrC"}
@@ -1,4 +1,6 @@
1
1
  import { createClient } from "../client.js";
2
+ import { DELETE_SESSION } from "../constants/serverRequirements.js";
3
+ import { ensureServerCapability } from "../utils/serverVersionUtils.js";
2
4
  /**
3
5
  * Delete a single session by ID.
4
6
  *
@@ -11,6 +13,8 @@ import { createClient } from "../client.js";
11
13
  * @returns Promise that resolves when the session is successfully deleted
12
14
  * @throws Error if the session is not found or deletion fails
13
15
  *
16
+ * @requires Phoenix server >= 13.13.0
17
+ *
14
18
  * @example
15
19
  * ```ts
16
20
  * // Delete by user-provided session ID
@@ -28,6 +32,7 @@ import { createClient } from "../client.js";
28
32
  */
29
33
  export async function deleteSession({ client: _client, sessionId, }) {
30
34
  const client = _client ?? createClient();
35
+ await ensureServerCapability({ client, requirement: DELETE_SESSION });
31
36
  const { error } = await client.DELETE("/v1/sessions/{session_identifier}", {
32
37
  params: {
33
38
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"deleteSession.js","sourceRoot":"","sources":["../../../src/sessions/deleteSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAezC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,SAAS,GACW;IACpB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IAEzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE;QACzE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,kBAAkB,EAAE,SAAS;aAC9B;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GACd,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"deleteSession.js","sourceRoot":"","sources":["../../../src/sessions/deleteSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAcrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,SAAS,GACW;IACpB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAEtE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE;QACzE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,kBAAkB,EAAE,SAAS;aAC9B;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GACd,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
@@ -25,6 +25,8 @@ export interface DeleteSessionsParams extends ClientFn {
25
25
  * @returns Promise that resolves when the sessions are successfully deleted
26
26
  * @throws Error if identifiers are mixed types or deletion fails
27
27
  *
28
+ * @requires Phoenix server >= 13.13.0
29
+ *
28
30
  * @example
29
31
  * ```ts
30
32
  * // Delete by user-provided session IDs
@@ -1 +1 @@
1
- {"version":3,"file":"deleteSessions.d.ts","sourceRoot":"","sources":["../../../src/sessions/deleteSessions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBtC"}
1
+ {"version":3,"file":"deleteSessions.d.ts","sourceRoot":"","sources":["../../../src/sessions/deleteSessions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtC"}
@@ -1,4 +1,6 @@
1
1
  import { createClient } from "../client.js";
2
+ import { DELETE_SESSIONS } from "../constants/serverRequirements.js";
3
+ import { ensureServerCapability } from "../utils/serverVersionUtils.js";
2
4
  /**
3
5
  * Delete multiple sessions by their identifiers.
4
6
  *
@@ -12,6 +14,8 @@ import { createClient } from "../client.js";
12
14
  * @returns Promise that resolves when the sessions are successfully deleted
13
15
  * @throws Error if identifiers are mixed types or deletion fails
14
16
  *
17
+ * @requires Phoenix server >= 13.13.0
18
+ *
15
19
  * @example
16
20
  * ```ts
17
21
  * // Delete by user-provided session IDs
@@ -29,6 +33,7 @@ import { createClient } from "../client.js";
29
33
  */
30
34
  export async function deleteSessions({ client: _client, sessionIds, }) {
31
35
  const client = _client ?? createClient();
36
+ await ensureServerCapability({ client, requirement: DELETE_SESSIONS });
32
37
  const { error } = await client.POST("/v1/sessions/delete", {
33
38
  body: {
34
39
  session_identifiers: sessionIds,
@@ -1 +1 @@
1
- {"version":3,"file":"deleteSessions.js","sourceRoot":"","sources":["../../../src/sessions/deleteSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAiBzC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,UAAU,GACW;IACrB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IAEzC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACzD,IAAI,EAAE;YACJ,mBAAmB,EAAE,UAAU;SAChC;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"deleteSessions.js","sourceRoot":"","sources":["../../../src/sessions/deleteSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAgBrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,UAAU,GACW;IACrB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;IAEvE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACzD,IAAI,EAAE;YACJ,mBAAmB,EAAE,UAAU;SAChC;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YACzC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -9,6 +9,8 @@ export type GetSessionParams = ClientFn & {
9
9
  /**
10
10
  * Fetch a single session by its GlobalID or user-provided session_id string.
11
11
  *
12
+ * @requires Phoenix server >= 13.5.0
13
+ *
12
14
  * @example
13
15
  * ```ts
14
16
  * import { getSession } from "@arizeai/phoenix-client/sessions";
@@ -1 +1 @@
1
- {"version":3,"file":"getSession.d.ts","sourceRoot":"","sources":["../../../src/sessions/getSession.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,SAAS,GACV,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAerC"}
1
+ {"version":3,"file":"getSession.d.ts","sourceRoot":"","sources":["../../../src/sessions/getSession.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,SAAS,GACV,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBrC"}
@@ -1,9 +1,13 @@
1
1
  import invariant from "tiny-invariant";
2
2
  import { createClient } from "../client.js";
3
+ import { GET_SESSION } from "../constants/serverRequirements.js";
4
+ import { ensureServerCapability } from "../utils/serverVersionUtils.js";
3
5
  import { toSession } from "./sessionUtils.js";
4
6
  /**
5
7
  * Fetch a single session by its GlobalID or user-provided session_id string.
6
8
  *
9
+ * @requires Phoenix server >= 13.5.0
10
+ *
7
11
  * @example
8
12
  * ```ts
9
13
  * import { getSession } from "@arizeai/phoenix-client/sessions";
@@ -14,6 +18,7 @@ import { toSession } from "./sessionUtils.js";
14
18
  */
15
19
  export async function getSession({ client: _client, sessionId, }) {
16
20
  const client = _client || createClient();
21
+ await ensureServerCapability({ client, requirement: GET_SESSION });
17
22
  const { data, error } = await client.GET("/v1/sessions/{session_identifier}", {
18
23
  params: {
19
24
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"getSession.js","sourceRoot":"","sources":["../../../src/sessions/getSession.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAS3C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,SAAS,GACQ;IACjB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CACtC,mCAAmC,EACnC;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,kBAAkB,EAAE,SAAS;aAC9B;SACF;KACF,CACF,CAAC;IACF,IAAI,KAAK;QAAE,MAAM,KAAK,CAAC;IACvB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"getSession.js","sourceRoot":"","sources":["../../../src/sessions/getSession.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAS3C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,SAAS,GACQ;IACjB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,sBAAsB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;IACnE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CACtC,mCAAmC,EACnC;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,kBAAkB,EAAE,SAAS;aAC9B;SACF;KACF,CACF,CAAC;IACF,IAAI,KAAK;QAAE,MAAM,KAAK,CAAC;IACvB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,72 @@
1
+ import type { components } from "../__generated__/api/v1.js";
2
+ import type { ClientFn } from "../types/core.js";
3
+ type Span = components["schemas"]["Span"];
4
+ /**
5
+ * Input or output extracted from a root span's attributes.
6
+ *
7
+ * @experimental this interface is experimental and may change in the future
8
+ */
9
+ export interface SessionTurnIO {
10
+ /** The string value of the input or output */
11
+ value: string;
12
+ /** Optional MIME type (e.g. "text/plain", "application/json") */
13
+ mimeType?: string;
14
+ }
15
+ /**
16
+ * A single turn in a session, representing one trace's root span input/output.
17
+ *
18
+ * **Note:** A "turn" is derived from a trace's root span. For input/output to appear,
19
+ * the root span must have `input.value` and `output.value` attributes set
20
+ * (per OpenInference semantic conventions). This typically requires instrumentation
21
+ * that records these attributes on the top-level span.
22
+ *
23
+ * @experimental this interface is experimental and may change in the future
24
+ */
25
+ export interface SessionTurn {
26
+ /** The trace ID for this turn */
27
+ traceId: string;
28
+ /** ISO 8601 timestamp of when the trace started */
29
+ startTime: string;
30
+ /** ISO 8601 timestamp of when the trace ended */
31
+ endTime: string;
32
+ /** Input extracted from the root span's attributes */
33
+ input?: SessionTurnIO;
34
+ /** Output extracted from the root span's attributes */
35
+ output?: SessionTurnIO;
36
+ /** The full root span, if found */
37
+ rootSpan?: Span;
38
+ }
39
+ /**
40
+ * @experimental this interface is experimental and may change in the future
41
+ */
42
+ export interface GetSessionTurnsParams extends ClientFn {
43
+ /** The session identifier: either a GlobalID or user-provided session_id string. */
44
+ sessionId: string;
45
+ }
46
+ /**
47
+ * Get the turns (root span I/O) for a session.
48
+ *
49
+ * Returns input/output extracted from root spans for each trace, along with
50
+ * the full root span. Turns are ordered by trace start_time.
51
+ *
52
+ * **Note:** A "turn" is derived from a trace's root span. For input/output to appear,
53
+ * the root span must have `input.value` and `output.value` attributes set
54
+ * (per OpenInference semantic conventions). This typically requires instrumentation
55
+ * that records these attributes on the top-level span.
56
+ *
57
+ * @experimental this function is experimental and may change in the future
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * import { getSessionTurns } from "@arizeai/phoenix-client/sessions";
62
+ *
63
+ * const turns = await getSessionTurns({ sessionId: "my-session" });
64
+ * for (const turn of turns) {
65
+ * console.log(`[${turn.startTime}] Input: ${turn.input?.value}`);
66
+ * console.log(`[${turn.startTime}] Output: ${turn.output?.value}`);
67
+ * }
68
+ * ```
69
+ */
70
+ export declare function getSessionTurns({ client: _client, sessionId, }: GetSessionTurnsParams): Promise<SessionTurn[]>;
71
+ export {};
72
+ //# sourceMappingURL=getSessionTurns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSessionTurns.d.ts","sourceRoot":"","sources":["../../../src/sessions/getSessionTurns.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,KAAK,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAI1C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,uDAAuD;IACvD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACrD,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,EACpC,MAAM,EAAE,OAAO,EACf,SAAS,GACV,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAkChD"}
@@ -0,0 +1,127 @@
1
+ import { SemanticConventions } from "@arizeai/openinference-semantic-conventions";
2
+ import { createClient } from "../client.js";
3
+ import { getSpans } from "../spans/getSpans.js";
4
+ import { getSession } from "./getSession.js";
5
+ const MAX_TRACE_IDS_PER_BATCH = 50;
6
+ /**
7
+ * Get the turns (root span I/O) for a session.
8
+ *
9
+ * Returns input/output extracted from root spans for each trace, along with
10
+ * the full root span. Turns are ordered by trace start_time.
11
+ *
12
+ * **Note:** A "turn" is derived from a trace's root span. For input/output to appear,
13
+ * the root span must have `input.value` and `output.value` attributes set
14
+ * (per OpenInference semantic conventions). This typically requires instrumentation
15
+ * that records these attributes on the top-level span.
16
+ *
17
+ * @experimental this function is experimental and may change in the future
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { getSessionTurns } from "@arizeai/phoenix-client/sessions";
22
+ *
23
+ * const turns = await getSessionTurns({ sessionId: "my-session" });
24
+ * for (const turn of turns) {
25
+ * console.log(`[${turn.startTime}] Input: ${turn.input?.value}`);
26
+ * console.log(`[${turn.startTime}] Output: ${turn.output?.value}`);
27
+ * }
28
+ * ```
29
+ */
30
+ export async function getSessionTurns({ client: _client, sessionId, }) {
31
+ const client = _client ?? createClient();
32
+ // getSession already calls ensureSessionsApi internally
33
+ const session = await getSession({ client, sessionId });
34
+ const traces = session.traces;
35
+ if (traces.length === 0) {
36
+ return [];
37
+ }
38
+ const projectId = session.projectId;
39
+ const traceInfo = new Map(traces.map((t) => [t.traceId, t]));
40
+ const allTraceIds = [...traceInfo.keys()];
41
+ // Fetch root spans in batches
42
+ const rootSpansByTrace = new Map();
43
+ for (let i = 0; i < allTraceIds.length; i += MAX_TRACE_IDS_PER_BATCH) {
44
+ const traceIdBatch = allTraceIds.slice(i, i + MAX_TRACE_IDS_PER_BATCH);
45
+ const spans = await getAllRootSpansForBatch({
46
+ client,
47
+ projectId,
48
+ traceIdBatch,
49
+ });
50
+ for (const span of spans) {
51
+ const traceId = span.context.trace_id;
52
+ if (!rootSpansByTrace.has(traceId)) {
53
+ rootSpansByTrace.set(traceId, span);
54
+ }
55
+ }
56
+ }
57
+ return buildSessionTurns({ allTraceIds, traceInfo, rootSpansByTrace });
58
+ }
59
+ /**
60
+ * Fetch all root spans for a batch of trace IDs, handling pagination.
61
+ */
62
+ async function getAllRootSpansForBatch({ client, projectId, traceIdBatch, }) {
63
+ const allSpans = [];
64
+ let cursor = null;
65
+ do {
66
+ const result = await getSpans({
67
+ client,
68
+ project: { projectId },
69
+ traceIds: traceIdBatch,
70
+ parentId: null,
71
+ limit: traceIdBatch.length,
72
+ ...(cursor ? { cursor } : {}),
73
+ });
74
+ allSpans.push(...result.spans);
75
+ cursor = result.nextCursor;
76
+ } while (cursor != null);
77
+ return allSpans;
78
+ }
79
+ /**
80
+ * Extract a SessionTurnIO from span attributes for a given prefix.
81
+ */
82
+ function extractIO({ attrs, valueKey, mimeTypeKey, }) {
83
+ const value = attrs[valueKey];
84
+ if (value == null)
85
+ return undefined;
86
+ const io = { value: String(value) };
87
+ const mimeType = attrs[mimeTypeKey];
88
+ if (mimeType != null) {
89
+ io.mimeType = String(mimeType);
90
+ }
91
+ return io;
92
+ }
93
+ /**
94
+ * Build session turns from trace info and root spans, ordered by start_time.
95
+ */
96
+ function buildSessionTurns({ allTraceIds, traceInfo, rootSpansByTrace, }) {
97
+ const turns = [];
98
+ for (const traceId of allTraceIds) {
99
+ const info = traceInfo.get(traceId);
100
+ if (!info)
101
+ continue;
102
+ const turn = {
103
+ traceId,
104
+ startTime: info.startTime,
105
+ endTime: info.endTime,
106
+ };
107
+ const rootSpan = rootSpansByTrace.get(traceId);
108
+ if (rootSpan) {
109
+ turn.rootSpan = rootSpan;
110
+ const attrs = rootSpan.attributes ?? {};
111
+ turn.input = extractIO({
112
+ attrs,
113
+ valueKey: SemanticConventions.INPUT_VALUE,
114
+ mimeTypeKey: SemanticConventions.INPUT_MIME_TYPE,
115
+ });
116
+ turn.output = extractIO({
117
+ attrs,
118
+ valueKey: SemanticConventions.OUTPUT_VALUE,
119
+ mimeTypeKey: SemanticConventions.OUTPUT_MIME_TYPE,
120
+ });
121
+ }
122
+ turns.push(turn);
123
+ }
124
+ turns.sort((a, b) => a.startTime.localeCompare(b.startTime));
125
+ return turns;
126
+ }
127
+ //# sourceMappingURL=getSessionTurns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSessionTurns.js","sourceRoot":"","sources":["../../../src/sessions/getSessionTurns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,uBAAuB,GAAG,EAAE,CAAC;AA+CnC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,MAAM,EAAE,OAAO,EACf,SAAS,GACa;IACtB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IAEzC,wDAAwD;IACxD,MAAM,OAAO,GAAY,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAClC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1C,8BAA8B;IAC9B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgB,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,uBAAuB,EAAE,CAAC;QACrE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC;YAC1C,MAAM;YACN,SAAS;YACT,YAAY;SACb,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,EACrC,MAAM,EACN,SAAS,EACT,YAAY,GAKb;IACC,MAAM,QAAQ,GAAW,EAAE,CAAC;IAC5B,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,GAAG,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,MAAM;YACN,OAAO,EAAE,EAAE,SAAS,EAAE;YACtB,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC7B,CAAC,QAAQ,MAAM,IAAI,IAAI,EAAE;IAEzB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,EACjB,KAAK,EACL,QAAQ,EACR,WAAW,GAKZ;IACC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,EAAE,GAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,EACzB,WAAW,EACX,SAAS,EACT,gBAAgB,GAKjB;IACC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,IAAI,GAAgB;YACxB,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QAEF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACrB,KAAK;gBACL,QAAQ,EAAE,mBAAmB,CAAC,WAAW;gBACzC,WAAW,EAAE,mBAAmB,CAAC,eAAe;aACjD,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBACtB,KAAK;gBACL,QAAQ,EAAE,mBAAmB,CAAC,YAAY;gBAC1C,WAAW,EAAE,mBAAmB,CAAC,gBAAgB;aAClD,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -2,6 +2,7 @@ export * from "./addSessionAnnotation.js";
2
2
  export * from "./deleteSession.js";
3
3
  export * from "./deleteSessions.js";
4
4
  export * from "./getSession.js";
5
+ export * from "./getSessionTurns.js";
5
6
  export * from "./listSessions.js";
6
7
  export * from "./logSessionAnnotations.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sessions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sessions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
@@ -2,6 +2,7 @@ export * from "./addSessionAnnotation.js";
2
2
  export * from "./deleteSession.js";
3
3
  export * from "./deleteSessions.js";
4
4
  export * from "./getSession.js";
5
+ export * from "./getSessionTurns.js";
5
6
  export * from "./listSessions.js";
6
7
  export * from "./logSessionAnnotations.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sessions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sessions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
@@ -5,6 +5,8 @@ export type ListSessionsParams = ClientFn & ProjectIdentifier;
5
5
  /**
6
6
  * List all sessions for a project with automatic pagination handling.
7
7
  *
8
+ * @requires Phoenix server >= 13.5.0
9
+ *
8
10
  * @example
9
11
  * ```ts
10
12
  * import { listSessions } from "@arizeai/phoenix-client/sessions";
@@ -1 +1 @@
1
- {"version":3,"file":"listSessions.d.ts","sourceRoot":"","sources":["../../../src/sessions/listSessions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAM9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,OAAO,EAAE,CAAC,CA6BpB"}
1
+ {"version":3,"file":"listSessions.d.ts","sourceRoot":"","sources":["../../../src/sessions/listSessions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAM9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,OAAO,EAAE,CAAC,CA8BpB"}