@arizeai/phoenix-client 7.5.0 → 7.7.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 (124) hide show
  1. package/CHANGELOG.md +781 -0
  2. package/README.md +27 -3
  3. package/dist/esm/__generated__/api/v1.d.ts +749 -203
  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 +14 -0
  8. package/dist/esm/constants/serverRequirements.js.map +1 -1
  9. package/dist/esm/projects/index.d.ts +1 -0
  10. package/dist/esm/projects/index.d.ts.map +1 -1
  11. package/dist/esm/projects/index.js +1 -0
  12. package/dist/esm/projects/index.js.map +1 -1
  13. package/dist/esm/projects/setProjectRetentionPolicy.d.ts +49 -0
  14. package/dist/esm/projects/setProjectRetentionPolicy.d.ts.map +1 -0
  15. package/dist/esm/projects/setProjectRetentionPolicy.js +52 -0
  16. package/dist/esm/projects/setProjectRetentionPolicy.js.map +1 -0
  17. package/dist/esm/prompts/deletePrompt.d.ts +39 -0
  18. package/dist/esm/prompts/deletePrompt.d.ts.map +1 -0
  19. package/dist/esm/prompts/deletePrompt.js +52 -0
  20. package/dist/esm/prompts/deletePrompt.js.map +1 -0
  21. package/dist/esm/prompts/index.d.ts +1 -0
  22. package/dist/esm/prompts/index.d.ts.map +1 -1
  23. package/dist/esm/prompts/index.js +1 -0
  24. package/dist/esm/prompts/index.js.map +1 -1
  25. package/dist/esm/testing/reporter-format.d.ts.map +1 -1
  26. package/dist/esm/testing/reporter-format.js +13 -3
  27. package/dist/esm/testing/reporter-format.js.map +1 -1
  28. package/dist/esm/traces/getTraces.d.ts +1 -1
  29. package/dist/esm/traces/getTraces.d.ts.map +1 -1
  30. package/dist/esm/traces/index.d.ts +1 -0
  31. package/dist/esm/traces/index.d.ts.map +1 -1
  32. package/dist/esm/traces/index.js +1 -0
  33. package/dist/esm/traces/index.js.map +1 -1
  34. package/dist/esm/traces/transferTraces.d.ts +56 -0
  35. package/dist/esm/traces/transferTraces.d.ts.map +1 -0
  36. package/dist/esm/traces/transferTraces.js +56 -0
  37. package/dist/esm/traces/transferTraces.js.map +1 -0
  38. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  39. package/dist/esm/types/prompts.d.ts +9 -0
  40. package/dist/esm/types/prompts.d.ts.map +1 -1
  41. package/dist/esm/types/prompts.js.map +1 -1
  42. package/dist/esm/users/getCurrentUser.d.ts +25 -0
  43. package/dist/esm/users/getCurrentUser.d.ts.map +1 -0
  44. package/dist/esm/users/getCurrentUser.js +30 -0
  45. package/dist/esm/users/getCurrentUser.js.map +1 -0
  46. package/dist/esm/users/index.d.ts +2 -0
  47. package/dist/esm/users/index.d.ts.map +1 -0
  48. package/dist/esm/users/index.js +2 -0
  49. package/dist/esm/users/index.js.map +1 -0
  50. package/dist/esm/utils/resolvePromptIdentifier.d.ts +17 -0
  51. package/dist/esm/utils/resolvePromptIdentifier.d.ts.map +1 -0
  52. package/dist/esm/utils/resolvePromptIdentifier.js +36 -0
  53. package/dist/esm/utils/resolvePromptIdentifier.js.map +1 -0
  54. package/dist/src/__generated__/api/v1.d.ts +749 -203
  55. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  56. package/dist/src/constants/serverRequirements.d.ts +2 -0
  57. package/dist/src/constants/serverRequirements.d.ts.map +1 -1
  58. package/dist/src/constants/serverRequirements.js +15 -1
  59. package/dist/src/constants/serverRequirements.js.map +1 -1
  60. package/dist/src/projects/index.d.ts +1 -0
  61. package/dist/src/projects/index.d.ts.map +1 -1
  62. package/dist/src/projects/index.js +1 -0
  63. package/dist/src/projects/index.js.map +1 -1
  64. package/dist/src/projects/setProjectRetentionPolicy.d.ts +49 -0
  65. package/dist/src/projects/setProjectRetentionPolicy.d.ts.map +1 -0
  66. package/dist/src/projects/setProjectRetentionPolicy.js +59 -0
  67. package/dist/src/projects/setProjectRetentionPolicy.js.map +1 -0
  68. package/dist/src/prompts/deletePrompt.d.ts +39 -0
  69. package/dist/src/prompts/deletePrompt.d.ts.map +1 -0
  70. package/dist/src/prompts/deletePrompt.js +55 -0
  71. package/dist/src/prompts/deletePrompt.js.map +1 -0
  72. package/dist/src/prompts/index.d.ts +1 -0
  73. package/dist/src/prompts/index.d.ts.map +1 -1
  74. package/dist/src/prompts/index.js +1 -0
  75. package/dist/src/prompts/index.js.map +1 -1
  76. package/dist/src/testing/reporter-format.d.ts.map +1 -1
  77. package/dist/src/testing/reporter-format.js +13 -3
  78. package/dist/src/testing/reporter-format.js.map +1 -1
  79. package/dist/src/traces/getTraces.d.ts +1 -1
  80. package/dist/src/traces/getTraces.d.ts.map +1 -1
  81. package/dist/src/traces/index.d.ts +1 -0
  82. package/dist/src/traces/index.d.ts.map +1 -1
  83. package/dist/src/traces/index.js +1 -0
  84. package/dist/src/traces/index.js.map +1 -1
  85. package/dist/src/traces/transferTraces.d.ts +56 -0
  86. package/dist/src/traces/transferTraces.d.ts.map +1 -0
  87. package/dist/src/traces/transferTraces.js +59 -0
  88. package/dist/src/traces/transferTraces.js.map +1 -0
  89. package/dist/src/types/prompts.d.ts +9 -0
  90. package/dist/src/types/prompts.d.ts.map +1 -1
  91. package/dist/src/types/prompts.js.map +1 -1
  92. package/dist/src/users/getCurrentUser.d.ts +25 -0
  93. package/dist/src/users/getCurrentUser.d.ts.map +1 -0
  94. package/dist/src/users/getCurrentUser.js +36 -0
  95. package/dist/src/users/getCurrentUser.js.map +1 -0
  96. package/dist/src/users/index.d.ts +2 -0
  97. package/dist/src/users/index.d.ts.map +1 -0
  98. package/dist/src/users/index.js +18 -0
  99. package/dist/src/users/index.js.map +1 -0
  100. package/dist/src/utils/resolvePromptIdentifier.d.ts +17 -0
  101. package/dist/src/utils/resolvePromptIdentifier.d.ts.map +1 -0
  102. package/dist/src/utils/resolvePromptIdentifier.js +39 -0
  103. package/dist/src/utils/resolvePromptIdentifier.js.map +1 -0
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/docs/overview.mdx +8 -4
  106. package/docs/projects.mdx +71 -0
  107. package/docs/prompts.mdx +19 -1
  108. package/docs/traces.mdx +28 -2
  109. package/docs/users.mdx +44 -0
  110. package/package.json +16 -12
  111. package/src/__generated__/api/v1.ts +749 -203
  112. package/src/constants/serverRequirements.ts +16 -0
  113. package/src/projects/index.ts +1 -0
  114. package/src/projects/setProjectRetentionPolicy.ts +80 -0
  115. package/src/prompts/deletePrompt.ts +70 -0
  116. package/src/prompts/index.ts +1 -0
  117. package/src/testing/reporter-format.ts +13 -3
  118. package/src/traces/getTraces.ts +1 -1
  119. package/src/traces/index.ts +1 -0
  120. package/src/traces/transferTraces.ts +89 -0
  121. package/src/types/prompts.ts +10 -0
  122. package/src/users/getCurrentUser.ts +39 -0
  123. package/src/users/index.ts +1 -0
  124. package/src/utils/resolvePromptIdentifier.ts +41 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,781 @@
1
+ # @arizeai/phoenix-client
2
+
3
+ ## 7.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 37916d7: Add `setProjectRetentionPolicy` to the projects entry point for assigning an existing retention policy by GlobalID or resetting a project to the default policy.
8
+ - c48e50e: Add `transferTraces` to the traces subpath for moving traces between Phoenix projects.
9
+ - 773c5e5: Add a typed `getCurrentUser` helper through the `@arizeai/phoenix-client/users` entrypoint.
10
+
11
+ ### Patch Changes
12
+
13
+ - b27561d: Widen the optional `openai` peer dependency range to `^6.10.0 || ^7.0.0` so apps already on the OpenAI SDK v7 can install the client without a peer conflict.
14
+
15
+ ## 7.6.0
16
+
17
+ ### Minor Changes
18
+
19
+ - d328c3e: Add a `deletePrompt` helper to the `prompts` subpath. It takes a `prompt` selector — `{ name }` or `{ promptId }` — matching the selector style `getPrompt` already uses, and calls `DELETE /v1/prompts/{prompt_identifier}` (Phoenix server >= 13.20.0). Version-level selectors (`{ versionId }`, `{ name, tag }`) are rejected rather than widened to the whole prompt. Deletion cascades to every version of the prompt along with its version tags and labels.
20
+
21
+ Also exports a `PromptIdentifier` type from `types/prompts` for the prompt-level selector union.
22
+
23
+ ## 7.5.0
24
+
25
+ ### Minor Changes
26
+
27
+ - 0ed987a: Re-enable the PXI agent-session server version guard. PXI now fails fast at startup with a clear upgrade message when the connected Phoenix server predates the agent-session chat contract (server < 20.0.0), instead of 404ing on the first send. phoenix-client adds capability requirements for the remaining agent-session routes (list, get, patch, compact, tool outputs), exports all agent-session requirements from the package root, and routes `getServerVersion` through the client's configured fetch.
28
+
29
+ ## 7.4.0
30
+
31
+ ### Minor Changes
32
+
33
+ - 90729f3: Add `updatePrompt` for `PATCH /v1/prompts/{prompt_identifier}` (description and metadata; requires Phoenix server >= 19.18.0).
34
+
35
+ ## 7.3.1
36
+
37
+ ### Patch Changes
38
+
39
+ - c892873: Add generated types for the experiment tag REST routes (`GET`/`POST /v1/experiments/{experiment_id}/tags` and `DELETE /v1/experiments/{experiment_id}/tags/{tag_identifier}`)
40
+
41
+ ## 7.3.0
42
+
43
+ ### Minor Changes
44
+
45
+ - d04f0fc: Introduce `PHOENIX_ENDPOINT` as the canonical base URL for API access, alongside `PHOENIX_COLLECTOR_ENDPOINT` for trace export.
46
+
47
+ Previously the TypeScript client read only `PHOENIX_HOST`, so pointing `PHOENIX_COLLECTOR_ENDPOINT` at a remote Phoenix and then reading spans back silently targeted `http://localhost:6006`. The client's base URL now resolves `PHOENIX_ENDPOINT` first, then the trace-export variables `PHOENIX_COLLECTOR_ENDPOINT` and `OTEL_EXPORTER_OTLP_ENDPOINT` (any `/v1/traces` path is stripped), then the legacy `PHOENIX_HOST` — matching the Python client rung for rung, so the same environment reaches the same server from either language.
48
+
49
+ `PHOENIX_BASE_URL` is honored below the trace-export variables as an undocumented compatibility fallback. The client docs advertised that name for years while no code read it, so values set from those docs did nothing; placing it below the other variables means those configurations start working without retargeting anyone who set both. It is also no longer enough on its own to displace a discovered `.env.phoenix`, so a stale value left in a shell cannot redirect a project that `px setup` configured.
50
+
51
+ Empty and whitespace-only values now count as unset everywhere in the resolution chains, so `export PHOENIX_ENDPOINT=` falls through to the next variable instead of stranding every consumer on localhost.
52
+
53
+ Experiment and test-suite tracing follow the same rules as `register()`: a client created with an explicit `baseUrl` exports its spans to that server, and a client whose base URL came from the environment lets the trace-export variables decide. An unparseable endpoint in a discovered `.env.phoenix` now falls back with a warning instead of aborting the run, and the cross-tier credential warning fires on this path too.
54
+
55
+ `@arizeai/phoenix-config` gains `ENV_PHOENIX_ENDPOINT`, `ENV_OTEL_EXPORTER_OTLP_ENDPOINT`, `ENV_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`, `getBaseUrlFromEnvironment[WithSource]()`, `getBaseUrlFromValues()` (same precedence over an injected env record), `getTraceExportEndpointFromEnvironment()`, and `PHOENIX_CONNECTION_ENV_KEYS` (for test env hygiene).
56
+
57
+ ### Patch Changes
58
+
59
+ - Updated dependencies [d04f0fc]
60
+ - Updated dependencies [5420522]
61
+ - @arizeai/phoenix-config@0.5.0
62
+ - @arizeai/phoenix-otel@2.2.0
63
+
64
+ ## 7.2.0
65
+
66
+ ### Minor Changes
67
+
68
+ - 59aa7cb: Add a `getProjects` helper to the new `@arizeai/phoenix-client/projects` entry point. It lists projects with automatic cursor pagination and accepts an optional `nameContains` filter, which maps to the `name_contains` query parameter on `GET /v1/projects` (case-insensitive substring match, requires Phoenix server >= 17.16.0).
69
+
70
+ ## 7.1.1
71
+
72
+ ### Patch Changes
73
+
74
+ - e35712a: Re-release to recover from a failed publish (versions were already on npm)
75
+
76
+ ## 7.1.0
77
+
78
+ ### Minor Changes
79
+
80
+ - df7057a: Add `spanIds` filter to `getSpans`, allowing spans to be fetched by span ID (requires Phoenix server >= 19.6.0)
81
+
82
+ ## 7.0.1
83
+
84
+ ### Patch Changes
85
+
86
+ - a6c3f88: Fix `resumeExperiment` and `resumeEvaluation` leaking detached workers on the first error. Both used `Promise.all([producer, ...workers])`, which rejects the instant one worker throws (e.g. under `stopOnFirstError`) while the remaining concurrent workers and the producer keep running — hitting the API and logging after the function has already returned or thrown. They now drain every task with `Promise.allSettled` and classify rejections by priority, so no background work outlives the call. This also fixes intermittent CI teardown errors (`Closing rpc while "onUserConsoleLog" was pending`) caused by that late console output.
87
+
88
+ ## 7.0.0
89
+
90
+ ### Major Changes
91
+
92
+ - 4867e34: Require AI SDK v7 for `@arizeai/phoenix-client`. The optional `ai` peer dependency now requires v7 (`^7.0.0`, previously `^6.0.90`). AI SDK v7 no longer emits OpenTelemetry spans through the global tracer provider on its own — to trace AI SDK calls made inside experiment tasks, pass the `@ai-sdk/otel` integration per call, constructed inside the task: `generateText({ ..., telemetry: { integrations: [new OpenTelemetry()] } })` (see `examples/run_experiment_with_ai_sdk.ts`). Phoenix evaluators from `@arizeai/phoenix-evals` are traced automatically and need no setup. Core client APIs retain Node.js 18 compatibility; AI SDK v7-backed features require the Node.js version supported by AI SDK v7. Type-checking the published declarations now requires TypeScript >= 5.3: the `.d.ts` files for the prompts entry use `with { "resolution-mode": "import" }` import attributes, which older TypeScript versions cannot parse (and `skipLibCheck` does not suppress).
93
+
94
+ ## 6.14.2
95
+
96
+ ### Patch Changes
97
+
98
+ - Updated dependencies [dc451a6]
99
+ - @arizeai/phoenix-otel@2.1.0
100
+
101
+ ## 6.14.1
102
+
103
+ ### Patch Changes
104
+
105
+ - Updated dependencies [30f0827]
106
+ - @arizeai/phoenix-otel@2.0.0
107
+
108
+ ## 6.14.0
109
+
110
+ ### Minor Changes
111
+
112
+ - d6b1cbb: Add a reusable refreshable-credential fetch wrapper to the Phoenix TypeScript
113
+ client, use it for OAuth-authenticated CLI API and PXI requests, and keep each
114
+ profile bound to the endpoint that issued its OAuth tokens.
115
+
116
+ ## 6.13.0
117
+
118
+ ### Minor Changes
119
+
120
+ - f94067b: Add px setup script for agent onboarding
121
+
122
+ ### Patch Changes
123
+
124
+ - Updated dependencies [f94067b]
125
+ - @arizeai/phoenix-config@0.4.0
126
+ - @arizeai/phoenix-otel@1.2.0
127
+
128
+ ## 6.12.2
129
+
130
+ ### Patch Changes
131
+
132
+ - Updated dependencies [c0ab6a9]
133
+ - @arizeai/phoenix-config@0.3.0
134
+ - @arizeai/phoenix-otel@1.1.1
135
+
136
+ ## 6.12.1
137
+
138
+ ### Patch Changes
139
+
140
+ - Updated dependencies [1e7d9fc]
141
+ - @arizeai/phoenix-config@0.2.0
142
+ - @arizeai/phoenix-otel@1.1.0
143
+
144
+ ## 6.12.0
145
+
146
+ ### Minor Changes
147
+
148
+ - 7947440: Add `logSpans` to `@arizeai/phoenix-client/spans`, mirroring the Python client's `log_spans` API. It submits spans directly to a project using Phoenix's simplified span structure (the same shape returned by `getSpans`), without requiring OpenTelemetry. Throws a new `SpanCreationError` with `invalidSpans`/`duplicateSpans` details if any span in the request is invalid or a duplicate.
149
+
150
+ ## 6.11.2
151
+
152
+ ### Patch Changes
153
+
154
+ - 7afa183: Fix `PHOENIX_TEST_TRACKING=false` not reliably disabling recording in vitest/jest eval suites. The flag is now read robustly (tolerating surrounding quotes and whitespace) and latches off for the whole process the first time it is seen disabled, so one suite can no longer re-enable recording for the others by mutating the environment mid-run. The run and annotation upload paths also honor the flag directly as a safeguard.
155
+
156
+ ## 6.11.1
157
+
158
+ ### Patch Changes
159
+
160
+ - a027ada: Rename the CI eval testing env var `PHOENIX_TEST_TRACING` to `PHOENIX_TEST_TRACKING` so it matches the internal "tracking" terminology (`isTrackingEnabled`, `SuiteState.trackingDisabled`). The behavior is unchanged: set `PHOENIX_TEST_TRACKING=false` to run a suite locally without syncing datasets, experiments, runs, or annotations to Phoenix.
161
+
162
+ **Beta breaking change:** if you adopted the beta testing API in 6.11.0 and set `PHOENIX_TEST_TRACING=false`, update it to `PHOENIX_TEST_TRACKING=false`. The old name is no longer read.
163
+
164
+ ## 6.11.0
165
+
166
+ ### Minor Changes
167
+
168
+ - 7efabf6: **Beta:** Add a vitest/jest-based CI eval testing API to `@arizeai/phoenix-client`. New `./vitest`, `./vitest/reporter`, `./jest`, and `./jest/reporter` entrypoints expose a Phoenix reporter (scoreboard + results table), acceptance-criteria support with an optimization `direction` ("maximize"/"minimize"), and tracing that records runs back to Phoenix. `jest` and `vitest` are added as optional peer dependencies.
169
+
170
+ This API is in beta and may change in a future release.
171
+
172
+ ## 6.10.1
173
+
174
+ ### Patch Changes
175
+
176
+ - 0347f22: Fix `evaluateExperiment` failing to match experiment runs to dataset examples when the dataset was uploaded with custom example ids. Runs now consistently identify examples by node GlobalID in `datasetExampleId` — previously runs created in-process recorded the custom example id while runs fetched from the server recorded the GlobalID — and the evaluation example lookup is keyed by the GlobalID to match. Run recording also falls back to the example `id` field on servers that predate node ids (where that field carries the GlobalID), instead of posting an empty `dataset_example_id`.
177
+
178
+ ## 6.10.0
179
+
180
+ ### Minor Changes
181
+
182
+ - 6dceb10: Restructure annotation bulk-delete commands into entity-first compound nouns:
183
+ `px span delete-annotations` becomes `px span-annotations delete`,
184
+ `px trace delete-annotations` becomes `px trace-annotations delete`, and
185
+ `px session delete-annotations` becomes `px session-annotations delete`. Flag
186
+ set, authorization gate (`--all` XOR `[--start-time, --end-time)`), payload
187
+ shape, and exit codes are unchanged.
188
+
189
+ Add an optional `identifier` body field to `addTraceNote`, `addSpanNote`, and
190
+ `addSessionNote` (and the generated REST types). When non-empty, the note is
191
+ upserted on `(entity_id, name='note', identifier)` so repeated calls with the
192
+ same identifier overwrite the existing note instead of appending. When the
193
+ helper is given an `identifier`, it now also calls
194
+ `ensureServerCapability` against the new identifier body-parameter
195
+ requirement so the caller fails fast against older Phoenix servers (which
196
+ would otherwise silently drop the field and append an auto-generated note).
197
+
198
+ ## 6.9.3
199
+
200
+ ### Patch Changes
201
+
202
+ - Updated dependencies [559acf8]
203
+ - @arizeai/phoenix-otel@1.0.2
204
+
205
+ ## 6.9.2
206
+
207
+ ### Patch Changes
208
+
209
+ - d0cc4c4: Update `openapi-fetch` from `^0.12.5` to `^0.17.0`.
210
+
211
+ ## 6.9.1
212
+
213
+ ### Patch Changes
214
+
215
+ - 5d14f23: Add LinkedIn link to the Community section of the README.
216
+ - Updated dependencies [5d14f23]
217
+ - @arizeai/phoenix-config@0.1.4
218
+ - @arizeai/phoenix-otel@1.0.1
219
+
220
+ ## 6.9.0
221
+
222
+ ### Minor Changes
223
+
224
+ - 2993b04: Add `addTraceAnnotation` and `logTraceAnnotations` to the `traces` subpath. Brings the TypeScript client to parity with the Python client by exposing the existing `/v1/trace_annotations` REST endpoint for structured (label/score/explanation) feedback on traces.
225
+
226
+ ### Patch Changes
227
+
228
+ - 2993b04: Clarify TSDoc and regenerated OpenAPI descriptions for `addSpanNote` and `addTraceNote`. Previous wording implied structured annotations were "unique by name", which is incorrect — annotations are keyed by `(name, target_id, identifier)`, so multiple annotations with the same name can coexist on the same span/trace/session by supplying distinct identifiers. Notes remain append-only via auto-generated UUIDv4 identifiers.
229
+ - 4e20267: Add session annotation and note commands to the Phoenix CLI, and add a session note helper to the TypeScript client. Session note creation requires Phoenix server 14.17.0 or newer.
230
+
231
+ ## 6.8.1
232
+
233
+ ### Patch Changes
234
+
235
+ - e381885: Gate `example_ids` on dataset upload (`createDataset`, `appendDatasetExamples`) by server version, so callers see a clear capability error when targeting a Phoenix server older than 15.0.0 instead of a confusing server-side failure.
236
+ - 187df7e: Regenerate REST API types for the session notes endpoint.
237
+
238
+ ## 6.8.0
239
+
240
+ ### Minor Changes
241
+
242
+ - a4dad8b: Add `addTraceNote()` helper for creating trace notes via `POST /v1/trace_notes`. The call performs a preflight server-version check and throws a descriptive error when the connected Phoenix server is too old. Requires Phoenix server >= 14.13.0.
243
+
244
+ ## 6.7.0
245
+
246
+ ### Minor Changes
247
+
248
+ - e19a038: Add `attributes` filter to `getSpans()` for type-aware attribute matching. Pass a `Record<string, string | number | boolean>` to filter spans by attribute key/value pairs with AND semantics — the JS value type selects how the stored attribute is matched (e.g., `{ "user.id": 12345 }` matches a stored integer, `{ "user.id": "12345" }` matches a stored string). Requires Phoenix server >= 14.9.0.
249
+
250
+ ## 6.6.2
251
+
252
+ ### Patch Changes
253
+
254
+ - 8444575: Move `@anthropic-ai/sdk`, `openai`, and `ai` from `optionalDependencies` to optional `peerDependencies`. Consumers no longer get these provider SDKs installed automatically — they are only installed if the consumer already depends on them.
255
+
256
+ ## 6.6.1
257
+
258
+ ### Patch Changes
259
+
260
+ - 1449f3d: Re-export openinference semantic conventions from phoenix-otel and update phoenix-client to import them from phoenix-otel instead of depending on @arizeai/openinference-semantic-conventions directly.
261
+ - Updated dependencies [1449f3d]
262
+ - @arizeai/phoenix-otel@1.0.0
263
+
264
+ ## 6.6.0
265
+
266
+ ### Minor Changes
267
+
268
+ - c70eca6: Add optional `traceId` to evaluator params so evaluators can fetch and analyze task traces for trajectory evaluation
269
+
270
+ ## 6.5.5
271
+
272
+ ### Patch Changes
273
+
274
+ - 1028be5: Bundle curated package docs and examples into npm packages under `docs/`.
275
+ - Updated dependencies [1028be5]
276
+ - @arizeai/phoenix-otel@0.4.3
277
+
278
+ ## 6.5.4
279
+
280
+ ### Patch Changes
281
+
282
+ - b4ded15: Update package READMEs with latest capabilities
283
+
284
+ - phoenix-client: Add Sessions section documenting `listSessions`, `getSession`, and `addSessionAnnotation`
285
+ - phoenix-evals: Add full pre-built evaluators table (conciseness, correctness, document relevance, refusal, tool evaluators), fix import paths for `bindEvaluator`
286
+ - phoenix-mcp: Expand Tool Coverage section with complete, accurate tool list
287
+ - phoenix-config: Full documentation replacing the one-line placeholder (installation, environment variables, usage examples)
288
+ - phoenix-cli: Add `px annotation-config` command documentation
289
+
290
+ - Updated dependencies [b4ded15]
291
+ - @arizeai/phoenix-config@0.1.3
292
+
293
+ ## 6.5.3
294
+
295
+ ### Patch Changes
296
+
297
+ - Updated dependencies [e4bdcf6]
298
+ - @arizeai/phoenix-config@0.1.2
299
+
300
+ ## 6.5.2
301
+
302
+ ### Patch Changes
303
+
304
+ - d204898: docs: document recently added commands and methods in package READMEs
305
+
306
+ ## 6.5.1
307
+
308
+ ### Patch Changes
309
+
310
+ - 91949d7: Add name, spanKind, and statusCode filter parameters to getSpans
311
+
312
+ ## 6.5.0
313
+
314
+ ### Minor Changes
315
+
316
+ - 9769f90: Add server version gating to phoenix-client. The client now reads the server version from response headers and validates it against minimum version requirements before calling newer API routes or using newer parameters. This prevents confusing errors when a client is newer than the server it connects to.
317
+
318
+ ## 6.4.0
319
+
320
+ ### Minor Changes
321
+
322
+ - 83b7f68: Add `getSessionTurns` function to retrieve ordered conversation turns (root span I/O) from a session
323
+
324
+ ## 6.3.0
325
+
326
+ ### Minor Changes
327
+
328
+ - d951320: Add `parentId` parameter to `getSpans` for filtering spans by parent span ID
329
+
330
+ ## 6.2.0
331
+
332
+ ### Minor Changes
333
+
334
+ - 6d896e3: Add `traceIds` parameter to `getSpans` and MCP `get-spans` tool for filtering spans by trace ID.
335
+
336
+ ## 6.1.0
337
+
338
+ ### Minor Changes
339
+
340
+ - 6296d0a: Replace `projectIdentifier: string` with a `ProjectIdentifier` discriminated union on `listSessions`. Callers can now pass `{ project: "name-or-id" }`, `{ projectId: "..." }`, or `{ projectName: "..." }` for explicit intent and better IDE autocompletion.
341
+ - 6296d0a: Add `getSession` and `listSessions` APIs for querying session data. `getSession` fetches a single session by ID or name, while `listSessions` returns paginated sessions for a project with cursor-based pagination.
342
+
343
+ ### Patch Changes
344
+
345
+ - b8ba989: Removed deprecated `ProjectSelector` type alias. Use `ProjectIdentifier` instead.
346
+
347
+ ## 6.0.0
348
+
349
+ ### Major Changes
350
+
351
+ - 03b10a8: feat: upgrade zod from v3 to v4
352
+
353
+ BREAKING CHANGE: Upgraded zod from v3 to v4. This changes inferred TypeScript types
354
+ for schemas using `z.looseObject()` (previously `.passthrough()`) which now include
355
+ `[x: string]: unknown` in their output types. Consumers using these types may need
356
+ to update their code. Additionally, `ZodError.errors` has been replaced with
357
+ `ZodError.issues`, `z.record()` now requires explicit key schemas, and
358
+ `zod-to-json-schema` has been replaced with native `z.toJSONSchema()`.
359
+
360
+ ### Patch Changes
361
+
362
+ - Updated dependencies [03b10a8]
363
+ - @arizeai/phoenix-otel@0.4.2
364
+
365
+ ## 5.9.0
366
+
367
+ ### Minor Changes
368
+
369
+ - b18325b: feat: upgrade AI SDK to v6
370
+
371
+ ### Patch Changes
372
+
373
+ - db24319: fix: polish experiment run output formatting and clarity
374
+ - Updated dependencies [db24319]
375
+ - @arizeai/phoenix-config@0.1.1
376
+
377
+ ## 5.8.2
378
+
379
+ ### Patch Changes
380
+
381
+ - 8be1940: Update `@arizeai/openinference-vercel` dependency to `^2.7.0`.
382
+ - Updated dependencies [7456462]
383
+ - @arizeai/phoenix-otel@0.4.1
384
+
385
+ ## 5.8.1
386
+
387
+ ### Patch Changes
388
+
389
+ - Updated dependencies [a8896db]
390
+ - @arizeai/phoenix-otel@0.4.0
391
+
392
+ ## 5.8.0
393
+
394
+ ### Minor Changes
395
+
396
+ - af4dc46: Add prompt introspection commands to Phoenix CLI
397
+ - `px prompts`: List all available prompts with names and descriptions
398
+ - `px prompt <identifier>`: Show a specific prompt with support for `--tag` and `--version` options
399
+ - `--format text`: Output prompt content with XML-style role tags for piping to AI assistants like Claude Code
400
+ - Pretty print now includes full tool definitions with parameters, types, and descriptions
401
+ - Added `listPrompts` function to phoenix-client
402
+
403
+ ## 5.7.0
404
+
405
+ ### Minor Changes
406
+
407
+ - 01eb1fb: feat: Add spanId support for linking dataset examples to traces
408
+
409
+ - Added `spanId` field to the `Example` interface for linking dataset examples back to their source spans
410
+ - Updated `createDataset` to accept examples with `spanId` and pass them to the API
411
+ - Updated `appendDatasetExamples` to accept examples with `spanId` and pass them to the API
412
+ - Added comprehensive unit tests for span ID functionality
413
+ - Added example script demonstrating how to create datasets from spans with trace associations
414
+
415
+ This feature enables traceability from datasets back to the original traces in Phoenix, making it easier to understand the provenance of dataset examples.
416
+
417
+ ## 5.6.1
418
+
419
+ ### Patch Changes
420
+
421
+ - ed59696: feat: Bump generated api schema
422
+
423
+ ## 5.6.0
424
+
425
+ ### Minor Changes
426
+
427
+ - 0f2950e: centralize phoenix config
428
+
429
+ ### Patch Changes
430
+
431
+ - Updated dependencies [0f2950e]
432
+ - @arizeai/phoenix-config@0.1.0
433
+
434
+ ## 5.5.5
435
+
436
+ ### Patch Changes
437
+
438
+ - 5132ce4: update openai to latest version
439
+
440
+ ## 5.5.4
441
+
442
+ ### Patch Changes
443
+
444
+ - 4208604: trigger changeset publish
445
+ - Updated dependencies [4208604]
446
+ - @arizeai/phoenix-otel@0.3.4
447
+
448
+ ## 5.5.3
449
+
450
+ ### Patch Changes
451
+
452
+ - c96475c: trigger changeset publish
453
+ - Updated dependencies [c96475c]
454
+ - @arizeai/phoenix-otel@0.3.3
455
+
456
+ ## 5.5.2
457
+
458
+ ### Patch Changes
459
+
460
+ - 857b617: add links to packages
461
+ - Updated dependencies [857b617]
462
+ - @arizeai/phoenix-otel@0.3.2
463
+
464
+ ## 5.5.1
465
+
466
+ ### Patch Changes
467
+
468
+ - Updated dependencies [ce5febf]
469
+ - @arizeai/phoenix-otel@0.3.1
470
+
471
+ ## 5.5.0
472
+
473
+ ### Minor Changes
474
+
475
+ - cb45336: support splits when creating dataset or adding examples
476
+
477
+ ## 5.4.1
478
+
479
+ ### Patch Changes
480
+
481
+ - b87d2a4: account for sub-paths in baseURLs properly
482
+
483
+ ## 5.4.0
484
+
485
+ ### Minor Changes
486
+
487
+ - 885be2a: make phoenix-client be able to take in phoenix evals directly
488
+
489
+ ## 5.3.0
490
+
491
+ ### Minor Changes
492
+
493
+ - 557865c: Add experiment resume and management features
494
+
495
+ **New APIs:**
496
+
497
+ - `createExperiment()` - Create an experiment without running it
498
+ - `resumeExperiment()` - Resume incomplete experiment runs (handles failed or missing runs)
499
+ - `resumeEvaluation()` - Add evaluations to completed experiments or retry failed evaluations
500
+ - `listExperiments()` - List experiments with filtering and pagination
501
+ - `deleteExperiment()` - Delete experiments
502
+
503
+ ### Patch Changes
504
+
505
+ - b000189: fix bug with channel error
506
+ - 0c92232: allow metadata when creating prompts
507
+
508
+ ## 5.2.1
509
+
510
+ ### Patch Changes
511
+
512
+ - Updated dependencies [419ea76]
513
+ - @arizeai/phoenix-otel@0.3.0
514
+
515
+ ## 5.2.0
516
+
517
+ ### Minor Changes
518
+
519
+ - f9d8b06: switch licensing to apache 2
520
+
521
+ ## 5.1.1
522
+
523
+ ### Patch Changes
524
+
525
+ - Updated dependencies [8bbff3a]
526
+ - @arizeai/phoenix-otel@0.2.1
527
+
528
+ ## 5.1.0
529
+
530
+ ### Minor Changes
531
+
532
+ - de6f111: refactor to use phoenix-otel across the client
533
+
534
+ ### Patch Changes
535
+
536
+ - Updated dependencies [de6f111]
537
+ - @arizeai/phoenix-otel@0.2.0
538
+
539
+ ## 5.0.0
540
+
541
+ ### Major Changes
542
+
543
+ - 950fda5: feat: Add support for dataset splits
544
+
545
+ This release introduces support for dataset splits, enabling you to segment and query specific portions of your dataset examples. The `DatasetSelector` interface has been enhanced to support filtering by splits, allowing for more granular dataset management and experimentation.
546
+
547
+ ## New Features
548
+
549
+ - **Dataset Splits Support**: Query dataset examples by split using the enhanced `DatasetSelector` interface
550
+ - **Split-based Experimentation**: Run experiments on specific dataset splits for targeted evaluation
551
+ - **Enhanced Dataset Types**: Updated type definitions to support split-based dataset operations
552
+
553
+ ## Breaking Changes
554
+
555
+ - **`runExperiment` API Changes**:
556
+ - The `datasetVersionId` parameter has been removed from `runExperiment`
557
+ - Version selection is now handled through the `DatasetSelector` interface
558
+ - Pass `versionId` and `splits` as properties of the `DatasetSelector` argument instead
559
+
560
+ ## Migration Guide
561
+
562
+ **Before:**
563
+
564
+ ```typescript
565
+ runExperiment({
566
+ dataset: { datasetId: "my-dataset" },
567
+ datasetVersionId: "version-123",
568
+ // ... other params
569
+ });
570
+ ```
571
+
572
+ **After:**
573
+
574
+ ```typescript
575
+ runExperiment({
576
+ dataset: {
577
+ datasetId: "my-dataset",
578
+ versionId: "version-123",
579
+ splits: ["train", "test"],
580
+ },
581
+ // ... other params
582
+ });
583
+ ```
584
+
585
+ ## 4.2.0
586
+
587
+ ### Minor Changes
588
+
589
+ - 85430fa: feat: Add configurable DiagLogLevel to runExperiment
590
+ - c7cc7d9: feat: Add createOrGetDataset helper function to phoenix-client
591
+
592
+ Additionally clean up build artifacts and type-checking amongst example scripts.
593
+
594
+ ## 4.1.0
595
+
596
+ ### Minor Changes
597
+
598
+ - 2981780: add session annotation functions
599
+
600
+ ## 4.0.3
601
+
602
+ ### Patch Changes
603
+
604
+ - e3a8ce2: pass through the tracer provider to experiments so that there is no need to configure it twice
605
+ - c85780b: Add support for generics across evals and experiments
606
+
607
+ ## 4.0.2
608
+
609
+ ### Patch Changes
610
+
611
+ - 1b71c66: make sure repetition numbers are greater than 0
612
+
613
+ ## 4.0.1
614
+
615
+ ### Patch Changes
616
+
617
+ - e72a9ad: don't swallow errors, allow for incomplete datasets (e.g. just inputs)
618
+
619
+ ## 4.0.0
620
+
621
+ ### Major Changes
622
+
623
+ - 7732f99: Breaking change for AI SDK users. Support for messages conversion for the AI SDK 5
624
+
625
+ ## 3.2.0
626
+
627
+ ### Minor Changes
628
+
629
+ - 4f43901: add support for logging document annotations
630
+
631
+ ## 3.1.0
632
+
633
+ ### Minor Changes
634
+
635
+ - ee0c829: switch to batch span processor by default and make it configurable
636
+
637
+ ## 3.0.0
638
+
639
+ ### Major Changes
640
+
641
+ - 3e80a50: delete span method
642
+
643
+ ### Minor Changes
644
+
645
+ - 8711bde: update major version of openai to ^5
646
+
647
+ ## 2.4.0
648
+
649
+ ### Minor Changes
650
+
651
+ - fe55fc5: get dataset with versionId
652
+
653
+ ## 2.3.5
654
+
655
+ ### Patch Changes
656
+
657
+ - 83748e6: add type exports and better documentation across packages
658
+
659
+ ## 2.3.4
660
+
661
+ ### Patch Changes
662
+
663
+ - 20db91d: Add tracing to evals, add tracing controls
664
+
665
+ ## 2.3.3
666
+
667
+ ### Patch Changes
668
+
669
+ - 2609fcd: bump target JS to es2017 for native async
670
+
671
+ ## 2.3.2
672
+
673
+ ### Patch Changes
674
+
675
+ - 6ef8e47: fix dataset pull by name
676
+
677
+ ## 2.3.1
678
+
679
+ ### Patch Changes
680
+
681
+ - b3e30db: simplify types for task output in experiments client api
682
+
683
+ ## 2.3.0
684
+
685
+ ### Minor Changes
686
+
687
+ - 3c97cc7: Add the ability to get a dataset by name
688
+
689
+ ## 2.2.0
690
+
691
+ ### Minor Changes
692
+
693
+ - 1906611: add getSpan method
694
+
695
+ ### Patch Changes
696
+
697
+ - 4c52db4: ollama provider added
698
+
699
+ ## 2.1.1
700
+
701
+ ### Patch Changes
702
+
703
+ - 5dd53be: add in xai to playground as provider
704
+
705
+ ## 2.1.0
706
+
707
+ ### Minor Changes
708
+
709
+ - b162720: add support for deepseek
710
+
711
+ ## 2.0.1
712
+
713
+ ### Patch Changes
714
+
715
+ - da7800a: feat(phoenix-client): Log the experiment/dataset link when calling runExperiment
716
+
717
+ ## 2.0.0
718
+
719
+ ### Major Changes
720
+
721
+ - 118e881: feat: add support for dataset creation and the ability to re-run experiments
722
+
723
+ ## 1.3.0
724
+
725
+ ### Minor Changes
726
+
727
+ - 536258e: feat(phoenix-client): Export traces from experiments to Phoenix
728
+
729
+ ## 1.2.0
730
+
731
+ ### Minor Changes
732
+
733
+ - f7fae3b: feat(phoenix-client): Record experiment results to Phoenix server
734
+ - 9273417: feat: Enqueue experiment runs
735
+ - 4dd23c8: support for annotation logging on spans
736
+
737
+ ## 1.1.0
738
+
739
+ ### Minor Changes
740
+
741
+ - fff5511: feat: Update openapi schema with new endpoints
742
+
743
+ ## 1.0.2
744
+
745
+ ### Patch Changes
746
+
747
+ - c99ee6f: Update type definitions to include max_completion_tokens openai parameter
748
+
749
+ ## 1.0.1
750
+
751
+ ### Patch Changes
752
+
753
+ - 2ffeb64: fix: Remove runtime dependency on `ai` package
754
+
755
+ ## 1.0.0
756
+
757
+ ### Major Changes
758
+
759
+ - 3f9e392: feat: Add support for Phoenix Prompts
760
+
761
+ Phoenix can now manage Prompts, and the `@arizeai/phoenix-client` package has been updated to support this.
762
+
763
+ In this initial release, we support the following:
764
+
765
+ - Fully typed Prompt REST endpoints
766
+ - Prompt Pulling
767
+ - Converting a Prompt to invocation parameters for the following LLM SDKs:
768
+ - OpenAI
769
+ - Anthropic
770
+ - Vercel AI SDK
771
+ - You can use any of the Vercel AI SDK Providers with your prompt
772
+
773
+ ### Patch Changes
774
+
775
+ - 95bfc7c: Add the ability to push prompts via the typescript client sdk
776
+
777
+ ## 0.0.1
778
+
779
+ ### Patch Changes
780
+
781
+ - 76a9cdf: pre-release of phoenix-client