langsmith 0.1.36 → 0.1.37

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.
package/dist/client.cjs CHANGED
@@ -1659,6 +1659,67 @@ class Client {
1659
1659
  const result = await response.json();
1660
1660
  return result;
1661
1661
  }
1662
+ async listDatasetSplits({ datasetId, datasetName, asOf, }) {
1663
+ let datasetId_;
1664
+ if (datasetId === undefined && datasetName === undefined) {
1665
+ throw new Error("Must provide dataset name or ID");
1666
+ }
1667
+ else if (datasetId !== undefined && datasetName !== undefined) {
1668
+ throw new Error("Must provide either datasetName or datasetId, not both");
1669
+ }
1670
+ else if (datasetId === undefined) {
1671
+ const dataset = await this.readDataset({ datasetName });
1672
+ datasetId_ = dataset.id;
1673
+ }
1674
+ else {
1675
+ datasetId_ = datasetId;
1676
+ }
1677
+ (0, _uuid_js_1.assertUuid)(datasetId_);
1678
+ const params = new URLSearchParams();
1679
+ const dataset_version = asOf
1680
+ ? typeof asOf === "string"
1681
+ ? asOf
1682
+ : asOf?.toISOString()
1683
+ : undefined;
1684
+ if (dataset_version) {
1685
+ params.append("as_of", dataset_version);
1686
+ }
1687
+ const response = await this._get(`/datasets/${datasetId_}/splits`, params);
1688
+ return response;
1689
+ }
1690
+ async updateDatasetSplits({ datasetId, datasetName, splitName, exampleIds, remove = false, }) {
1691
+ let datasetId_;
1692
+ if (datasetId === undefined && datasetName === undefined) {
1693
+ throw new Error("Must provide dataset name or ID");
1694
+ }
1695
+ else if (datasetId !== undefined && datasetName !== undefined) {
1696
+ throw new Error("Must provide either datasetName or datasetId, not both");
1697
+ }
1698
+ else if (datasetId === undefined) {
1699
+ const dataset = await this.readDataset({ datasetName });
1700
+ datasetId_ = dataset.id;
1701
+ }
1702
+ else {
1703
+ datasetId_ = datasetId;
1704
+ }
1705
+ (0, _uuid_js_1.assertUuid)(datasetId_);
1706
+ const data = {
1707
+ split_name: splitName,
1708
+ examples: exampleIds.map((id) => {
1709
+ (0, _uuid_js_1.assertUuid)(id);
1710
+ return id;
1711
+ }),
1712
+ remove,
1713
+ };
1714
+ const response = await this.caller.call(fetch, `${this.apiUrl}/datasets/${datasetId_}/splits`, {
1715
+ method: "PUT",
1716
+ headers: { ...this.headers, "Content-Type": "application/json" },
1717
+ body: JSON.stringify(data),
1718
+ signal: AbortSignal.timeout(this.timeout_ms),
1719
+ ...this.fetchOptions,
1720
+ });
1721
+ await raiseForStatus(response, "update dataset splits");
1722
+ }
1662
1723
  /**
1663
1724
  * @deprecated This method is deprecated and will be removed in future LangSmith versions, use `evaluate` from `langsmith/evaluation` instead.
1664
1725
  */
package/dist/client.d.ts CHANGED
@@ -430,6 +430,18 @@ export declare class Client {
430
430
  }): AsyncIterable<Example>;
431
431
  deleteExample(exampleId: string): Promise<void>;
432
432
  updateExample(exampleId: string, update: ExampleUpdate): Promise<object>;
433
+ listDatasetSplits({ datasetId, datasetName, asOf, }: {
434
+ datasetId?: string;
435
+ datasetName?: string;
436
+ asOf?: string | Date;
437
+ }): Promise<string[]>;
438
+ updateDatasetSplits({ datasetId, datasetName, splitName, exampleIds, remove, }: {
439
+ datasetId?: string;
440
+ datasetName?: string;
441
+ splitName: string;
442
+ exampleIds: string[];
443
+ remove?: boolean;
444
+ }): Promise<void>;
433
445
  /**
434
446
  * @deprecated This method is deprecated and will be removed in future LangSmith versions, use `evaluate` from `langsmith/evaluation` instead.
435
447
  */
package/dist/client.js CHANGED
@@ -1632,6 +1632,67 @@ export class Client {
1632
1632
  const result = await response.json();
1633
1633
  return result;
1634
1634
  }
1635
+ async listDatasetSplits({ datasetId, datasetName, asOf, }) {
1636
+ let datasetId_;
1637
+ if (datasetId === undefined && datasetName === undefined) {
1638
+ throw new Error("Must provide dataset name or ID");
1639
+ }
1640
+ else if (datasetId !== undefined && datasetName !== undefined) {
1641
+ throw new Error("Must provide either datasetName or datasetId, not both");
1642
+ }
1643
+ else if (datasetId === undefined) {
1644
+ const dataset = await this.readDataset({ datasetName });
1645
+ datasetId_ = dataset.id;
1646
+ }
1647
+ else {
1648
+ datasetId_ = datasetId;
1649
+ }
1650
+ assertUuid(datasetId_);
1651
+ const params = new URLSearchParams();
1652
+ const dataset_version = asOf
1653
+ ? typeof asOf === "string"
1654
+ ? asOf
1655
+ : asOf?.toISOString()
1656
+ : undefined;
1657
+ if (dataset_version) {
1658
+ params.append("as_of", dataset_version);
1659
+ }
1660
+ const response = await this._get(`/datasets/${datasetId_}/splits`, params);
1661
+ return response;
1662
+ }
1663
+ async updateDatasetSplits({ datasetId, datasetName, splitName, exampleIds, remove = false, }) {
1664
+ let datasetId_;
1665
+ if (datasetId === undefined && datasetName === undefined) {
1666
+ throw new Error("Must provide dataset name or ID");
1667
+ }
1668
+ else if (datasetId !== undefined && datasetName !== undefined) {
1669
+ throw new Error("Must provide either datasetName or datasetId, not both");
1670
+ }
1671
+ else if (datasetId === undefined) {
1672
+ const dataset = await this.readDataset({ datasetName });
1673
+ datasetId_ = dataset.id;
1674
+ }
1675
+ else {
1676
+ datasetId_ = datasetId;
1677
+ }
1678
+ assertUuid(datasetId_);
1679
+ const data = {
1680
+ split_name: splitName,
1681
+ examples: exampleIds.map((id) => {
1682
+ assertUuid(id);
1683
+ return id;
1684
+ }),
1685
+ remove,
1686
+ };
1687
+ const response = await this.caller.call(fetch, `${this.apiUrl}/datasets/${datasetId_}/splits`, {
1688
+ method: "PUT",
1689
+ headers: { ...this.headers, "Content-Type": "application/json" },
1690
+ body: JSON.stringify(data),
1691
+ signal: AbortSignal.timeout(this.timeout_ms),
1692
+ ...this.fetchOptions,
1693
+ });
1694
+ await raiseForStatus(response, "update dataset splits");
1695
+ }
1635
1696
  /**
1636
1697
  * @deprecated This method is deprecated and will be removed in future LangSmith versions, use `evaluate` from `langsmith/evaluation` instead.
1637
1698
  */
package/dist/index.cjs CHANGED
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "Client", { enumerable: true, get: function () {
6
6
  var run_trees_js_1 = require("./run_trees.cjs");
7
7
  Object.defineProperty(exports, "RunTree", { enumerable: true, get: function () { return run_trees_js_1.RunTree; } });
8
8
  // Update using yarn bump-version
9
- exports.__version__ = "0.1.36";
9
+ exports.__version__ = "0.1.37";
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { Client } from "./client.js";
2
2
  export type { Dataset, Example, TracerSession, Run, Feedback, RetrieverOutput, } from "./schemas.js";
3
3
  export { RunTree, type RunTreeConfig } from "./run_trees.js";
4
- export declare const __version__ = "0.1.36";
4
+ export declare const __version__ = "0.1.37";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { Client } from "./client.js";
2
2
  export { RunTree } from "./run_trees.js";
3
3
  // Update using yarn bump-version
4
- export const __version__ = "0.1.36";
4
+ export const __version__ = "0.1.37";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langsmith",
3
- "version": "0.1.36",
3
+ "version": "0.1.37",
4
4
  "description": "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform.",
5
5
  "packageManager": "yarn@1.22.19",
6
6
  "files": [