@arizeai/phoenix-client 1.3.0 → 2.0.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/README.md +118 -0
  2. package/dist/esm/datasets/appendDatasetExamples.d.ts +21 -0
  3. package/dist/esm/datasets/appendDatasetExamples.d.ts.map +1 -0
  4. package/dist/esm/datasets/appendDatasetExamples.js +32 -0
  5. package/dist/esm/datasets/appendDatasetExamples.js.map +1 -0
  6. package/dist/esm/datasets/createDataset.d.ts +25 -0
  7. package/dist/esm/datasets/createDataset.d.ts.map +1 -0
  8. package/dist/esm/datasets/createDataset.js +34 -0
  9. package/dist/esm/datasets/createDataset.js.map +1 -0
  10. package/dist/esm/datasets/getDataset.d.ts +10 -0
  11. package/dist/esm/datasets/getDataset.d.ts.map +1 -0
  12. package/dist/esm/datasets/getDataset.js +18 -0
  13. package/dist/esm/datasets/getDataset.js.map +1 -0
  14. package/dist/esm/datasets/getDatasetExamples.d.ts +10 -0
  15. package/dist/esm/datasets/getDatasetExamples.d.ts.map +1 -0
  16. package/dist/esm/datasets/getDatasetExamples.js +25 -0
  17. package/dist/esm/datasets/getDatasetExamples.js.map +1 -0
  18. package/dist/esm/datasets/getDatasetInfo.d.ts +11 -0
  19. package/dist/esm/datasets/getDatasetInfo.d.ts.map +1 -0
  20. package/dist/esm/datasets/getDatasetInfo.js +25 -0
  21. package/dist/esm/datasets/getDatasetInfo.js.map +1 -0
  22. package/dist/esm/datasets/index.d.ts +7 -0
  23. package/dist/esm/datasets/index.d.ts.map +1 -0
  24. package/dist/esm/datasets/index.js +7 -0
  25. package/dist/esm/datasets/index.js.map +1 -0
  26. package/dist/esm/datasets/listDatasets.d.ts +23 -0
  27. package/dist/esm/datasets/listDatasets.d.ts.map +1 -0
  28. package/dist/esm/datasets/listDatasets.js +26 -0
  29. package/dist/esm/datasets/listDatasets.js.map +1 -0
  30. package/dist/esm/experiments/getExperiment.d.ts +14 -0
  31. package/dist/esm/experiments/getExperiment.d.ts.map +1 -0
  32. package/dist/esm/experiments/getExperiment.js +25 -0
  33. package/dist/esm/experiments/getExperiment.js.map +1 -0
  34. package/dist/esm/experiments/getExperimentInfo.d.ts +13 -0
  35. package/dist/esm/experiments/getExperimentInfo.d.ts.map +1 -0
  36. package/dist/esm/experiments/getExperimentInfo.js +24 -0
  37. package/dist/esm/experiments/getExperimentInfo.js.map +1 -0
  38. package/dist/esm/experiments/getExperimentRuns.d.ts +15 -0
  39. package/dist/esm/experiments/getExperimentRuns.d.ts.map +1 -0
  40. package/dist/esm/experiments/getExperimentRuns.js +33 -0
  41. package/dist/esm/experiments/getExperimentRuns.js.map +1 -0
  42. package/dist/esm/experiments/index.d.ts +3 -0
  43. package/dist/esm/experiments/index.d.ts.map +1 -1
  44. package/dist/esm/experiments/index.js +3 -0
  45. package/dist/esm/experiments/index.js.map +1 -1
  46. package/dist/esm/experiments/runExperiment.d.ts +6 -6
  47. package/dist/esm/experiments/runExperiment.d.ts.map +1 -1
  48. package/dist/esm/experiments/runExperiment.js +14 -12
  49. package/dist/esm/experiments/runExperiment.js.map +1 -1
  50. package/dist/esm/schemas/llm/anthropic/converters.d.ts +28 -28
  51. package/dist/esm/schemas/llm/anthropic/messagePartSchemas.d.ts +8 -8
  52. package/dist/esm/schemas/llm/anthropic/messageSchemas.d.ts +24 -24
  53. package/dist/esm/schemas/llm/anthropic/toolCallSchemas.d.ts +8 -8
  54. package/dist/esm/schemas/llm/constants.d.ts +6 -6
  55. package/dist/esm/schemas/llm/converters.d.ts +24 -24
  56. package/dist/esm/schemas/llm/openai/converters.d.ts +6 -6
  57. package/dist/esm/schemas/llm/schemas.d.ts +22 -22
  58. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  59. package/dist/esm/types/datasets.d.ts +33 -8
  60. package/dist/esm/types/datasets.d.ts.map +1 -1
  61. package/dist/esm/types/experiments.d.ts +17 -3
  62. package/dist/esm/types/experiments.d.ts.map +1 -1
  63. package/dist/src/datasets/appendDatasetExamples.d.ts +21 -0
  64. package/dist/src/datasets/appendDatasetExamples.d.ts.map +1 -0
  65. package/dist/src/datasets/appendDatasetExamples.js +50 -0
  66. package/dist/src/datasets/appendDatasetExamples.js.map +1 -0
  67. package/dist/src/datasets/createDataset.d.ts +25 -0
  68. package/dist/src/datasets/createDataset.d.ts.map +1 -0
  69. package/dist/src/datasets/createDataset.js +52 -0
  70. package/dist/src/datasets/createDataset.js.map +1 -0
  71. package/dist/src/datasets/getDataset.d.ts +10 -0
  72. package/dist/src/datasets/getDataset.d.ts.map +1 -0
  73. package/dist/src/datasets/getDataset.js +29 -0
  74. package/dist/src/datasets/getDataset.js.map +1 -0
  75. package/dist/src/datasets/getDatasetExamples.d.ts +10 -0
  76. package/dist/src/datasets/getDatasetExamples.d.ts.map +1 -0
  77. package/dist/src/datasets/getDatasetExamples.js +40 -0
  78. package/dist/src/datasets/getDatasetExamples.js.map +1 -0
  79. package/dist/src/datasets/getDatasetInfo.d.ts +11 -0
  80. package/dist/src/datasets/getDatasetInfo.d.ts.map +1 -0
  81. package/dist/src/datasets/getDatasetInfo.js +43 -0
  82. package/dist/src/datasets/getDatasetInfo.js.map +1 -0
  83. package/dist/src/datasets/index.d.ts +7 -0
  84. package/dist/src/datasets/index.d.ts.map +1 -0
  85. package/dist/src/datasets/index.js +23 -0
  86. package/dist/src/datasets/index.js.map +1 -0
  87. package/dist/src/datasets/listDatasets.d.ts +23 -0
  88. package/dist/src/datasets/listDatasets.d.ts.map +1 -0
  89. package/dist/src/datasets/listDatasets.js +40 -0
  90. package/dist/src/datasets/listDatasets.js.map +1 -0
  91. package/dist/src/experiments/getExperiment.d.ts +14 -0
  92. package/dist/src/experiments/getExperiment.d.ts.map +1 -0
  93. package/dist/src/experiments/getExperiment.js +36 -0
  94. package/dist/src/experiments/getExperiment.js.map +1 -0
  95. package/dist/src/experiments/getExperimentInfo.d.ts +13 -0
  96. package/dist/src/experiments/getExperimentInfo.d.ts.map +1 -0
  97. package/dist/src/experiments/getExperimentInfo.js +41 -0
  98. package/dist/src/experiments/getExperimentInfo.js.map +1 -0
  99. package/dist/src/experiments/getExperimentRuns.d.ts +15 -0
  100. package/dist/src/experiments/getExperimentRuns.d.ts.map +1 -0
  101. package/dist/src/experiments/getExperimentRuns.js +50 -0
  102. package/dist/src/experiments/getExperimentRuns.js.map +1 -0
  103. package/dist/src/experiments/index.d.ts +3 -0
  104. package/dist/src/experiments/index.d.ts.map +1 -1
  105. package/dist/src/experiments/index.js +3 -0
  106. package/dist/src/experiments/index.js.map +1 -1
  107. package/dist/src/experiments/runExperiment.d.ts +6 -6
  108. package/dist/src/experiments/runExperiment.d.ts.map +1 -1
  109. package/dist/src/experiments/runExperiment.js +14 -12
  110. package/dist/src/experiments/runExperiment.js.map +1 -1
  111. package/dist/src/schemas/llm/anthropic/converters.d.ts +28 -28
  112. package/dist/src/schemas/llm/anthropic/messagePartSchemas.d.ts +8 -8
  113. package/dist/src/schemas/llm/anthropic/messageSchemas.d.ts +24 -24
  114. package/dist/src/schemas/llm/anthropic/toolCallSchemas.d.ts +8 -8
  115. package/dist/src/schemas/llm/constants.d.ts +6 -6
  116. package/dist/src/schemas/llm/converters.d.ts +24 -24
  117. package/dist/src/schemas/llm/openai/converters.d.ts +6 -6
  118. package/dist/src/schemas/llm/schemas.d.ts +22 -22
  119. package/dist/src/types/datasets.d.ts +33 -8
  120. package/dist/src/types/datasets.d.ts.map +1 -1
  121. package/dist/src/types/experiments.d.ts +17 -3
  122. package/dist/src/types/experiments.d.ts.map +1 -1
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/package.json +5 -1
  125. package/src/datasets/appendDatasetExamples.ts +55 -0
  126. package/src/datasets/createDataset.ts +60 -0
  127. package/src/datasets/getDataset.ts +27 -0
  128. package/src/datasets/getDatasetExamples.ts +34 -0
  129. package/src/datasets/getDatasetInfo.ts +34 -0
  130. package/src/datasets/index.ts +6 -0
  131. package/src/datasets/listDatasets.ts +37 -0
  132. package/src/experiments/getExperiment.ts +40 -0
  133. package/src/experiments/getExperimentInfo.ts +39 -0
  134. package/src/experiments/getExperimentRuns.ts +45 -0
  135. package/src/experiments/index.ts +3 -0
  136. package/src/experiments/runExperiment.ts +31 -25
  137. package/src/types/datasets.ts +35 -9
  138. package/src/types/experiments.ts +19 -3
  139. package/dist/esm/utils/getDatasetBySelector.d.ts +0 -25
  140. package/dist/esm/utils/getDatasetBySelector.d.ts.map +0 -1
  141. package/dist/esm/utils/getDatasetBySelector.js +0 -37
  142. package/dist/esm/utils/getDatasetBySelector.js.map +0 -1
  143. package/dist/src/utils/getDatasetBySelector.d.ts +0 -25
  144. package/dist/src/utils/getDatasetBySelector.d.ts.map +0 -1
  145. package/dist/src/utils/getDatasetBySelector.js +0 -47
  146. package/dist/src/utils/getDatasetBySelector.js.map +0 -1
  147. package/src/utils/getDatasetBySelector.ts +0 -55
package/README.md CHANGED
@@ -173,6 +173,123 @@ const prompt = await phoenix.GET("/v1/prompts/{prompt_identifier}/latest", {
173
173
 
174
174
  A comprehensive overview of the available endpoints and their parameters is available in the OpenAPI viewer within Phoenix, or in the [Phoenix OpenAPI spec](https://github.com/Arize-ai/phoenix/blob/main/schemas/openapi.json).
175
175
 
176
+ ## Datasets
177
+
178
+ The `@arizeai/phoenix-client` package allows you to create and manage datasets, which are collections of examples used for experiments and evaluation.
179
+
180
+ ### Creating a Dataset
181
+
182
+ You can create a dataset by providing a name, description, and an array of examples (each with `input`, `output`, and optional `metadata`).
183
+
184
+ ```ts
185
+ import { createDataset } from "@arizeai/phoenix-client/datasets";
186
+
187
+ const { datasetId } = await createDataset({
188
+ name: "questions",
189
+ description: "a simple dataset of questions",
190
+ examples: [
191
+ {
192
+ input: { question: "What is the capital of France" },
193
+ output: { answer: "Paris" },
194
+ metadata: {},
195
+ },
196
+ {
197
+ input: { question: "What is the capital of the USA" },
198
+ output: { answer: "Washington D.C." },
199
+ metadata: {},
200
+ },
201
+ ],
202
+ });
203
+ // You can now use datasetId to run experiments or add more examples
204
+ ```
205
+
206
+ ## Experiments
207
+
208
+ The `@arizeai/phoenix-client` package provides an experiments API for running and evaluating tasks on datasets. This is useful for benchmarking models, evaluating outputs, and tracking experiment results in Phoenix.
209
+
210
+ ### Running an Experiment
211
+
212
+ To run an experiment, you typically:
213
+
214
+ 1. Create a dataset (or use an existing one)
215
+ 2. Define a task function to run on each example
216
+ 3. Define one or more evaluators to score or label the outputs
217
+ 4. Run the experiment and inspect the results
218
+
219
+ Below is a complete example:
220
+
221
+ ```ts
222
+ import { createDataset } from "@arizeai/phoenix-client/datasets";
223
+ import {
224
+ asEvaluator,
225
+ runExperiment,
226
+ } from "@arizeai/phoenix-client/experiments";
227
+
228
+ // 1. Create a dataset
229
+ const { datasetId } = await createDataset({
230
+ name: "names-dataset",
231
+ description: "a simple dataset of names",
232
+ examples: [
233
+ {
234
+ input: { name: "John" },
235
+ output: { text: "Hello, John!" },
236
+ metadata: {},
237
+ },
238
+ {
239
+ input: { name: "Jane" },
240
+ output: { text: "Hello, Jane!" },
241
+ metadata: {},
242
+ },
243
+ ],
244
+ });
245
+
246
+ // 2. Define a task to run on each example
247
+ const task = async (example) => `hello ${example.input.name}`;
248
+
249
+ // 3. Define evaluators
250
+ const evaluators = [
251
+ asEvaluator({
252
+ name: "matches",
253
+ kind: "CODE",
254
+ evaluate: async ({ output, expected }) => {
255
+ const matches = output === expected?.text;
256
+ return {
257
+ label: matches ? "matches" : "does not match",
258
+ score: matches ? 1 : 0,
259
+ explanation: matches
260
+ ? "output matches expected"
261
+ : "output does not match expected",
262
+ metadata: {},
263
+ };
264
+ },
265
+ }),
266
+ asEvaluator({
267
+ name: "contains-hello",
268
+ kind: "CODE",
269
+ evaluate: async ({ output }) => {
270
+ const matches = typeof output === "string" && output.includes("hello");
271
+ return {
272
+ label: matches ? "contains hello" : "does not contain hello",
273
+ score: matches ? 1 : 0,
274
+ explanation: matches
275
+ ? "output contains hello"
276
+ : "output does not contain hello",
277
+ metadata: {},
278
+ };
279
+ },
280
+ }),
281
+ ];
282
+
283
+ // 4. Run the experiment
284
+ const experiment = await runExperiment({
285
+ dataset: { datasetId },
286
+ task,
287
+ evaluators,
288
+ });
289
+ ```
290
+
291
+ > **Hint:** Tasks and evaluators are instrumented using [OpenTelemetry](https://opentelemetry.io/). You can view detailed traces of experiment runs and evaluations directly in the Phoenix UI for debugging and performance analysis.
292
+
176
293
  ## Examples
177
294
 
178
295
  To run examples, install dependencies using `pnpm` and run:
@@ -193,4 +310,5 @@ Compatibility Table:
193
310
 
194
311
  | Phoenix Client Version | Phoenix Server Version |
195
312
  | ---------------------- | ---------------------- |
313
+ | ^2.0.0 | ^9.0.0 |
196
314
  | ^1.0.0 | ^8.0.0 |
@@ -0,0 +1,21 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { Example, DatasetSelector } from "../types/datasets.js";
3
+ export type AppendDatasetExamplesParams = ClientFn & {
4
+ /**
5
+ * The dataset to append examples to
6
+ */
7
+ dataset: DatasetSelector;
8
+ /**
9
+ * The examples to append to the dataset
10
+ */
11
+ examples: Example[];
12
+ };
13
+ export type AppendDatasetExamplesResponse = {
14
+ datasetId: string;
15
+ };
16
+ /**
17
+ * Append examples to an existing dataset
18
+ * @experimental this interface may change in the future
19
+ */
20
+ export declare function appendDatasetExamples({ client: _client, dataset, examples, }: AppendDatasetExamplesParams): Promise<AppendDatasetExamplesResponse>;
21
+ //# sourceMappingURL=appendDatasetExamples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendDatasetExamples.d.ts","sourceRoot":"","sources":["../../../src/datasets/appendDatasetExamples.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG7D,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG;IACnD;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;CAGnB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,OAAO,EACP,QAAQ,GACT,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAwBtE"}
@@ -0,0 +1,32 @@
1
+ import { createClient } from "../client.js";
2
+ import invariant from "tiny-invariant";
3
+ /**
4
+ * Append examples to an existing dataset
5
+ * @experimental this interface may change in the future
6
+ */
7
+ export async function appendDatasetExamples({ client: _client, dataset, examples, }) {
8
+ const client = _client || createClient();
9
+ const inputs = examples.map((example) => example.input);
10
+ const outputs = examples.map((example) => example.output ?? {}); // Treat null as an empty object
11
+ const metadata = examples.map((example) => example.metadata);
12
+ const appendResponse = await client.POST("/v1/datasets/upload", {
13
+ params: {
14
+ query: {
15
+ sync: true,
16
+ },
17
+ },
18
+ body: {
19
+ name: dataset.datasetId,
20
+ action: "append",
21
+ inputs,
22
+ outputs,
23
+ metadata,
24
+ },
25
+ });
26
+ invariant(appendResponse.data?.data, "Failed to append dataset examples");
27
+ const datasetId = appendResponse.data.data.dataset_id;
28
+ return {
29
+ datasetId,
30
+ };
31
+ }
32
+ //# sourceMappingURL=appendDatasetExamples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendDatasetExamples.js","sourceRoot":"","sources":["../../../src/datasets/appendDatasetExamples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAmBvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,MAAM,EAAE,OAAO,EACf,OAAO,EACP,QAAQ,GACoB;IAC5B,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC;IACjG,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QAC9D,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;aACX;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO,CAAC,SAAS;YACvB,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,OAAO;YACP,QAAQ;SACT;KACF,CAAC,CAAC;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IACtD,OAAO;QACL,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { Example } from "../types/datasets.js";
3
+ export type CreateDatasetParams = ClientFn & {
4
+ /**
5
+ * The name of the dataset
6
+ */
7
+ name: string;
8
+ /**
9
+ * The description of the dataset
10
+ */
11
+ description: string;
12
+ /**
13
+ * The examples to create in the dataset
14
+ */
15
+ examples: Example[];
16
+ };
17
+ export type CreateDatasetResponse = {
18
+ datasetId: string;
19
+ };
20
+ /**
21
+ * Create a new dataset
22
+ * @experimental this interface may change in the future
23
+ */
24
+ export declare function createDataset({ client: _client, name, description, examples, }: CreateDatasetParams): Promise<CreateDatasetResponse>;
25
+ //# sourceMappingURL=createDataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDataset.d.ts","sourceRoot":"","sources":["../../../src/datasets/createDataset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG;IAC3C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,IAAI,EACJ,WAAW,EACX,QAAQ,GACT,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0BtD"}
@@ -0,0 +1,34 @@
1
+ import { createClient } from "../client.js";
2
+ import invariant from "tiny-invariant";
3
+ /**
4
+ * Create a new dataset
5
+ * @experimental this interface may change in the future
6
+ */
7
+ export async function createDataset({ client: _client, name, description, examples, }) {
8
+ const client = _client || createClient();
9
+ const inputs = examples.map((example) => example.input);
10
+ const outputs = examples.map((example) => example.output ?? {}); // Treat null as an empty object
11
+ const metadata = examples.map((example) => example.metadata);
12
+ const createDatasetResponse = await client.POST("/v1/datasets/upload", {
13
+ params: {
14
+ query: {
15
+ // TODO: parameterize this
16
+ sync: true,
17
+ },
18
+ },
19
+ body: {
20
+ name,
21
+ description,
22
+ action: "create",
23
+ inputs,
24
+ outputs,
25
+ metadata,
26
+ },
27
+ });
28
+ invariant(createDatasetResponse.data?.data, "Failed to create dataset");
29
+ const datasetId = createDatasetResponse.data.data.dataset_id;
30
+ return {
31
+ datasetId,
32
+ };
33
+ }
34
+ //# sourceMappingURL=createDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDataset.js","sourceRoot":"","sources":["../../../src/datasets/createDataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAqBvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,IAAI,EACJ,WAAW,EACX,QAAQ,GACY;IACpB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC;IACjG,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACrE,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,0BAA0B;gBAC1B,IAAI,EAAE,IAAI;aACX;SACF;QACD,IAAI,EAAE;YACJ,IAAI;YACJ,WAAW;YACX,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,OAAO;YACP,QAAQ;SACT;KACF,CAAC,CAAC;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC7D,OAAO;QACL,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { DatasetSelector, Dataset } from "../types/datasets.js";
3
+ export type GetDatasetParams = ClientFn & {
4
+ dataset: DatasetSelector;
5
+ };
6
+ /**
7
+ * Get dataset info and the examples from the latest version of the dataset
8
+ */
9
+ export declare function getDataset({ client: _client, dataset, }: GetDatasetParams): Promise<Dataset>;
10
+ //# sourceMappingURL=getDataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDataset.d.ts","sourceRoot":"","sources":["../../../src/datasets/getDataset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI7D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,OAAO,GACR,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAUrC"}
@@ -0,0 +1,18 @@
1
+ import { createClient } from "../client.js";
2
+ import { getDatasetExamples } from "./getDatasetExamples.js";
3
+ import { getDatasetInfo } from "./getDatasetInfo.js";
4
+ /**
5
+ * Get dataset info and the examples from the latest version of the dataset
6
+ */
7
+ export async function getDataset({ client: _client, dataset, }) {
8
+ const client = _client || createClient();
9
+ const [datasetInfo, datasetExamples] = await Promise.all([
10
+ getDatasetInfo({ client, dataset }),
11
+ getDatasetExamples({ client, dataset }),
12
+ ]);
13
+ return {
14
+ ...datasetInfo,
15
+ ...datasetExamples,
16
+ };
17
+ }
18
+ //# sourceMappingURL=getDataset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDataset.js","sourceRoot":"","sources":["../../../src/datasets/getDataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAC/B,MAAM,EAAE,OAAO,EACf,OAAO,GACU;IACjB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACnC,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,OAAO;QACL,GAAG,WAAW;QACd,GAAG,eAAe;KACnB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { DatasetSelector, DatasetExamples } from "../types/datasets.js";
3
+ export type GetDatasetExamplesParams = ClientFn & {
4
+ dataset: DatasetSelector;
5
+ };
6
+ /**
7
+ * Get the latest examples from a dataset
8
+ */
9
+ export declare function getDatasetExamples({ client: _client, dataset, }: GetDatasetExamplesParams): Promise<DatasetExamples>;
10
+ //# sourceMappingURL=getDatasetExamples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDatasetExamples.d.ts","sourceRoot":"","sources":["../../../src/datasets/getDatasetExamples.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,GAAG;IAChD,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EAAE,OAAO,EACf,OAAO,GACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkBrD"}
@@ -0,0 +1,25 @@
1
+ import invariant from "tiny-invariant";
2
+ import { createClient } from "../client.js";
3
+ /**
4
+ * Get the latest examples from a dataset
5
+ */
6
+ export async function getDatasetExamples({ client: _client, dataset, }) {
7
+ const client = _client || createClient();
8
+ const response = await client.GET("/v1/datasets/{id}/examples", {
9
+ params: {
10
+ path: {
11
+ id: dataset.datasetId,
12
+ },
13
+ },
14
+ });
15
+ invariant(response.data?.data, "Failed to get dataset examples");
16
+ const examplesData = response.data.data;
17
+ return {
18
+ versionId: examplesData.version_id,
19
+ examples: examplesData.examples.map((example) => ({
20
+ ...example,
21
+ updatedAt: new Date(example.updated_at),
22
+ })),
23
+ };
24
+ }
25
+ //# sourceMappingURL=getDatasetExamples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDatasetExamples.js","sourceRoot":"","sources":["../../../src/datasets/getDatasetExamples.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAQzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,MAAM,EAAE,OAAO,EACf,OAAO,GACkB;IACzB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE;QAC9D,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,EAAE,EAAE,OAAO,CAAC,SAAS;aACtB;SACF;KACF,CAAC,CAAC;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IACxC,OAAO;QACL,SAAS,EAAE,YAAY,CAAC,UAAU;QAClC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,OAAO;YACV,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { DatasetSelector, DatasetInfo } from "../types/datasets.js";
3
+ export type GetDatasetInfoParams = ClientFn & {
4
+ dataset: DatasetSelector;
5
+ };
6
+ /**
7
+ * Get an overview of the information in a dataset
8
+ * Note: this does not include the examples contained in the dataset
9
+ */
10
+ export declare function getDatasetInfo({ client: _client, dataset, }: GetDatasetInfoParams): Promise<DatasetInfo>;
11
+ //# sourceMappingURL=getDatasetInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDatasetInfo.d.ts","sourceRoot":"","sources":["../../../src/datasets/getDatasetInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG;IAC5C,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,OAAO,GACR,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAiB7C"}
@@ -0,0 +1,25 @@
1
+ import invariant from "tiny-invariant";
2
+ import { createClient } from "../client.js";
3
+ /**
4
+ * Get an overview of the information in a dataset
5
+ * Note: this does not include the examples contained in the dataset
6
+ */
7
+ export async function getDatasetInfo({ client: _client, dataset, }) {
8
+ const client = _client || createClient();
9
+ const datasetResponse = await client.GET("/v1/datasets/{id}", {
10
+ params: {
11
+ path: {
12
+ id: dataset.datasetId,
13
+ },
14
+ },
15
+ });
16
+ invariant(datasetResponse.data?.data, "Failed to get dataset info");
17
+ const datasetInfo = datasetResponse.data.data;
18
+ return {
19
+ id: datasetInfo.id,
20
+ name: datasetInfo.name,
21
+ description: datasetInfo.description || undefined,
22
+ metadata: datasetInfo.metadata,
23
+ };
24
+ }
25
+ //# sourceMappingURL=getDatasetInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDatasetInfo.js","sourceRoot":"","sources":["../../../src/datasets/getDatasetInfo.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAQzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,MAAM,EAAE,OAAO,EACf,OAAO,GACc;IACrB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;QAC5D,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,EAAE,EAAE,OAAO,CAAC,SAAS;aACtB;SACF;KACF,CAAC,CAAC;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,SAAS;QACjD,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./createDataset.js";
2
+ export * from "./getDataset.js";
3
+ export * from "./getDatasetExamples.js";
4
+ export * from "./appendDatasetExamples.js";
5
+ export * from "./getDatasetExamples.js";
6
+ export * from "./getDatasetInfo.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/datasets/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./createDataset.js";
2
+ export * from "./getDataset.js";
3
+ export * from "./getDatasetExamples.js";
4
+ export * from "./appendDatasetExamples.js";
5
+ export * from "./getDatasetExamples.js";
6
+ export * from "./getDatasetInfo.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/datasets/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { DatasetInfo } from "../types/datasets.js";
2
+ import { ClientFn } from "../types/core.js";
3
+ export type ListDatasetsParams = ClientFn;
4
+ type FullDatasetInfo = DatasetInfo & {
5
+ startDate: Date;
6
+ endDate: Date;
7
+ };
8
+ /**
9
+ * List the information about all datasets available to the client.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { listDatasets } from "@arizeai/phoenix-client/datasets";
14
+ *
15
+ * const datasets = await listDatasets({});
16
+ * console.log(datasets);
17
+ * ```
18
+ *
19
+ * @throws {Error} If the datasets cannot be listed or the response is invalid.
20
+ */
21
+ export declare function listDatasets({ client: _client, }: ListDatasetsParams): Promise<FullDatasetInfo[]>;
22
+ export {};
23
+ //# sourceMappingURL=listDatasets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listDatasets.d.ts","sourceRoot":"","sources":["../../../src/datasets/listDatasets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE1C,KAAK,eAAe,GAAG,WAAW,GAAG;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,GAChB,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CASjD"}
@@ -0,0 +1,26 @@
1
+ import { createClient } from "../client.js";
2
+ import invariant from "tiny-invariant";
3
+ /**
4
+ * List the information about all datasets available to the client.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { listDatasets } from "@arizeai/phoenix-client/datasets";
9
+ *
10
+ * const datasets = await listDatasets({});
11
+ * console.log(datasets);
12
+ * ```
13
+ *
14
+ * @throws {Error} If the datasets cannot be listed or the response is invalid.
15
+ */
16
+ export async function listDatasets({ client: _client, }) {
17
+ const client = _client || createClient();
18
+ const response = await client.GET("/v1/datasets");
19
+ invariant(response.data?.data, "Failed to list datasets");
20
+ return response.data.data.map((dataset) => ({
21
+ ...dataset,
22
+ startDate: new Date(dataset.created_at),
23
+ endDate: new Date(dataset.updated_at),
24
+ }));
25
+ }
26
+ //# sourceMappingURL=listDatasets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listDatasets.js","sourceRoot":"","sources":["../../../src/datasets/listDatasets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AASvC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,GACI;IACnB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAC1D,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1C,GAAG,OAAO;QACV,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACvC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;KACtC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { RanExperiment } from "../types/experiments.js";
3
+ export type GetExperimentResultParams = ClientFn & {
4
+ /**
5
+ * The experiment ID.
6
+ */
7
+ experimentId: string;
8
+ };
9
+ /**
10
+ * A function that gets the result of a experiment.
11
+ * Fetches the experiment data as well as the runs.
12
+ */
13
+ export declare function getExperiment({ client: _client, experimentId, }: GetExperimentResultParams): Promise<RanExperiment>;
14
+ //# sourceMappingURL=getExperiment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExperiment.d.ts","sourceRoot":"","sources":["../../../src/experiments/getExperiment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAqB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIxE,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG;IACjD;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,YAAY,GACb,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBpD"}
@@ -0,0 +1,25 @@
1
+ import { createClient } from "../client.js";
2
+ import { getExperimentInfo } from "./getExperimentInfo.js";
3
+ import { getExperimentRuns } from "./getExperimentRuns.js";
4
+ /**
5
+ * A function that gets the result of a experiment.
6
+ * Fetches the experiment data as well as the runs.
7
+ */
8
+ export async function getExperiment({ client: _client, experimentId, }) {
9
+ const client = _client || createClient();
10
+ const [experiment, experimentRuns] = await Promise.all([
11
+ getExperimentInfo({ client, experimentId }),
12
+ getExperimentRuns({ client, experimentId }),
13
+ ]);
14
+ const experimentRunsMap = {
15
+ runs: experimentRuns.runs.reduce((acc, run) => {
16
+ acc[run.id] = run;
17
+ return acc;
18
+ }, {}),
19
+ };
20
+ return {
21
+ ...experiment,
22
+ ...experimentRunsMap,
23
+ };
24
+ }
25
+ //# sourceMappingURL=getExperiment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExperiment.js","sourceRoot":"","sources":["../../../src/experiments/getExperiment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AASxD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,MAAM,EAAE,OAAO,EACf,YAAY,GACc;IAC1B,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAC3C,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAsB;QAC3C,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAA+B,CAChC;KACF,CAAC;IACF,OAAO;QACL,GAAG,UAAU;QACb,GAAG,iBAAiB;KACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { type ExperimentInfo } from "../types/experiments.js";
3
+ export type GetExperimentParams = ClientFn & {
4
+ /**
5
+ * The experiment ID
6
+ */
7
+ experimentId: string;
8
+ };
9
+ /**
10
+ * Returns an object containing the high-level info about an experiment
11
+ */
12
+ export declare function getExperimentInfo({ client: _client, experimentId: experiment_id, }: GetExperimentParams): Promise<ExperimentInfo>;
13
+ //# sourceMappingURL=getExperimentInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExperimentInfo.d.ts","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG;IAC3C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,aAAa,GAC5B,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAoB/C"}
@@ -0,0 +1,24 @@
1
+ import invariant from "tiny-invariant";
2
+ import { createClient } from "../client.js";
3
+ /**
4
+ * Returns an object containing the high-level info about an experiment
5
+ */
6
+ export async function getExperimentInfo({ client: _client, experimentId: experiment_id, }) {
7
+ const client = _client || createClient();
8
+ const { data: { data: experimentData } = {} } = await client.GET("/v1/experiments/{experiment_id}", {
9
+ params: {
10
+ path: {
11
+ experiment_id,
12
+ },
13
+ },
14
+ });
15
+ invariant(experimentData, "Failed to get experiment");
16
+ return {
17
+ id: experimentData.id,
18
+ datasetId: experimentData.dataset_id,
19
+ datasetVersionId: experimentData.dataset_version_id,
20
+ projectName: experimentData.project_name || "", // This will never happen
21
+ metadata: experimentData.metadata,
22
+ };
23
+ }
24
+ //# sourceMappingURL=getExperimentInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExperimentInfo.js","sourceRoot":"","sources":["../../../src/experiments/getExperimentInfo.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,aAAa,GACP;IACpB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9D,iCAAiC,EACjC;QACE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,aAAa;aACd;SACF;KACF,CACF,CAAC;IACF,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;IACtD,OAAO;QACL,EAAE,EAAE,cAAc,CAAC,EAAE;QACrB,SAAS,EAAE,cAAc,CAAC,UAAU;QACpC,gBAAgB,EAAE,cAAc,CAAC,kBAAkB;QACnD,WAAW,EAAE,cAAc,CAAC,YAAY,IAAI,EAAE,EAAE,yBAAyB;QACzE,QAAQ,EAAE,cAAc,CAAC,QAAQ;KAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ClientFn } from "../types/core.js";
2
+ import { ExperimentRun } from "../types/experiments.js";
3
+ export type GetExperimentRunsParams = ClientFn & {
4
+ /**
5
+ * The experiment ID.
6
+ */
7
+ experimentId: string;
8
+ };
9
+ /**
10
+ * A function that gets the runs (e.g. the results) of a experiment
11
+ */
12
+ export declare function getExperimentRuns({ client: _client, experimentId, }: GetExperimentRunsParams): Promise<{
13
+ runs: ExperimentRun[];
14
+ }>;
15
+ //# sourceMappingURL=getExperimentRuns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExperimentRuns.d.ts","sourceRoot":"","sources":["../../../src/experiments/getExperimentRuns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG;IAC/C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,GACb,EAAE,uBAAuB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CA0B9D"}
@@ -0,0 +1,33 @@
1
+ import { createClient } from "../client.js";
2
+ import invariant from "tiny-invariant";
3
+ /**
4
+ * A function that gets the runs (e.g. the results) of a experiment
5
+ */
6
+ export async function getExperimentRuns({ client: _client, experimentId, }) {
7
+ const client = _client || createClient();
8
+ const getRunsPromise = client.GET("/v1/experiments/{experiment_id}/runs", {
9
+ params: {
10
+ path: {
11
+ experiment_id: experimentId,
12
+ },
13
+ },
14
+ });
15
+ const [experimentRunResponse] = await Promise.all([getRunsPromise]);
16
+ const { data: { data: experimentRunsData } = {} } = experimentRunResponse;
17
+ invariant(experimentRunsData, "Failed to retrieve experiment runs");
18
+ return {
19
+ runs: experimentRunsData.map((run) => {
20
+ return {
21
+ id: run.id,
22
+ traceId: run.trace_id || null,
23
+ experimentId: run.experiment_id,
24
+ datasetExampleId: run.dataset_example_id,
25
+ startTime: new Date(run.start_time),
26
+ endTime: new Date(run.end_time),
27
+ output: run.output,
28
+ error: run.error || null,
29
+ };
30
+ }),
31
+ };
32
+ }
33
+ //# sourceMappingURL=getExperimentRuns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExperimentRuns.js","sourceRoot":"","sources":["../../../src/experiments/getExperimentRuns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAWvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,MAAM,EAAE,OAAO,EACf,YAAY,GACY;IACxB,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;IACzC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE;QACxE,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,aAAa,EAAE,YAAY;aAC5B;SACF;KACF,CAAC,CAAC;IACH,MAAM,CAAC,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,GAAG,qBAAqB,CAAC;IAC1E,SAAS,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;IACpE,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;gBAC/B,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;gBACxC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;gBACnC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC/B,MAAM,EAAE,GAAG,CAAC,MAAiC;gBAC7C,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;aACzB,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}