@arizeai/phoenix-client 1.2.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 (183) hide show
  1. package/README.md +118 -0
  2. package/dist/esm/client.d.ts +13 -1
  3. package/dist/esm/client.d.ts.map +1 -1
  4. package/dist/esm/client.js +4 -1
  5. package/dist/esm/client.js.map +1 -1
  6. package/dist/esm/datasets/appendDatasetExamples.d.ts +21 -0
  7. package/dist/esm/datasets/appendDatasetExamples.d.ts.map +1 -0
  8. package/dist/esm/datasets/appendDatasetExamples.js +32 -0
  9. package/dist/esm/datasets/appendDatasetExamples.js.map +1 -0
  10. package/dist/esm/datasets/createDataset.d.ts +25 -0
  11. package/dist/esm/datasets/createDataset.d.ts.map +1 -0
  12. package/dist/esm/datasets/createDataset.js +34 -0
  13. package/dist/esm/datasets/createDataset.js.map +1 -0
  14. package/dist/esm/datasets/getDataset.d.ts +10 -0
  15. package/dist/esm/datasets/getDataset.d.ts.map +1 -0
  16. package/dist/esm/datasets/getDataset.js +18 -0
  17. package/dist/esm/datasets/getDataset.js.map +1 -0
  18. package/dist/esm/datasets/getDatasetExamples.d.ts +10 -0
  19. package/dist/esm/datasets/getDatasetExamples.d.ts.map +1 -0
  20. package/dist/esm/datasets/getDatasetExamples.js +25 -0
  21. package/dist/esm/datasets/getDatasetExamples.js.map +1 -0
  22. package/dist/esm/datasets/getDatasetInfo.d.ts +11 -0
  23. package/dist/esm/datasets/getDatasetInfo.d.ts.map +1 -0
  24. package/dist/esm/datasets/getDatasetInfo.js +25 -0
  25. package/dist/esm/datasets/getDatasetInfo.js.map +1 -0
  26. package/dist/esm/datasets/index.d.ts +7 -0
  27. package/dist/esm/datasets/index.d.ts.map +1 -0
  28. package/dist/esm/datasets/index.js +7 -0
  29. package/dist/esm/datasets/index.js.map +1 -0
  30. package/dist/esm/datasets/listDatasets.d.ts +23 -0
  31. package/dist/esm/datasets/listDatasets.d.ts.map +1 -0
  32. package/dist/esm/datasets/listDatasets.js +26 -0
  33. package/dist/esm/datasets/listDatasets.js.map +1 -0
  34. package/dist/esm/experiments/getExperiment.d.ts +14 -0
  35. package/dist/esm/experiments/getExperiment.d.ts.map +1 -0
  36. package/dist/esm/experiments/getExperiment.js +25 -0
  37. package/dist/esm/experiments/getExperiment.js.map +1 -0
  38. package/dist/esm/experiments/getExperimentInfo.d.ts +13 -0
  39. package/dist/esm/experiments/getExperimentInfo.d.ts.map +1 -0
  40. package/dist/esm/experiments/getExperimentInfo.js +24 -0
  41. package/dist/esm/experiments/getExperimentInfo.js.map +1 -0
  42. package/dist/esm/experiments/getExperimentRuns.d.ts +15 -0
  43. package/dist/esm/experiments/getExperimentRuns.d.ts.map +1 -0
  44. package/dist/esm/experiments/getExperimentRuns.js +33 -0
  45. package/dist/esm/experiments/getExperimentRuns.js.map +1 -0
  46. package/dist/esm/experiments/index.d.ts +3 -0
  47. package/dist/esm/experiments/index.d.ts.map +1 -1
  48. package/dist/esm/experiments/index.js +3 -0
  49. package/dist/esm/experiments/index.js.map +1 -1
  50. package/dist/esm/experiments/instrumention.d.ts +18 -0
  51. package/dist/esm/experiments/instrumention.d.ts.map +1 -0
  52. package/dist/esm/experiments/instrumention.js +34 -0
  53. package/dist/esm/experiments/instrumention.js.map +1 -0
  54. package/dist/esm/experiments/runExperiment.d.ts +24 -21
  55. package/dist/esm/experiments/runExperiment.d.ts.map +1 -1
  56. package/dist/esm/experiments/runExperiment.js +221 -108
  57. package/dist/esm/experiments/runExperiment.js.map +1 -1
  58. package/dist/esm/schemas/llm/anthropic/converters.d.ts +28 -28
  59. package/dist/esm/schemas/llm/anthropic/messagePartSchemas.d.ts +8 -8
  60. package/dist/esm/schemas/llm/anthropic/messageSchemas.d.ts +24 -24
  61. package/dist/esm/schemas/llm/anthropic/toolCallSchemas.d.ts +8 -8
  62. package/dist/esm/schemas/llm/constants.d.ts +6 -6
  63. package/dist/esm/schemas/llm/converters.d.ts +24 -24
  64. package/dist/esm/schemas/llm/openai/converters.d.ts +6 -6
  65. package/dist/esm/schemas/llm/schemas.d.ts +22 -22
  66. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  67. package/dist/esm/types/datasets.d.ts +33 -8
  68. package/dist/esm/types/datasets.d.ts.map +1 -1
  69. package/dist/esm/types/experiments.d.ts +17 -4
  70. package/dist/esm/types/experiments.d.ts.map +1 -1
  71. package/dist/esm/utils/ensureString.d.ts +8 -0
  72. package/dist/esm/utils/ensureString.d.ts.map +1 -0
  73. package/dist/esm/utils/ensureString.js +14 -0
  74. package/dist/esm/utils/ensureString.js.map +1 -0
  75. package/dist/esm/utils/objectAsAttributes.d.ts +3 -0
  76. package/dist/esm/utils/objectAsAttributes.d.ts.map +1 -0
  77. package/dist/esm/utils/objectAsAttributes.js +4 -0
  78. package/dist/esm/utils/objectAsAttributes.js.map +1 -0
  79. package/dist/src/client.d.ts +13 -1
  80. package/dist/src/client.d.ts.map +1 -1
  81. package/dist/src/client.js +1 -1
  82. package/dist/src/client.js.map +1 -1
  83. package/dist/src/datasets/appendDatasetExamples.d.ts +21 -0
  84. package/dist/src/datasets/appendDatasetExamples.d.ts.map +1 -0
  85. package/dist/src/datasets/appendDatasetExamples.js +50 -0
  86. package/dist/src/datasets/appendDatasetExamples.js.map +1 -0
  87. package/dist/src/datasets/createDataset.d.ts +25 -0
  88. package/dist/src/datasets/createDataset.d.ts.map +1 -0
  89. package/dist/src/datasets/createDataset.js +52 -0
  90. package/dist/src/datasets/createDataset.js.map +1 -0
  91. package/dist/src/datasets/getDataset.d.ts +10 -0
  92. package/dist/src/datasets/getDataset.d.ts.map +1 -0
  93. package/dist/src/datasets/getDataset.js +29 -0
  94. package/dist/src/datasets/getDataset.js.map +1 -0
  95. package/dist/src/datasets/getDatasetExamples.d.ts +10 -0
  96. package/dist/src/datasets/getDatasetExamples.d.ts.map +1 -0
  97. package/dist/src/datasets/getDatasetExamples.js +40 -0
  98. package/dist/src/datasets/getDatasetExamples.js.map +1 -0
  99. package/dist/src/datasets/getDatasetInfo.d.ts +11 -0
  100. package/dist/src/datasets/getDatasetInfo.d.ts.map +1 -0
  101. package/dist/src/datasets/getDatasetInfo.js +43 -0
  102. package/dist/src/datasets/getDatasetInfo.js.map +1 -0
  103. package/dist/src/datasets/index.d.ts +7 -0
  104. package/dist/src/datasets/index.d.ts.map +1 -0
  105. package/dist/src/datasets/index.js +23 -0
  106. package/dist/src/datasets/index.js.map +1 -0
  107. package/dist/src/datasets/listDatasets.d.ts +23 -0
  108. package/dist/src/datasets/listDatasets.d.ts.map +1 -0
  109. package/dist/src/datasets/listDatasets.js +40 -0
  110. package/dist/src/datasets/listDatasets.js.map +1 -0
  111. package/dist/src/experiments/getExperiment.d.ts +14 -0
  112. package/dist/src/experiments/getExperiment.d.ts.map +1 -0
  113. package/dist/src/experiments/getExperiment.js +36 -0
  114. package/dist/src/experiments/getExperiment.js.map +1 -0
  115. package/dist/src/experiments/getExperimentInfo.d.ts +13 -0
  116. package/dist/src/experiments/getExperimentInfo.d.ts.map +1 -0
  117. package/dist/src/experiments/getExperimentInfo.js +41 -0
  118. package/dist/src/experiments/getExperimentInfo.js.map +1 -0
  119. package/dist/src/experiments/getExperimentRuns.d.ts +15 -0
  120. package/dist/src/experiments/getExperimentRuns.d.ts.map +1 -0
  121. package/dist/src/experiments/getExperimentRuns.js +50 -0
  122. package/dist/src/experiments/getExperimentRuns.js.map +1 -0
  123. package/dist/src/experiments/index.d.ts +3 -0
  124. package/dist/src/experiments/index.d.ts.map +1 -1
  125. package/dist/src/experiments/index.js +3 -0
  126. package/dist/src/experiments/index.js.map +1 -1
  127. package/dist/src/experiments/instrumention.d.ts +18 -0
  128. package/dist/src/experiments/instrumention.d.ts.map +1 -0
  129. package/dist/src/experiments/instrumention.js +38 -0
  130. package/dist/src/experiments/instrumention.js.map +1 -0
  131. package/dist/src/experiments/runExperiment.d.ts +24 -21
  132. package/dist/src/experiments/runExperiment.d.ts.map +1 -1
  133. package/dist/src/experiments/runExperiment.js +222 -111
  134. package/dist/src/experiments/runExperiment.js.map +1 -1
  135. package/dist/src/schemas/llm/anthropic/converters.d.ts +28 -28
  136. package/dist/src/schemas/llm/anthropic/messagePartSchemas.d.ts +8 -8
  137. package/dist/src/schemas/llm/anthropic/messageSchemas.d.ts +24 -24
  138. package/dist/src/schemas/llm/anthropic/toolCallSchemas.d.ts +8 -8
  139. package/dist/src/schemas/llm/constants.d.ts +6 -6
  140. package/dist/src/schemas/llm/converters.d.ts +24 -24
  141. package/dist/src/schemas/llm/openai/converters.d.ts +6 -6
  142. package/dist/src/schemas/llm/schemas.d.ts +22 -22
  143. package/dist/src/types/datasets.d.ts +33 -8
  144. package/dist/src/types/datasets.d.ts.map +1 -1
  145. package/dist/src/types/experiments.d.ts +17 -4
  146. package/dist/src/types/experiments.d.ts.map +1 -1
  147. package/dist/src/utils/ensureString.d.ts +8 -0
  148. package/dist/src/utils/ensureString.d.ts.map +1 -0
  149. package/dist/src/utils/ensureString.js +18 -0
  150. package/dist/src/utils/ensureString.js.map +1 -0
  151. package/dist/src/utils/objectAsAttributes.d.ts +3 -0
  152. package/dist/src/utils/objectAsAttributes.d.ts.map +1 -0
  153. package/dist/src/utils/objectAsAttributes.js +7 -0
  154. package/dist/src/utils/objectAsAttributes.js.map +1 -0
  155. package/dist/tsconfig.tsbuildinfo +1 -1
  156. package/package.json +13 -1
  157. package/src/client.ts +4 -1
  158. package/src/datasets/appendDatasetExamples.ts +55 -0
  159. package/src/datasets/createDataset.ts +60 -0
  160. package/src/datasets/getDataset.ts +27 -0
  161. package/src/datasets/getDatasetExamples.ts +34 -0
  162. package/src/datasets/getDatasetInfo.ts +34 -0
  163. package/src/datasets/index.ts +6 -0
  164. package/src/datasets/listDatasets.ts +37 -0
  165. package/src/experiments/getExperiment.ts +40 -0
  166. package/src/experiments/getExperimentInfo.ts +39 -0
  167. package/src/experiments/getExperimentRuns.ts +45 -0
  168. package/src/experiments/index.ts +3 -0
  169. package/src/experiments/instrumention.ts +52 -0
  170. package/src/experiments/runExperiment.ts +277 -133
  171. package/src/types/datasets.ts +35 -9
  172. package/src/types/experiments.ts +19 -4
  173. package/src/utils/ensureString.ts +14 -0
  174. package/src/utils/objectAsAttributes.ts +9 -0
  175. package/dist/esm/utils/getDatasetBySelector.d.ts +0 -25
  176. package/dist/esm/utils/getDatasetBySelector.d.ts.map +0 -1
  177. package/dist/esm/utils/getDatasetBySelector.js +0 -37
  178. package/dist/esm/utils/getDatasetBySelector.js.map +0 -1
  179. package/dist/src/utils/getDatasetBySelector.d.ts +0 -25
  180. package/dist/src/utils/getDatasetBySelector.d.ts.map +0 -1
  181. package/dist/src/utils/getDatasetBySelector.js +0 -47
  182. package/dist/src/utils/getDatasetBySelector.js.map +0 -1
  183. package/src/utils/getDatasetBySelector.ts +0 -55
@@ -1,22 +1,48 @@
1
1
  import { Node } from "./core";
2
2
 
3
+ /**
4
+ * A dataset can be identified by its datasetId
5
+ * TODO: add support for datasetName and datasetVersionId via discriminated union
6
+ */
7
+ export type DatasetSelector = { datasetId: string };
8
+
9
+ /**
10
+ * Overview information about a dataset
11
+ */
12
+ export interface DatasetInfo extends Node {
13
+ name: string;
14
+ description?: string | null;
15
+ metadata?: Record<string, unknown>;
16
+ }
17
+
18
+ /**
19
+ * A dataset's examples
20
+ */
21
+ export interface DatasetExamples {
22
+ examples: ExampleWithId[];
23
+ /**
24
+ * The version ID of the dataset examples
25
+ */
26
+ versionId: string;
27
+ }
28
+
3
29
  /**
4
30
  * An example is a record to feed into an AI task
5
31
  */
6
- export interface Example extends Node {
7
- id: string;
8
- updatedAt: Date;
32
+ export interface Example {
9
33
  input: Record<string, unknown>;
10
34
  output: Record<string, unknown> | null;
11
35
  metadata: Record<string, unknown>;
12
36
  }
13
37
 
14
38
  /**
15
- * A dataset is a collection of examples for an AI task
39
+ * An example that has been synced to the server
16
40
  */
17
- export interface Dataset extends Node {
18
- id: string;
19
- name: string;
20
- versionId: string;
21
- examples: Example[];
41
+ export interface ExampleWithId extends Example, Node {
42
+ updatedAt: Date;
22
43
  }
44
+
45
+ /**
46
+ * A dataset is a collection of examples for an AI task
47
+ */
48
+ export interface Dataset extends DatasetInfo, DatasetExamples, Node {}
@@ -5,18 +5,33 @@ import { Example } from "./datasets";
5
5
  /**
6
6
  * An experiment is a set of task runs on a dataset version
7
7
  */
8
- export interface Experiment extends Node {
8
+ export interface ExperimentInfo extends Node {
9
9
  datasetId: string;
10
10
  datasetVersionId: string;
11
11
  /**
12
12
  * The project under which the experiment task traces are recorded
13
13
  */
14
14
  projectName: string;
15
+ /**
16
+ * Metadata about the experiment as an object of key values
17
+ * e.x. model name
18
+ */
19
+ metadata: Record<string, unknown>;
20
+ }
21
+
22
+ export type ExperimentRunID = string;
23
+
24
+ /**
25
+ * A map of an experiment runId to the run
26
+ */
27
+ export interface ExperimentRunsMap {
28
+ runs: Record<ExperimentRunID, ExperimentRun>;
15
29
  }
16
30
 
17
- export interface RanExperiment extends Experiment {
18
- params: ExperimentParameters;
19
- runs: Record<string, ExperimentRun>;
31
+ /**
32
+ * An experiment that has been run and been recorded on the server
33
+ */
34
+ export interface RanExperiment extends ExperimentInfo, ExperimentRunsMap {
20
35
  evaluationRuns?: ExperimentEvaluationRun[];
21
36
  }
22
37
 
@@ -0,0 +1,14 @@
1
+ import { safelyStringifyJSON } from "./safelyStringifyJSON";
2
+
3
+ /**
4
+ * Ensures that a value is a string.
5
+ * If the value is not a string, it will be converted to a string using `safelyStringifyJSON`.
6
+ * @param value - The value to ensure is a string.
7
+ * @returns The value as a string.
8
+ */
9
+ export function ensureString(value: unknown): string {
10
+ if (typeof value === "string") {
11
+ return value;
12
+ }
13
+ return safelyStringifyJSON(value)?.json ?? "";
14
+ }
@@ -0,0 +1,9 @@
1
+ import { AttributeValue } from "@opentelemetry/api";
2
+
3
+ export function objectAsAttributes<T extends Record<string, unknown>>(
4
+ obj: T
5
+ ): Record<string, AttributeValue> {
6
+ return Object.fromEntries(
7
+ Object.entries(obj).filter(([_, value]) => value !== null)
8
+ ) as Record<string, AttributeValue>;
9
+ }
@@ -1,25 +0,0 @@
1
- import { PhoenixClient } from "../client.js";
2
- import { Example } from "../types/datasets.js";
3
- import { Dataset } from "../types/datasets.js";
4
- /**
5
- * Parameters for the getDatasetLike function
6
- */
7
- export type GetDatasetLikeParams = {
8
- /**
9
- * The dataset to get. Can be in the form of a dataset id, an array of examples, or a dataset object.
10
- */
11
- dataset: Dataset | string | Example[];
12
- client: PhoenixClient;
13
- };
14
- /**
15
- * Return a dataset object from the input.
16
- *
17
- * If the input is a string, assume it is a dataset id and fetch the dataset from the client.
18
- * If the input is an array of examples, create a new dataset from the examples then return it.
19
- * If the input is a dataset, return it as is.
20
- *
21
- * @param params - The parameters to get a dataset.
22
- * @returns The dataset.
23
- */
24
- export declare function getDatasetBySelector({ dataset, client, }: GetDatasetLikeParams): Promise<Dataset | null>;
25
- //# sourceMappingURL=getDatasetBySelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDatasetBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getDatasetBySelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,OAAO,EACP,MAAM,GACP,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAwBhD"}
@@ -1,37 +0,0 @@
1
- import invariant from "tiny-invariant";
2
- /**
3
- * Return a dataset object from the input.
4
- *
5
- * If the input is a string, assume it is a dataset id and fetch the dataset from the client.
6
- * If the input is an array of examples, create a new dataset from the examples then return it.
7
- * If the input is a dataset, return it as is.
8
- *
9
- * @param params - The parameters to get a dataset.
10
- * @returns The dataset.
11
- */
12
- export async function getDatasetBySelector({ dataset, client, }) {
13
- if (typeof dataset === "string") {
14
- const datasetResponse = await client
15
- .GET(`/v1/datasets/{id}`, { params: { path: { id: dataset } } })
16
- .then((d) => d.data?.data);
17
- invariant(datasetResponse, `Dataset ${dataset} not found`);
18
- const examples = await client
19
- .GET(`/v1/datasets/{id}/examples`, { params: { path: { id: dataset } } })
20
- .then((e) => e.data?.data);
21
- invariant(examples, `Examples for dataset ${dataset} not found`);
22
- const datasetWithExamples = {
23
- ...datasetResponse,
24
- examples: examples.examples.map((example) => ({
25
- ...example,
26
- updatedAt: new Date(example.updated_at),
27
- })),
28
- versionId: examples.version_id,
29
- };
30
- return datasetWithExamples;
31
- }
32
- if (Array.isArray(dataset)) {
33
- throw new Error("TODO: implement dataset creation from examples");
34
- }
35
- return dataset;
36
- }
37
- //# sourceMappingURL=getDatasetBySelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDatasetBySelector.js","sourceRoot":"","sources":["../../../src/utils/getDatasetBySelector.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAiBvC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,OAAO,EACP,MAAM,GACe;IACrB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,MAAM,MAAM;aACjC,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;aAC/D,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,SAAS,CAAC,eAAe,EAAE,WAAW,OAAO,YAAY,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,MAAM;aAC1B,GAAG,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;aACxE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,SAAS,CAAC,QAAQ,EAAE,wBAAwB,OAAO,YAAY,CAAC,CAAC;QACjE,MAAM,mBAAmB,GAAY;YACnC,GAAG,eAAe;YAClB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC5C,GAAG,OAAO;gBACV,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aACxC,CAAC,CAAC;YACH,SAAS,EAAE,QAAQ,CAAC,UAAU;SAC/B,CAAC;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,25 +0,0 @@
1
- import { PhoenixClient } from "../client";
2
- import { Example } from "../types/datasets";
3
- import { Dataset } from "../types/datasets";
4
- /**
5
- * Parameters for the getDatasetLike function
6
- */
7
- export type GetDatasetLikeParams = {
8
- /**
9
- * The dataset to get. Can be in the form of a dataset id, an array of examples, or a dataset object.
10
- */
11
- dataset: Dataset | string | Example[];
12
- client: PhoenixClient;
13
- };
14
- /**
15
- * Return a dataset object from the input.
16
- *
17
- * If the input is a string, assume it is a dataset id and fetch the dataset from the client.
18
- * If the input is an array of examples, create a new dataset from the examples then return it.
19
- * If the input is a dataset, return it as is.
20
- *
21
- * @param params - The parameters to get a dataset.
22
- * @returns The dataset.
23
- */
24
- export declare function getDatasetBySelector({ dataset, client, }: GetDatasetLikeParams): Promise<Dataset | null>;
25
- //# sourceMappingURL=getDatasetBySelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDatasetBySelector.d.ts","sourceRoot":"","sources":["../../../src/utils/getDatasetBySelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,OAAO,EACP,MAAM,GACP,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAwBhD"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getDatasetBySelector = getDatasetBySelector;
16
- const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
17
- /**
18
- * Return a dataset object from the input.
19
- *
20
- * If the input is a string, assume it is a dataset id and fetch the dataset from the client.
21
- * If the input is an array of examples, create a new dataset from the examples then return it.
22
- * If the input is a dataset, return it as is.
23
- *
24
- * @param params - The parameters to get a dataset.
25
- * @returns The dataset.
26
- */
27
- function getDatasetBySelector(_a) {
28
- return __awaiter(this, arguments, void 0, function* ({ dataset, client, }) {
29
- if (typeof dataset === "string") {
30
- const datasetResponse = yield client
31
- .GET(`/v1/datasets/{id}`, { params: { path: { id: dataset } } })
32
- .then((d) => { var _a; return (_a = d.data) === null || _a === void 0 ? void 0 : _a.data; });
33
- (0, tiny_invariant_1.default)(datasetResponse, `Dataset ${dataset} not found`);
34
- const examples = yield client
35
- .GET(`/v1/datasets/{id}/examples`, { params: { path: { id: dataset } } })
36
- .then((e) => { var _a; return (_a = e.data) === null || _a === void 0 ? void 0 : _a.data; });
37
- (0, tiny_invariant_1.default)(examples, `Examples for dataset ${dataset} not found`);
38
- const datasetWithExamples = Object.assign(Object.assign({}, datasetResponse), { examples: examples.examples.map((example) => (Object.assign(Object.assign({}, example), { updatedAt: new Date(example.updated_at) }))), versionId: examples.version_id });
39
- return datasetWithExamples;
40
- }
41
- if (Array.isArray(dataset)) {
42
- throw new Error("TODO: implement dataset creation from examples");
43
- }
44
- return dataset;
45
- });
46
- }
47
- //# sourceMappingURL=getDatasetBySelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDatasetBySelector.js","sourceRoot":"","sources":["../../../src/utils/getDatasetBySelector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AA2BA,oDA2BC;AAtDD,oEAAuC;AAiBvC;;;;;;;;;GASG;AACH,SAAsB,oBAAoB;yDAAC,EACzC,OAAO,EACP,MAAM,GACe;QACrB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,MAAM,MAAM;iBACjC,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;iBAC/D,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,IAAI,CAAA,EAAA,CAAC,CAAC;YAC7B,IAAA,wBAAS,EAAC,eAAe,EAAE,WAAW,OAAO,YAAY,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,MAAM;iBAC1B,GAAG,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;iBACxE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,IAAI,CAAA,EAAA,CAAC,CAAC;YAC7B,IAAA,wBAAS,EAAC,QAAQ,EAAE,wBAAwB,OAAO,YAAY,CAAC,CAAC;YACjE,MAAM,mBAAmB,mCACpB,eAAe,KAClB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iCACxC,OAAO,KACV,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IACvC,CAAC,EACH,SAAS,EAAE,QAAQ,CAAC,UAAU,GAC/B,CAAC;YACF,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA"}
@@ -1,55 +0,0 @@
1
- import invariant from "tiny-invariant";
2
- import { PhoenixClient } from "../client";
3
- import { Example } from "../types/datasets";
4
-
5
- import { Dataset } from "../types/datasets";
6
-
7
- /**
8
- * Parameters for the getDatasetLike function
9
- */
10
- export type GetDatasetLikeParams = {
11
- /**
12
- * The dataset to get. Can be in the form of a dataset id, an array of examples, or a dataset object.
13
- */
14
- dataset: Dataset | string | Example[];
15
- client: PhoenixClient;
16
- };
17
-
18
- /**
19
- * Return a dataset object from the input.
20
- *
21
- * If the input is a string, assume it is a dataset id and fetch the dataset from the client.
22
- * If the input is an array of examples, create a new dataset from the examples then return it.
23
- * If the input is a dataset, return it as is.
24
- *
25
- * @param params - The parameters to get a dataset.
26
- * @returns The dataset.
27
- */
28
- export async function getDatasetBySelector({
29
- dataset,
30
- client,
31
- }: GetDatasetLikeParams): Promise<Dataset | null> {
32
- if (typeof dataset === "string") {
33
- const datasetResponse = await client
34
- .GET(`/v1/datasets/{id}`, { params: { path: { id: dataset } } })
35
- .then((d) => d.data?.data);
36
- invariant(datasetResponse, `Dataset ${dataset} not found`);
37
- const examples = await client
38
- .GET(`/v1/datasets/{id}/examples`, { params: { path: { id: dataset } } })
39
- .then((e) => e.data?.data);
40
- invariant(examples, `Examples for dataset ${dataset} not found`);
41
- const datasetWithExamples: Dataset = {
42
- ...datasetResponse,
43
- examples: examples.examples.map((example) => ({
44
- ...example,
45
- updatedAt: new Date(example.updated_at),
46
- })),
47
- versionId: examples.version_id,
48
- };
49
- return datasetWithExamples;
50
- }
51
- if (Array.isArray(dataset)) {
52
- throw new Error("TODO: implement dataset creation from examples");
53
- }
54
- return dataset;
55
- }