@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.
Files changed (106) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/esm/__generated__/api/v1.d.ts +17 -4
  3. package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
  4. package/dist/esm/constants/serverRequirements.d.ts +5 -0
  5. package/dist/esm/constants/serverRequirements.d.ts.map +1 -1
  6. package/dist/esm/constants/serverRequirements.js +35 -0
  7. package/dist/esm/constants/serverRequirements.js.map +1 -1
  8. package/dist/esm/datasets/createDatasetSplit.d.ts +39 -0
  9. package/dist/esm/datasets/createDatasetSplit.d.ts.map +1 -0
  10. package/dist/esm/datasets/createDatasetSplit.js +42 -0
  11. package/dist/esm/datasets/createDatasetSplit.js.map +1 -0
  12. package/dist/esm/datasets/deleteDatasetSplit.d.ts +24 -0
  13. package/dist/esm/datasets/deleteDatasetSplit.d.ts.map +1 -0
  14. package/dist/esm/datasets/deleteDatasetSplit.js +31 -0
  15. package/dist/esm/datasets/deleteDatasetSplit.js.map +1 -0
  16. package/dist/esm/datasets/index.d.ts +4 -0
  17. package/dist/esm/datasets/index.d.ts.map +1 -1
  18. package/dist/esm/datasets/index.js +3 -0
  19. package/dist/esm/datasets/index.js.map +1 -1
  20. package/dist/esm/datasets/resolveDatasetIdentifier.d.ts +4 -0
  21. package/dist/esm/datasets/resolveDatasetIdentifier.d.ts.map +1 -0
  22. package/dist/esm/datasets/resolveDatasetIdentifier.js +5 -0
  23. package/dist/esm/datasets/resolveDatasetIdentifier.js.map +1 -0
  24. package/dist/esm/datasets/updateDatasetSplit.d.ts +48 -0
  25. package/dist/esm/datasets/updateDatasetSplit.d.ts.map +1 -0
  26. package/dist/esm/datasets/updateDatasetSplit.js +55 -0
  27. package/dist/esm/datasets/updateDatasetSplit.js.map +1 -0
  28. package/dist/esm/prompts/deletePromptVersionTag.d.ts +36 -0
  29. package/dist/esm/prompts/deletePromptVersionTag.d.ts.map +1 -0
  30. package/dist/esm/prompts/deletePromptVersionTag.js +44 -0
  31. package/dist/esm/prompts/deletePromptVersionTag.js.map +1 -0
  32. package/dist/esm/prompts/index.d.ts +2 -0
  33. package/dist/esm/prompts/index.d.ts.map +1 -1
  34. package/dist/esm/prompts/index.js +2 -0
  35. package/dist/esm/prompts/index.js.map +1 -1
  36. package/dist/esm/prompts/upsertPromptVersionTag.d.ts +40 -0
  37. package/dist/esm/prompts/upsertPromptVersionTag.d.ts.map +1 -0
  38. package/dist/esm/prompts/upsertPromptVersionTag.js +49 -0
  39. package/dist/esm/prompts/upsertPromptVersionTag.js.map +1 -0
  40. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  41. package/dist/esm/types/datasets.d.ts +10 -5
  42. package/dist/esm/types/datasets.d.ts.map +1 -1
  43. package/dist/esm/utils/resolvePromptVersionId.d.ts +11 -0
  44. package/dist/esm/utils/resolvePromptVersionId.d.ts.map +1 -0
  45. package/dist/esm/utils/resolvePromptVersionId.js +15 -0
  46. package/dist/esm/utils/resolvePromptVersionId.js.map +1 -0
  47. package/dist/src/__generated__/api/v1.d.ts +17 -4
  48. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  49. package/dist/src/constants/serverRequirements.d.ts +5 -0
  50. package/dist/src/constants/serverRequirements.d.ts.map +1 -1
  51. package/dist/src/constants/serverRequirements.js +36 -1
  52. package/dist/src/constants/serverRequirements.js.map +1 -1
  53. package/dist/src/datasets/createDatasetSplit.d.ts +39 -0
  54. package/dist/src/datasets/createDatasetSplit.d.ts.map +1 -0
  55. package/dist/src/datasets/createDatasetSplit.js +42 -0
  56. package/dist/src/datasets/createDatasetSplit.js.map +1 -0
  57. package/dist/src/datasets/deleteDatasetSplit.d.ts +24 -0
  58. package/dist/src/datasets/deleteDatasetSplit.d.ts.map +1 -0
  59. package/dist/src/datasets/deleteDatasetSplit.js +34 -0
  60. package/dist/src/datasets/deleteDatasetSplit.js.map +1 -0
  61. package/dist/src/datasets/index.d.ts +4 -0
  62. package/dist/src/datasets/index.d.ts.map +1 -1
  63. package/dist/src/datasets/index.js +3 -0
  64. package/dist/src/datasets/index.js.map +1 -1
  65. package/dist/src/datasets/resolveDatasetIdentifier.d.ts +4 -0
  66. package/dist/src/datasets/resolveDatasetIdentifier.d.ts.map +1 -0
  67. package/dist/src/datasets/resolveDatasetIdentifier.js +8 -0
  68. package/dist/src/datasets/resolveDatasetIdentifier.js.map +1 -0
  69. package/dist/src/datasets/updateDatasetSplit.d.ts +48 -0
  70. package/dist/src/datasets/updateDatasetSplit.d.ts.map +1 -0
  71. package/dist/src/datasets/updateDatasetSplit.js +54 -0
  72. package/dist/src/datasets/updateDatasetSplit.js.map +1 -0
  73. package/dist/src/prompts/deletePromptVersionTag.d.ts +36 -0
  74. package/dist/src/prompts/deletePromptVersionTag.d.ts.map +1 -0
  75. package/dist/src/prompts/deletePromptVersionTag.js +47 -0
  76. package/dist/src/prompts/deletePromptVersionTag.js.map +1 -0
  77. package/dist/src/prompts/index.d.ts +2 -0
  78. package/dist/src/prompts/index.d.ts.map +1 -1
  79. package/dist/src/prompts/index.js +2 -0
  80. package/dist/src/prompts/index.js.map +1 -1
  81. package/dist/src/prompts/upsertPromptVersionTag.d.ts +40 -0
  82. package/dist/src/prompts/upsertPromptVersionTag.d.ts.map +1 -0
  83. package/dist/src/prompts/upsertPromptVersionTag.js +52 -0
  84. package/dist/src/prompts/upsertPromptVersionTag.js.map +1 -0
  85. package/dist/src/types/datasets.d.ts +10 -5
  86. package/dist/src/types/datasets.d.ts.map +1 -1
  87. package/dist/src/utils/resolvePromptVersionId.d.ts +11 -0
  88. package/dist/src/utils/resolvePromptVersionId.d.ts.map +1 -0
  89. package/dist/src/utils/resolvePromptVersionId.js +18 -0
  90. package/dist/src/utils/resolvePromptVersionId.js.map +1 -0
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/docs/datasets.mdx +74 -1
  93. package/docs/prompts.mdx +30 -1
  94. package/package.json +7 -7
  95. package/src/__generated__/api/v1.ts +17 -4
  96. package/src/constants/serverRequirements.ts +40 -0
  97. package/src/datasets/createDatasetSplit.ts +80 -0
  98. package/src/datasets/deleteDatasetSplit.ts +46 -0
  99. package/src/datasets/index.ts +4 -0
  100. package/src/datasets/resolveDatasetIdentifier.ts +6 -0
  101. package/src/datasets/updateDatasetSplit.ts +99 -0
  102. package/src/prompts/deletePromptVersionTag.ts +64 -0
  103. package/src/prompts/index.ts +2 -0
  104. package/src/prompts/upsertPromptVersionTag.ts +69 -0
  105. package/src/types/datasets.ts +8 -3
  106. 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
+ }
@@ -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
+ }