@arizeai/phoenix-client 7.13.0 → 7.15.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.
- package/CHANGELOG.md +14 -0
- package/dist/esm/__generated__/api/v1.d.ts +17 -4
- package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
- package/dist/esm/constants/serverRequirements.d.ts +5 -0
- package/dist/esm/constants/serverRequirements.d.ts.map +1 -1
- package/dist/esm/constants/serverRequirements.js +35 -0
- package/dist/esm/constants/serverRequirements.js.map +1 -1
- package/dist/esm/datasets/createDatasetSplit.d.ts +39 -0
- package/dist/esm/datasets/createDatasetSplit.d.ts.map +1 -0
- package/dist/esm/datasets/createDatasetSplit.js +42 -0
- package/dist/esm/datasets/createDatasetSplit.js.map +1 -0
- package/dist/esm/datasets/deleteDatasetSplit.d.ts +24 -0
- package/dist/esm/datasets/deleteDatasetSplit.d.ts.map +1 -0
- package/dist/esm/datasets/deleteDatasetSplit.js +31 -0
- package/dist/esm/datasets/deleteDatasetSplit.js.map +1 -0
- package/dist/esm/datasets/index.d.ts +4 -0
- package/dist/esm/datasets/index.d.ts.map +1 -1
- package/dist/esm/datasets/index.js +3 -0
- package/dist/esm/datasets/index.js.map +1 -1
- package/dist/esm/datasets/resolveDatasetIdentifier.d.ts +4 -0
- package/dist/esm/datasets/resolveDatasetIdentifier.d.ts.map +1 -0
- package/dist/esm/datasets/resolveDatasetIdentifier.js +5 -0
- package/dist/esm/datasets/resolveDatasetIdentifier.js.map +1 -0
- package/dist/esm/datasets/updateDatasetSplit.d.ts +48 -0
- package/dist/esm/datasets/updateDatasetSplit.d.ts.map +1 -0
- package/dist/esm/datasets/updateDatasetSplit.js +55 -0
- package/dist/esm/datasets/updateDatasetSplit.js.map +1 -0
- package/dist/esm/prompts/deletePromptVersionTag.d.ts +36 -0
- package/dist/esm/prompts/deletePromptVersionTag.d.ts.map +1 -0
- package/dist/esm/prompts/deletePromptVersionTag.js +44 -0
- package/dist/esm/prompts/deletePromptVersionTag.js.map +1 -0
- package/dist/esm/prompts/index.d.ts +2 -0
- package/dist/esm/prompts/index.d.ts.map +1 -1
- package/dist/esm/prompts/index.js +2 -0
- package/dist/esm/prompts/index.js.map +1 -1
- package/dist/esm/prompts/upsertPromptVersionTag.d.ts +40 -0
- package/dist/esm/prompts/upsertPromptVersionTag.d.ts.map +1 -0
- package/dist/esm/prompts/upsertPromptVersionTag.js +49 -0
- package/dist/esm/prompts/upsertPromptVersionTag.js.map +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types/datasets.d.ts +10 -5
- package/dist/esm/types/datasets.d.ts.map +1 -1
- package/dist/esm/utils/resolvePromptVersionId.d.ts +11 -0
- package/dist/esm/utils/resolvePromptVersionId.d.ts.map +1 -0
- package/dist/esm/utils/resolvePromptVersionId.js +15 -0
- package/dist/esm/utils/resolvePromptVersionId.js.map +1 -0
- package/dist/src/__generated__/api/v1.d.ts +17 -4
- package/dist/src/__generated__/api/v1.d.ts.map +1 -1
- package/dist/src/constants/serverRequirements.d.ts +5 -0
- package/dist/src/constants/serverRequirements.d.ts.map +1 -1
- package/dist/src/constants/serverRequirements.js +36 -1
- package/dist/src/constants/serverRequirements.js.map +1 -1
- package/dist/src/datasets/createDatasetSplit.d.ts +39 -0
- package/dist/src/datasets/createDatasetSplit.d.ts.map +1 -0
- package/dist/src/datasets/createDatasetSplit.js +42 -0
- package/dist/src/datasets/createDatasetSplit.js.map +1 -0
- package/dist/src/datasets/deleteDatasetSplit.d.ts +24 -0
- package/dist/src/datasets/deleteDatasetSplit.d.ts.map +1 -0
- package/dist/src/datasets/deleteDatasetSplit.js +34 -0
- package/dist/src/datasets/deleteDatasetSplit.js.map +1 -0
- package/dist/src/datasets/index.d.ts +4 -0
- package/dist/src/datasets/index.d.ts.map +1 -1
- package/dist/src/datasets/index.js +3 -0
- package/dist/src/datasets/index.js.map +1 -1
- package/dist/src/datasets/resolveDatasetIdentifier.d.ts +4 -0
- package/dist/src/datasets/resolveDatasetIdentifier.d.ts.map +1 -0
- package/dist/src/datasets/resolveDatasetIdentifier.js +8 -0
- package/dist/src/datasets/resolveDatasetIdentifier.js.map +1 -0
- package/dist/src/datasets/updateDatasetSplit.d.ts +48 -0
- package/dist/src/datasets/updateDatasetSplit.d.ts.map +1 -0
- package/dist/src/datasets/updateDatasetSplit.js +54 -0
- package/dist/src/datasets/updateDatasetSplit.js.map +1 -0
- package/dist/src/prompts/deletePromptVersionTag.d.ts +36 -0
- package/dist/src/prompts/deletePromptVersionTag.d.ts.map +1 -0
- package/dist/src/prompts/deletePromptVersionTag.js +47 -0
- package/dist/src/prompts/deletePromptVersionTag.js.map +1 -0
- package/dist/src/prompts/index.d.ts +2 -0
- package/dist/src/prompts/index.d.ts.map +1 -1
- package/dist/src/prompts/index.js +2 -0
- package/dist/src/prompts/index.js.map +1 -1
- package/dist/src/prompts/upsertPromptVersionTag.d.ts +40 -0
- package/dist/src/prompts/upsertPromptVersionTag.d.ts.map +1 -0
- package/dist/src/prompts/upsertPromptVersionTag.js +52 -0
- package/dist/src/prompts/upsertPromptVersionTag.js.map +1 -0
- package/dist/src/types/datasets.d.ts +10 -5
- package/dist/src/types/datasets.d.ts.map +1 -1
- package/dist/src/utils/resolvePromptVersionId.d.ts +11 -0
- package/dist/src/utils/resolvePromptVersionId.d.ts.map +1 -0
- package/dist/src/utils/resolvePromptVersionId.js +18 -0
- package/dist/src/utils/resolvePromptVersionId.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/datasets.mdx +74 -1
- package/docs/prompts.mdx +30 -1
- package/package.json +7 -7
- package/src/__generated__/api/v1.ts +17 -4
- package/src/constants/serverRequirements.ts +40 -0
- package/src/datasets/createDatasetSplit.ts +80 -0
- package/src/datasets/deleteDatasetSplit.ts +46 -0
- package/src/datasets/index.ts +4 -0
- package/src/datasets/resolveDatasetIdentifier.ts +6 -0
- package/src/datasets/updateDatasetSplit.ts +99 -0
- package/src/prompts/deletePromptVersionTag.ts +64 -0
- package/src/prompts/index.ts +2 -0
- package/src/prompts/upsertPromptVersionTag.ts +69 -0
- package/src/types/datasets.ts +8 -3
- package/src/utils/resolvePromptVersionId.ts +18 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createClient } from "../client";
|
|
2
|
+
import { UPSERT_PROMPT_VERSION_TAG } from "../constants/serverRequirements";
|
|
3
|
+
import type { ClientFn } from "../types/core";
|
|
4
|
+
import type { GetPromptByVersionSelector } from "../types/prompts";
|
|
5
|
+
import { resolvePromptVersionId } from "../utils/resolvePromptVersionId";
|
|
6
|
+
import { ensureServerCapability } from "../utils/serverVersionUtils";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Parameters for creating or moving a prompt version tag.
|
|
10
|
+
*/
|
|
11
|
+
export interface UpsertPromptVersionTagParams extends ClientFn {
|
|
12
|
+
/** The prompt version that should own the tag. */
|
|
13
|
+
prompt: GetPromptByVersionSelector;
|
|
14
|
+
/** The prompt-scoped tag name. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** An optional description for the tag. */
|
|
17
|
+
description?: string | null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Create a prompt version tag or move an existing tag to another version.
|
|
22
|
+
*
|
|
23
|
+
* Tag names are unique within a prompt. If another version of the same prompt
|
|
24
|
+
* already has `name`, the tag is moved to the selected version and its
|
|
25
|
+
* description is updated.
|
|
26
|
+
*
|
|
27
|
+
* @param params - The prompt version tag to create or move.
|
|
28
|
+
* @param params.prompt - The target prompt, selected by version ID.
|
|
29
|
+
* @param params.name - The prompt-scoped tag name.
|
|
30
|
+
* @param params.description - An optional description for the tag.
|
|
31
|
+
* @returns A promise that resolves once the tag has been created or moved.
|
|
32
|
+
* @throws {@link HttpError} when Phoenix rejects the request.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* import { upsertPromptVersionTag } from "@arizeai/phoenix-client/prompts";
|
|
37
|
+
*
|
|
38
|
+
* await upsertPromptVersionTag({
|
|
39
|
+
* prompt: { versionId: "UHJvbXB0VmVyc2lvbjox" },
|
|
40
|
+
* name: "production",
|
|
41
|
+
* description: "Currently deployed version",
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export async function upsertPromptVersionTag({
|
|
46
|
+
client: _client,
|
|
47
|
+
prompt,
|
|
48
|
+
name,
|
|
49
|
+
description,
|
|
50
|
+
}: UpsertPromptVersionTagParams): Promise<void> {
|
|
51
|
+
const promptVersionId = resolvePromptVersionId(prompt);
|
|
52
|
+
const client = _client ?? createClient();
|
|
53
|
+
await ensureServerCapability({
|
|
54
|
+
client,
|
|
55
|
+
requirement: UPSERT_PROMPT_VERSION_TAG,
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
await client.POST("/v1/prompt_versions/{prompt_version_id}/tags", {
|
|
59
|
+
params: {
|
|
60
|
+
path: {
|
|
61
|
+
prompt_version_id: promptVersionId,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
body: {
|
|
65
|
+
name,
|
|
66
|
+
description,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
}
|
package/src/types/datasets.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import type { components } from "../__generated__/api/v1";
|
|
1
2
|
import type { Node } from "./core";
|
|
2
3
|
|
|
4
|
+
/** A named subset of examples in a dataset. */
|
|
5
|
+
export type DatasetSplit = components["schemas"]["DatasetSplit"];
|
|
6
|
+
|
|
3
7
|
type DatasetSelectorBase = { versionId?: string; splits?: string[] };
|
|
4
8
|
|
|
9
|
+
/** A dataset identified by either its GlobalID or name. */
|
|
10
|
+
export type DatasetIdentifier = { datasetId: string } | { datasetName: string };
|
|
11
|
+
|
|
5
12
|
/**
|
|
6
13
|
* A dataset can be identified by its datasetId, datasetName, or datasetVersionId
|
|
7
14
|
*/
|
|
8
|
-
export type DatasetSelector =
|
|
9
|
-
| (DatasetSelectorBase & { datasetId: string })
|
|
10
|
-
| (DatasetSelectorBase & { datasetName: string });
|
|
15
|
+
export type DatasetSelector = DatasetSelectorBase & DatasetIdentifier;
|
|
11
16
|
|
|
12
17
|
/**
|
|
13
18
|
* Overview information about a dataset
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { GetPromptByVersionSelector } from "../types/prompts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Resolve a version selector to the `{prompt_version_id}` path segment used by
|
|
5
|
+
* the Phoenix REST API.
|
|
6
|
+
*
|
|
7
|
+
* @param prompt - The prompt, selected by version ID.
|
|
8
|
+
* @returns The prompt version ID to interpolate into the request path.
|
|
9
|
+
* @throws An error if the selector does not contain a non-empty version ID.
|
|
10
|
+
*/
|
|
11
|
+
export function resolvePromptVersionId(
|
|
12
|
+
prompt: GetPromptByVersionSelector
|
|
13
|
+
): string {
|
|
14
|
+
if (!prompt.versionId) {
|
|
15
|
+
throw new Error("versionId must be a non-empty prompt version id.");
|
|
16
|
+
}
|
|
17
|
+
return prompt.versionId;
|
|
18
|
+
}
|