@arizeai/phoenix-client 2.2.0 → 2.3.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/dist/esm/datasets/appendDatasetExamples.d.ts.map +1 -1
  2. package/dist/esm/datasets/appendDatasetExamples.js +13 -1
  3. package/dist/esm/datasets/appendDatasetExamples.js.map +1 -1
  4. package/dist/esm/datasets/getDatasetExamples.d.ts.map +1 -1
  5. package/dist/esm/datasets/getDatasetExamples.js +13 -1
  6. package/dist/esm/datasets/getDatasetExamples.js.map +1 -1
  7. package/dist/esm/datasets/getDatasetInfo.d.ts.map +1 -1
  8. package/dist/esm/datasets/getDatasetInfo.js +7 -0
  9. package/dist/esm/datasets/getDatasetInfo.js.map +1 -1
  10. package/dist/esm/datasets/getDatasetInfoByName.d.ts +10 -0
  11. package/dist/esm/datasets/getDatasetInfoByName.d.ts.map +1 -0
  12. package/dist/esm/datasets/getDatasetInfoByName.js +26 -0
  13. package/dist/esm/datasets/getDatasetInfoByName.js.map +1 -0
  14. package/dist/esm/schemas/llm/anthropic/converters.d.ts +14 -14
  15. package/dist/esm/schemas/llm/anthropic/messagePartSchemas.d.ts +4 -4
  16. package/dist/esm/schemas/llm/anthropic/messageSchemas.d.ts +12 -12
  17. package/dist/esm/schemas/llm/anthropic/toolCallSchemas.d.ts +4 -4
  18. package/dist/esm/schemas/llm/constants.d.ts +3 -3
  19. package/dist/esm/schemas/llm/converters.d.ts +12 -12
  20. package/dist/esm/schemas/llm/openai/converters.d.ts +3 -3
  21. package/dist/esm/schemas/llm/schemas.d.ts +12 -12
  22. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  23. package/dist/esm/types/datasets.d.ts +3 -1
  24. package/dist/esm/types/datasets.d.ts.map +1 -1
  25. package/dist/src/datasets/appendDatasetExamples.d.ts.map +1 -1
  26. package/dist/src/datasets/appendDatasetExamples.js +13 -1
  27. package/dist/src/datasets/appendDatasetExamples.js.map +1 -1
  28. package/dist/src/datasets/getDatasetExamples.d.ts.map +1 -1
  29. package/dist/src/datasets/getDatasetExamples.js +13 -1
  30. package/dist/src/datasets/getDatasetExamples.js.map +1 -1
  31. package/dist/src/datasets/getDatasetInfo.d.ts.map +1 -1
  32. package/dist/src/datasets/getDatasetInfo.js +7 -0
  33. package/dist/src/datasets/getDatasetInfo.js.map +1 -1
  34. package/dist/src/datasets/getDatasetInfoByName.d.ts +10 -0
  35. package/dist/src/datasets/getDatasetInfoByName.d.ts.map +1 -0
  36. package/dist/src/datasets/getDatasetInfoByName.js +41 -0
  37. package/dist/src/datasets/getDatasetInfoByName.js.map +1 -0
  38. package/dist/src/schemas/llm/anthropic/converters.d.ts +14 -14
  39. package/dist/src/schemas/llm/anthropic/messagePartSchemas.d.ts +4 -4
  40. package/dist/src/schemas/llm/anthropic/messageSchemas.d.ts +12 -12
  41. package/dist/src/schemas/llm/anthropic/toolCallSchemas.d.ts +4 -4
  42. package/dist/src/schemas/llm/constants.d.ts +3 -3
  43. package/dist/src/schemas/llm/converters.d.ts +12 -12
  44. package/dist/src/schemas/llm/openai/converters.d.ts +3 -3
  45. package/dist/src/schemas/llm/schemas.d.ts +12 -12
  46. package/dist/src/types/datasets.d.ts +3 -1
  47. package/dist/src/types/datasets.d.ts.map +1 -1
  48. package/dist/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +1 -1
  50. package/src/datasets/appendDatasetExamples.ts +12 -1
  51. package/src/datasets/getDatasetExamples.ts +12 -1
  52. package/src/datasets/getDatasetInfo.ts +8 -0
  53. package/src/datasets/getDatasetInfoByName.ts +35 -0
  54. package/src/types/datasets.ts +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arizeai/phoenix-client",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "A client for the Phoenix API",
5
5
  "main": "dist/src/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -2,6 +2,7 @@ import { createClient } from "../client";
2
2
  import { ClientFn } from "../types/core";
3
3
  import { Example, DatasetSelector } from "../types/datasets";
4
4
  import invariant from "tiny-invariant";
5
+ import { getDatasetInfo } from "./getDatasetInfo";
5
6
 
6
7
  export type AppendDatasetExamplesParams = ClientFn & {
7
8
  /**
@@ -33,6 +34,16 @@ export async function appendDatasetExamples({
33
34
  const inputs = examples.map((example) => example.input);
34
35
  const outputs = examples.map((example) => example.output ?? {}); // Treat null as an empty object
35
36
  const metadata = examples.map((example) => example.metadata);
37
+ let datasetName: string;
38
+ if ("datasetName" in dataset) {
39
+ datasetName = dataset.datasetName;
40
+ } else {
41
+ const datasetInfo = await getDatasetInfo({
42
+ client,
43
+ dataset,
44
+ });
45
+ datasetName = datasetInfo.name;
46
+ }
36
47
  const appendResponse = await client.POST("/v1/datasets/upload", {
37
48
  params: {
38
49
  query: {
@@ -40,7 +51,7 @@ export async function appendDatasetExamples({
40
51
  },
41
52
  },
42
53
  body: {
43
- name: dataset.datasetId,
54
+ name: datasetName,
44
55
  action: "append",
45
56
  inputs,
46
57
  outputs,
@@ -2,6 +2,7 @@ import invariant from "tiny-invariant";
2
2
  import { createClient } from "../client";
3
3
  import { ClientFn } from "../types/core";
4
4
  import { DatasetSelector, DatasetExamples } from "../types/datasets";
5
+ import { getDatasetInfoByName } from "./getDatasetInfoByName";
5
6
 
6
7
  export type GetDatasetExamplesParams = ClientFn & {
7
8
  dataset: DatasetSelector;
@@ -15,10 +16,20 @@ export async function getDatasetExamples({
15
16
  dataset,
16
17
  }: GetDatasetExamplesParams): Promise<DatasetExamples> {
17
18
  const client = _client || createClient();
19
+ let datasetId: string;
20
+ if ("datasetName" in dataset) {
21
+ const datasetInfo = await getDatasetInfoByName({
22
+ client,
23
+ datasetName: dataset.datasetName,
24
+ });
25
+ datasetId = datasetInfo.id;
26
+ } else {
27
+ datasetId = dataset.datasetId;
28
+ }
18
29
  const response = await client.GET("/v1/datasets/{id}/examples", {
19
30
  params: {
20
31
  path: {
21
- id: dataset.datasetId,
32
+ id: datasetId,
22
33
  },
23
34
  },
24
35
  });
@@ -2,6 +2,7 @@ import invariant from "tiny-invariant";
2
2
  import { createClient } from "../client";
3
3
  import { ClientFn } from "../types/core";
4
4
  import { DatasetSelector, DatasetInfo } from "../types/datasets";
5
+ import { getDatasetInfoByName } from "./getDatasetInfoByName";
5
6
 
6
7
  export type GetDatasetInfoParams = ClientFn & {
7
8
  dataset: DatasetSelector;
@@ -16,6 +17,13 @@ export async function getDatasetInfo({
16
17
  dataset,
17
18
  }: GetDatasetInfoParams): Promise<DatasetInfo> {
18
19
  const client = _client || createClient();
20
+ if ("datasetName" in dataset) {
21
+ return await getDatasetInfoByName({
22
+ client,
23
+ datasetName: dataset.datasetName,
24
+ });
25
+ }
26
+
19
27
  const datasetResponse = await client.GET("/v1/datasets/{id}", {
20
28
  params: {
21
29
  path: {
@@ -0,0 +1,35 @@
1
+ import { createClient } from "../client";
2
+ import { ClientFn } from "../types/core";
3
+ import { DatasetInfo } from "../types/datasets";
4
+
5
+ export type GetDatasetParams = ClientFn & {
6
+ datasetName: string;
7
+ };
8
+
9
+ /**
10
+ * Get the information of a dataset via the name
11
+ */
12
+ export async function getDatasetInfoByName({
13
+ client: _client,
14
+ datasetName,
15
+ }: GetDatasetParams): Promise<DatasetInfo> {
16
+ const client = _client || createClient();
17
+ const response = await client.GET("/v1/datasets", {
18
+ query: {
19
+ name: datasetName,
20
+ },
21
+ });
22
+ if (response.data?.data?.length) {
23
+ const datasetInfo = response.data.data[0];
24
+ if (!datasetInfo) {
25
+ throw new Error(`Dataset with name ${datasetName} not found`);
26
+ }
27
+ return {
28
+ id: datasetInfo.id,
29
+ name: datasetInfo.name,
30
+ description: datasetInfo.description || undefined,
31
+ metadata: datasetInfo.metadata,
32
+ };
33
+ }
34
+ throw new Error(`Dataset with name ${datasetName} not found`);
35
+ }
@@ -2,9 +2,9 @@ import { Node } from "./core";
2
2
 
3
3
  /**
4
4
  * A dataset can be identified by its datasetId
5
- * TODO: add support for datasetName and datasetVersionId via discriminated union
5
+ * TODO: add support for datasetVersionId via discriminated union
6
6
  */
7
- export type DatasetSelector = { datasetId: string };
7
+ export type DatasetSelector = { datasetId: string } | { datasetName: string };
8
8
 
9
9
  /**
10
10
  * Overview information about a dataset