@arizeai/phoenix-client 7.14.0 → 7.16.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 +12 -0
- package/README.md +47 -1
- package/dist/esm/__generated__/api/v1.d.ts +5 -1
- package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
- package/dist/esm/constants/serverRequirements.d.ts +6 -0
- package/dist/esm/constants/serverRequirements.d.ts.map +1 -1
- package/dist/esm/constants/serverRequirements.js +42 -0
- package/dist/esm/constants/serverRequirements.js.map +1 -1
- package/dist/esm/projects/assignProjectAnnotationConfig.d.ts +41 -0
- package/dist/esm/projects/assignProjectAnnotationConfig.d.ts.map +1 -0
- package/dist/esm/projects/assignProjectAnnotationConfig.js +58 -0
- package/dist/esm/projects/assignProjectAnnotationConfig.js.map +1 -0
- package/dist/esm/projects/index.d.ts +5 -0
- package/dist/esm/projects/index.d.ts.map +1 -1
- package/dist/esm/projects/index.js +4 -0
- package/dist/esm/projects/index.js.map +1 -1
- package/dist/esm/projects/listProjectAnnotationConfigs.d.ts +37 -0
- package/dist/esm/projects/listProjectAnnotationConfigs.d.ts.map +1 -0
- package/dist/esm/projects/listProjectAnnotationConfigs.js +59 -0
- package/dist/esm/projects/listProjectAnnotationConfigs.js.map +1 -0
- package/dist/esm/projects/setProjectAnnotationConfigs.d.ts +52 -0
- package/dist/esm/projects/setProjectAnnotationConfigs.d.ts.map +1 -0
- package/dist/esm/projects/setProjectAnnotationConfigs.js +63 -0
- package/dist/esm/projects/setProjectAnnotationConfigs.js.map +1 -0
- package/dist/esm/projects/unassignProjectAnnotationConfig.d.ts +41 -0
- package/dist/esm/projects/unassignProjectAnnotationConfig.d.ts.map +1 -0
- package/dist/esm/projects/unassignProjectAnnotationConfig.js +55 -0
- package/dist/esm/projects/unassignProjectAnnotationConfig.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/annotationConfigs.d.ts +35 -0
- package/dist/esm/types/annotationConfigs.d.ts.map +1 -0
- package/dist/esm/types/annotationConfigs.js +12 -0
- package/dist/esm/types/annotationConfigs.js.map +1 -0
- 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 +5 -1
- package/dist/src/__generated__/api/v1.d.ts.map +1 -1
- package/dist/src/constants/serverRequirements.d.ts +6 -0
- package/dist/src/constants/serverRequirements.d.ts.map +1 -1
- package/dist/src/constants/serverRequirements.js +43 -1
- package/dist/src/constants/serverRequirements.js.map +1 -1
- package/dist/src/projects/assignProjectAnnotationConfig.d.ts +41 -0
- package/dist/src/projects/assignProjectAnnotationConfig.d.ts.map +1 -0
- package/dist/src/projects/assignProjectAnnotationConfig.js +65 -0
- package/dist/src/projects/assignProjectAnnotationConfig.js.map +1 -0
- package/dist/src/projects/index.d.ts +5 -0
- package/dist/src/projects/index.d.ts.map +1 -1
- package/dist/src/projects/index.js +4 -0
- package/dist/src/projects/index.js.map +1 -1
- package/dist/src/projects/listProjectAnnotationConfigs.d.ts +37 -0
- package/dist/src/projects/listProjectAnnotationConfigs.d.ts.map +1 -0
- package/dist/src/projects/listProjectAnnotationConfigs.js +67 -0
- package/dist/src/projects/listProjectAnnotationConfigs.js.map +1 -0
- package/dist/src/projects/setProjectAnnotationConfigs.d.ts +52 -0
- package/dist/src/projects/setProjectAnnotationConfigs.d.ts.map +1 -0
- package/dist/src/projects/setProjectAnnotationConfigs.js +70 -0
- package/dist/src/projects/setProjectAnnotationConfigs.js.map +1 -0
- package/dist/src/projects/unassignProjectAnnotationConfig.d.ts +41 -0
- package/dist/src/projects/unassignProjectAnnotationConfig.d.ts.map +1 -0
- package/dist/src/projects/unassignProjectAnnotationConfig.js +59 -0
- package/dist/src/projects/unassignProjectAnnotationConfig.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/annotationConfigs.d.ts +35 -0
- package/dist/src/types/annotationConfigs.d.ts.map +1 -0
- package/dist/src/types/annotationConfigs.js +15 -0
- package/dist/src/types/annotationConfigs.js.map +1 -0
- 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/projects.mdx +55 -2
- package/docs/prompts.mdx +30 -1
- package/package.json +7 -7
- package/src/__generated__/api/v1.ts +5 -1
- package/src/constants/serverRequirements.ts +48 -0
- package/src/projects/assignProjectAnnotationConfig.ts +78 -0
- package/src/projects/index.ts +8 -0
- package/src/projects/listProjectAnnotationConfigs.ts +85 -0
- package/src/projects/setProjectAnnotationConfigs.ts +86 -0
- package/src/projects/unassignProjectAnnotationConfig.ts +71 -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/annotationConfigs.ts +37 -0
- 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
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { components } from "../__generated__/api/v1";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An annotation configuration as returned by the Phoenix REST API.
|
|
5
|
+
*/
|
|
6
|
+
export type AnnotationConfig =
|
|
7
|
+
| components["schemas"]["CategoricalAnnotationConfig"]
|
|
8
|
+
| components["schemas"]["ContinuousAnnotationConfig"]
|
|
9
|
+
| components["schemas"]["FreeformAnnotationConfig"];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Identifies an annotation configuration. Accepts any of:
|
|
13
|
+
* - `config` — an annotation config ID or name (the server accepts either)
|
|
14
|
+
* - `configId` — an explicit annotation config ID
|
|
15
|
+
* - `configName` — an explicit annotation config name
|
|
16
|
+
*
|
|
17
|
+
* Exactly one of these may be given. All three are sent to the server as the
|
|
18
|
+
* same `config_identifier`, which is tried as a GlobalID before a name. Prefer
|
|
19
|
+
* `configId` when a name may contain `/`, which the server cannot route in a
|
|
20
|
+
* path parameter.
|
|
21
|
+
*/
|
|
22
|
+
export type AnnotationConfigIdentifier =
|
|
23
|
+
| { config: string; configId?: never; configName?: never }
|
|
24
|
+
| { configId: string; config?: never; configName?: never }
|
|
25
|
+
| { configName: string; config?: never; configId?: never };
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Resolves an {@link AnnotationConfigIdentifier} union to a plain string
|
|
29
|
+
* suitable for the REST `config_identifier` path parameter.
|
|
30
|
+
*/
|
|
31
|
+
export function resolveAnnotationConfigIdentifier(
|
|
32
|
+
identifier: AnnotationConfigIdentifier
|
|
33
|
+
): string {
|
|
34
|
+
if (identifier.config !== undefined) return identifier.config;
|
|
35
|
+
if (identifier.configId !== undefined) return identifier.configId;
|
|
36
|
+
return identifier.configName;
|
|
37
|
+
}
|
|
@@ -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
|
+
}
|