@arizeai/phoenix-client 7.10.0 → 7.12.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 (54) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +13 -5
  3. package/dist/esm/__generated__/api/v1.d.ts +112 -4
  4. package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
  5. package/dist/esm/constants/serverRequirements.d.ts +2 -0
  6. package/dist/esm/constants/serverRequirements.d.ts.map +1 -1
  7. package/dist/esm/constants/serverRequirements.js +16 -0
  8. package/dist/esm/constants/serverRequirements.js.map +1 -1
  9. package/dist/esm/prompts/createPrompt.d.ts +5 -0
  10. package/dist/esm/prompts/createPrompt.d.ts.map +1 -1
  11. package/dist/esm/prompts/createPrompt.js +27 -121
  12. package/dist/esm/prompts/createPrompt.js.map +1 -1
  13. package/dist/esm/schemas/llm/converters.d.ts +4 -4
  14. package/dist/esm/sessions/listSessions.d.ts +10 -1
  15. package/dist/esm/sessions/listSessions.d.ts.map +1 -1
  16. package/dist/esm/sessions/listSessions.js +10 -1
  17. package/dist/esm/sessions/listSessions.js.map +1 -1
  18. package/dist/esm/traces/getTraces.d.ts +10 -2
  19. package/dist/esm/traces/getTraces.d.ts.map +1 -1
  20. package/dist/esm/traces/getTraces.js +12 -4
  21. package/dist/esm/traces/getTraces.js.map +1 -1
  22. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  23. package/dist/esm/utils/getPromptBySelector.d.ts +3 -0
  24. package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
  25. package/dist/src/__generated__/api/v1.d.ts +112 -4
  26. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  27. package/dist/src/constants/serverRequirements.d.ts +2 -0
  28. package/dist/src/constants/serverRequirements.d.ts.map +1 -1
  29. package/dist/src/constants/serverRequirements.js +17 -1
  30. package/dist/src/constants/serverRequirements.js.map +1 -1
  31. package/dist/src/prompts/createPrompt.d.ts +5 -0
  32. package/dist/src/prompts/createPrompt.d.ts.map +1 -1
  33. package/dist/src/prompts/createPrompt.js +20 -121
  34. package/dist/src/prompts/createPrompt.js.map +1 -1
  35. package/dist/src/schemas/llm/converters.d.ts +4 -4
  36. package/dist/src/sessions/listSessions.d.ts +10 -1
  37. package/dist/src/sessions/listSessions.d.ts.map +1 -1
  38. package/dist/src/sessions/listSessions.js +9 -0
  39. package/dist/src/sessions/listSessions.js.map +1 -1
  40. package/dist/src/traces/getTraces.d.ts +10 -2
  41. package/dist/src/traces/getTraces.d.ts.map +1 -1
  42. package/dist/src/traces/getTraces.js +11 -3
  43. package/dist/src/traces/getTraces.js.map +1 -1
  44. package/dist/src/utils/getPromptBySelector.d.ts +3 -0
  45. package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/docs/sessions.mdx +13 -0
  48. package/docs/traces.mdx +7 -6
  49. package/package.json +13 -13
  50. package/src/__generated__/api/v1.ts +112 -4
  51. package/src/constants/serverRequirements.ts +18 -0
  52. package/src/prompts/createPrompt.ts +35 -121
  53. package/src/sessions/listSessions.ts +22 -2
  54. package/src/traces/getTraces.ts +21 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @arizeai/phoenix-client
2
2
 
3
+ ## 7.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - dab09f1: Add `filter` expressions to `getTraces` and `listSessions` (requires Phoenix server >= 20.12.0). Deprecate the individual trace error and latency parameters while retaining their behavior and support for server >= 20.8.0.
8
+
9
+ ## 7.11.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 2b73847: Accept `metadata` in `promptVersion()` so prompt versions can carry arbitrary JSON metadata.
14
+
3
15
  ## 7.10.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -383,8 +383,11 @@ checks an aggregate bar (so CI can allow a mean of 80% while still running
383
383
  every case), and `passRate` requires a minimum fraction of runs to satisfy a
384
384
  per-run `passFn` predicate.
385
385
 
386
- See the [`docs/`](./docs) folder — `ci-evals.mdx`, `ci-evals-vitest.mdx`,
387
- `ci-evals-jest.mdx`, and `ci-evals-annotations.mdx` — for setup, the full
386
+ See the [CI Eval Tests](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals),
387
+ [Vitest](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-vitest),
388
+ [Jest](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-jest),
389
+ and [Annotations](https://arize.com/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-annotations)
390
+ guides for setup, the full
388
391
  `describe` / `test` / `test.each` API, acceptance criteria, repetitions,
389
392
  dry-run mode, and annotation details.
390
393
 
@@ -422,11 +425,10 @@ const sessionTraces = await getTraces({
422
425
  sessionId: "my-session-id",
423
426
  });
424
427
 
425
- // Filter by error status and latency (requires Phoenix server >= 20.8.0)
428
+ // Filter by error status and latency (requires Phoenix server >= 20.12.0)
426
429
  const slowFailures = await getTraces({
427
430
  project: { projectName: "my-project" },
428
- error: true,
429
- minLatencyMs: 1000,
431
+ filter: "error_count > 0 and latency_ms >= 1000",
430
432
  });
431
433
  ```
432
434
 
@@ -441,10 +443,16 @@ const slowFailures = await getTraces({
441
443
  | `cursor` | `string \| null` | Pagination cursor |
442
444
  | `includeSpans` | `boolean` | Include full span details for each trace |
443
445
  | `sessionId` | `string \| string[] \| null` | Filter traces by session identifier(s) |
446
+ | `filter` | `string \| null` | Trace filter expression |
444
447
  | `error` | `boolean \| null` | Only traces with (`true`) or without (`false`) errored spans |
445
448
  | `minLatencyMs` | `number \| null` | Inclusive lower bound on trace latency (ms) |
446
449
  | `maxLatencyMs` | `number \| null` | Inclusive upper bound on trace latency (ms) |
447
450
 
451
+ `error`, `minLatencyMs`, and `maxLatencyMs` are deprecated but remain supported on
452
+ server >= 20.8.0. Use `error_count > 0` / `error_count == 0`, `latency_ms >= N`, and
453
+ `latency_ms <= N` in `filter` instead. Empty expressions do not filter; invalid
454
+ expressions return HTTP 400. Keep the same expression when requesting the next page.
455
+
448
456
  ### Pagination
449
457
 
450
458
  Use the `cursor` from a previous result to fetch the next page:
@@ -429,7 +429,8 @@ export interface paths {
429
429
  path?: never;
430
430
  cookie?: never;
431
431
  };
432
- get?: never;
432
+ /** List dataset splits */
433
+ get: operations["listDatasetSplits"];
433
434
  put?: never;
434
435
  /** Create a dataset split */
435
436
  post: operations["createDatasetSplit"];
@@ -3979,6 +3980,13 @@ export interface components {
3979
3980
  /** Data */
3980
3981
  data: components["schemas"]["DatasetLabel"][];
3981
3982
  };
3983
+ /** ListDatasetSplitsResponseBody */
3984
+ ListDatasetSplitsResponseBody: {
3985
+ /** Data */
3986
+ data: components["schemas"]["DatasetSplit"][];
3987
+ /** Next Cursor */
3988
+ next_cursor: string | null;
3989
+ };
3982
3990
  /** ListDatasetVersionsResponseBody */
3983
3991
  ListDatasetVersionsResponseBody: {
3984
3992
  /** Data */
@@ -5295,6 +5303,13 @@ export interface components {
5295
5303
  PromptVersion: {
5296
5304
  /** Description */
5297
5305
  description?: string | null;
5306
+ /**
5307
+ * Metadata
5308
+ * @description Arbitrary JSON metadata for the prompt version.
5309
+ */
5310
+ metadata?: {
5311
+ [key: string]: unknown;
5312
+ };
5298
5313
  model_provider: components["schemas"]["ModelProvider"];
5299
5314
  /** Model Name */
5300
5315
  model_name: string;
@@ -5314,6 +5329,13 @@ export interface components {
5314
5329
  PromptVersionData: {
5315
5330
  /** Description */
5316
5331
  description?: string | null;
5332
+ /**
5333
+ * Metadata
5334
+ * @description Arbitrary JSON metadata for the prompt version.
5335
+ */
5336
+ metadata?: {
5337
+ [key: string]: unknown;
5338
+ };
5317
5339
  model_provider: components["schemas"]["ModelProvider"];
5318
5340
  /** Model Name */
5319
5341
  model_name: string;
@@ -8944,6 +8966,61 @@ export interface operations {
8944
8966
  };
8945
8967
  };
8946
8968
  };
8969
+ listDatasetSplits: {
8970
+ parameters: {
8971
+ query?: {
8972
+ /** @description Cursor for pagination */
8973
+ cursor?: string | null;
8974
+ /** @description The max number of dataset splits to return at a time. */
8975
+ limit?: number;
8976
+ };
8977
+ header?: never;
8978
+ path: {
8979
+ /** @description The dataset identifier: either dataset ID or dataset name. */
8980
+ dataset_identifier: string;
8981
+ };
8982
+ cookie?: never;
8983
+ };
8984
+ requestBody?: never;
8985
+ responses: {
8986
+ /** @description Successful Response */
8987
+ 200: {
8988
+ headers: {
8989
+ [name: string]: unknown;
8990
+ };
8991
+ content: {
8992
+ "application/json": components["schemas"]["ListDatasetSplitsResponseBody"];
8993
+ };
8994
+ };
8995
+ /** @description Forbidden */
8996
+ 403: {
8997
+ headers: {
8998
+ [name: string]: unknown;
8999
+ };
9000
+ content: {
9001
+ "text/plain": string;
9002
+ };
9003
+ };
9004
+ /** @description Dataset not found */
9005
+ 404: {
9006
+ headers: {
9007
+ [name: string]: unknown;
9008
+ };
9009
+ content: {
9010
+ "text/plain": string;
9011
+ };
9012
+ };
9013
+ /** @description Invalid request */
9014
+ 422: {
9015
+ headers: {
9016
+ [name: string]: unknown;
9017
+ };
9018
+ content: {
9019
+ "text/plain": string;
9020
+ };
9021
+ };
9022
+ };
9023
+ };
8947
9024
  createDatasetSplit: {
8948
9025
  parameters: {
8949
9026
  query?: never;
@@ -10097,12 +10174,23 @@ export interface operations {
10097
10174
  include_spans?: boolean;
10098
10175
  /** @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. */
10099
10176
  session_identifier?: string[] | null;
10100
- /** @description Filter by trace error status. If true, only return traces that contain at least one span with `status_code == ERROR`. If false, only return traces with no errored spans. If omitted, traces are not filtered by error status. Matches the error indicator shown in the UI. */
10177
+ /**
10178
+ * @deprecated
10179
+ * @description Deprecated: use `filter=error_count > 0` or `filter=error_count == 0`. Filter by trace error status. If true, only return traces that contain at least one span with `status_code == ERROR`. If false, only return traces with no errored spans. If omitted, traces are not filtered by error status.
10180
+ */
10101
10181
  error?: boolean | null;
10102
- /** @description Inclusive lower bound on trace latency in milliseconds. */
10182
+ /**
10183
+ * @deprecated
10184
+ * @description Inclusive lower bound on trace latency in milliseconds. Deprecated: use `filter=latency_ms >= N`.
10185
+ */
10103
10186
  min_latency_ms?: number | null;
10104
- /** @description Inclusive upper bound on trace latency in milliseconds. */
10187
+ /**
10188
+ * @deprecated
10189
+ * @description Inclusive upper bound on trace latency in milliseconds. Deprecated: use `filter=latency_ms <= N`.
10190
+ */
10105
10191
  max_latency_ms?: number | null;
10192
+ /** @description Trace filter expression, as documented at https://arize.com/docs/phoenix/tracing/how-to-tracing/filter-expressions. Combined with other filters using AND. Empty expressions do not filter. Invalid expressions return 400. */
10193
+ filter?: string | null;
10106
10194
  };
10107
10195
  header?: never;
10108
10196
  path: {
@@ -10122,6 +10210,15 @@ export interface operations {
10122
10210
  "application/json": components["schemas"]["GetTracesResponseBody"];
10123
10211
  };
10124
10212
  };
10213
+ /** @description Bad Request */
10214
+ 400: {
10215
+ headers: {
10216
+ [name: string]: unknown;
10217
+ };
10218
+ content: {
10219
+ "text/plain": string;
10220
+ };
10221
+ };
10125
10222
  /** @description Forbidden */
10126
10223
  403: {
10127
10224
  headers: {
@@ -11889,6 +11986,8 @@ export interface operations {
11889
11986
  limit?: number;
11890
11987
  /** @description Sort order by ID: 'asc' (ascending) or 'desc' (descending). */
11891
11988
  order?: "asc" | "desc";
11989
+ /** @description Session filter expression, as documented at https://arize.com/docs/phoenix/tracing/how-to-tracing/filter-expressions. Empty expressions do not filter. Invalid expressions return 400. */
11990
+ filter?: string | null;
11892
11991
  };
11893
11992
  header?: never;
11894
11993
  path: {
@@ -11908,6 +12007,15 @@ export interface operations {
11908
12007
  "application/json": components["schemas"]["GetSessionsResponseBody"];
11909
12008
  };
11910
12009
  };
12010
+ /** @description Bad Request */
12011
+ 400: {
12012
+ headers: {
12013
+ [name: string]: unknown;
12014
+ };
12015
+ content: {
12016
+ "text/plain": string;
12017
+ };
12018
+ };
11911
12019
  /** @description Forbidden */
11912
12020
  403: {
11913
12021
  headers: {