@arizeai/phoenix-cli 1.0.3 → 1.0.5
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/README.md +35 -6
- package/build/commands/annotationConfig.d.ts +1 -0
- package/build/commands/annotationConfig.d.ts.map +1 -1
- package/build/commands/annotationConfig.js +64 -6
- package/build/commands/annotationConfig.js.map +1 -1
- package/build/commands/annotationMutationUtils.d.ts +44 -0
- package/build/commands/annotationMutationUtils.d.ts.map +1 -0
- package/build/commands/annotationMutationUtils.js +119 -0
- package/build/commands/annotationMutationUtils.js.map +1 -0
- package/build/commands/dataset.d.ts +4 -0
- package/build/commands/dataset.d.ts.map +1 -1
- package/build/commands/dataset.js +77 -11
- package/build/commands/dataset.js.map +1 -1
- package/build/commands/experiment.d.ts +1 -0
- package/build/commands/experiment.d.ts.map +1 -1
- package/build/commands/experiment.js +61 -11
- package/build/commands/experiment.js.map +1 -1
- package/build/commands/formatAnnotationMutation.d.ts +8 -0
- package/build/commands/formatAnnotationMutation.d.ts.map +1 -0
- package/build/commands/formatAnnotationMutation.js +24 -0
- package/build/commands/formatAnnotationMutation.js.map +1 -0
- package/build/commands/formatTraces.js +59 -0
- package/build/commands/formatTraces.js.map +1 -1
- package/build/commands/project.d.ts +4 -0
- package/build/commands/project.d.ts.map +1 -1
- package/build/commands/project.js +72 -7
- package/build/commands/project.js.map +1 -1
- package/build/commands/prompt.d.ts +1 -0
- package/build/commands/prompt.d.ts.map +1 -1
- package/build/commands/prompt.js +69 -11
- package/build/commands/prompt.js.map +1 -1
- package/build/commands/session.d.ts +1 -0
- package/build/commands/session.d.ts.map +1 -1
- package/build/commands/session.js +55 -5
- package/build/commands/session.js.map +1 -1
- package/build/commands/span.d.ts +2 -0
- package/build/commands/span.d.ts.map +1 -1
- package/build/commands/span.js +157 -1
- package/build/commands/span.js.map +1 -1
- package/build/commands/trace.d.ts +2 -0
- package/build/commands/trace.d.ts.map +1 -1
- package/build/commands/trace.js +228 -44
- package/build/commands/trace.js.map +1 -1
- package/build/commands/traceAnnotations.d.ts +14 -0
- package/build/commands/traceAnnotations.d.ts.map +1 -0
- package/build/commands/traceAnnotations.js +60 -0
- package/build/commands/traceAnnotations.js.map +1 -0
- package/build/config.d.ts +5 -1
- package/build/config.d.ts.map +1 -1
- package/build/config.js +2 -2
- package/build/config.js.map +1 -1
- package/build/confirm.d.ts +48 -0
- package/build/confirm.d.ts.map +1 -0
- package/build/confirm.js +76 -0
- package/build/confirm.js.map +1 -0
- package/build/exitCodes.d.ts +3 -0
- package/build/exitCodes.d.ts.map +1 -1
- package/build/exitCodes.js +9 -0
- package/build/exitCodes.js.map +1 -1
- package/build/normalize.d.ts +8 -0
- package/build/normalize.d.ts.map +1 -0
- package/build/normalize.js +30 -0
- package/build/normalize.js.map +1 -0
- package/build/trace.d.ts +2 -0
- package/build/trace.d.ts.map +1 -1
- package/build/trace.js.map +1 -1
- package/build/version.d.ts.map +1 -1
- package/build/version.js +3 -4
- package/build/version.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -45,12 +45,15 @@ export PHOENIX_API_KEY=your-api-key # if authentication is enabled
|
|
|
45
45
|
|
|
46
46
|
CLI flags (`--endpoint`, `--project`, `--api-key`) override environment variables.
|
|
47
47
|
|
|
48
|
-
| Variable
|
|
49
|
-
|
|
|
50
|
-
| `PHOENIX_HOST`
|
|
51
|
-
| `PHOENIX_PROJECT`
|
|
52
|
-
| `PHOENIX_API_KEY`
|
|
53
|
-
| `PHOENIX_CLIENT_HEADERS`
|
|
48
|
+
| Variable | Description |
|
|
49
|
+
| ---------------------------------------- | --------------------------------------------- |
|
|
50
|
+
| `PHOENIX_HOST` | Phoenix API endpoint |
|
|
51
|
+
| `PHOENIX_PROJECT` | Project name or ID |
|
|
52
|
+
| `PHOENIX_API_KEY` | API key (if auth is enabled) |
|
|
53
|
+
| `PHOENIX_CLIENT_HEADERS` | Custom headers as JSON string |
|
|
54
|
+
| `PHOENIX_CLI_DANGEROUSLY_ENABLE_DELETES` | Enable CLI delete commands when set to `true` |
|
|
55
|
+
|
|
56
|
+
Delete commands are disabled by default and require `PHOENIX_CLI_DANGEROUSLY_ENABLE_DELETES=true`.
|
|
54
57
|
|
|
55
58
|
## Commands
|
|
56
59
|
|
|
@@ -115,6 +118,19 @@ px trace get abc123def456 --file trace.json
|
|
|
115
118
|
|
|
116
119
|
---
|
|
117
120
|
|
|
121
|
+
### `px trace annotate <trace-id>`
|
|
122
|
+
|
|
123
|
+
Create or update a human trace annotation by OpenTelemetry trace ID.
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
px trace annotate abc123def456 --name reviewer --label pass
|
|
127
|
+
px trace annotate abc123def456 --name reviewer --score 0.9 --format raw --no-progress
|
|
128
|
+
px trace annotate abc123def456 --name evaluator --label pass --annotator-kind LLM
|
|
129
|
+
px trace annotate abc123def456 --name reviewer --explanation "needs follow-up"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
118
134
|
### `px span list [file]`
|
|
119
135
|
|
|
120
136
|
Fetch spans for the configured project with filtering options. Output is JSON.
|
|
@@ -158,6 +174,19 @@ px span list --parent-id null --format raw --no-progress | jq 'sort_by(.name)'
|
|
|
158
174
|
|
|
159
175
|
---
|
|
160
176
|
|
|
177
|
+
### `px span annotate <span-id>`
|
|
178
|
+
|
|
179
|
+
Create or update a human span annotation by OpenTelemetry span ID.
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
px span annotate 7e2f08cb43bbf521 --name reviewer --label pass
|
|
183
|
+
px span annotate 7e2f08cb43bbf521 --name reviewer --score 0.9 --format raw --no-progress
|
|
184
|
+
px span annotate 7e2f08cb43bbf521 --name checker --score 1 --annotator-kind CODE
|
|
185
|
+
px span annotate 7e2f08cb43bbf521 --name reviewer --explanation "looks good"
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
161
190
|
### `px dataset list`
|
|
162
191
|
|
|
163
192
|
List all datasets.
|
|
@@ -3,4 +3,5 @@ import { Command } from "commander";
|
|
|
3
3
|
* Create the `annotation-config` command with subcommands
|
|
4
4
|
*/
|
|
5
5
|
export declare function createAnnotationConfigCommand(): Command;
|
|
6
|
+
export declare function createAnnotationConfigDeleteCommand(): Command;
|
|
6
7
|
//# sourceMappingURL=annotationConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotationConfig.d.ts","sourceRoot":"","sources":["../../src/commands/annotationConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"annotationConfig.d.ts","sourceRoot":"","sources":["../../src/commands/annotationConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoLpC;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CA0BvD;AAED,wBAAgB,mCAAmC,IAAI,OAAO,CAS7D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { createPhoenixClient } from "../client.js";
|
|
3
|
-
import { getConfigErrorMessage, resolveConfig } from "../config.js";
|
|
3
|
+
import { getConfigErrorMessage, resolveConfig, validateConfig, } from "../config.js";
|
|
4
|
+
import { assertDeletesEnabled, confirmOrExit } from "../confirm.js";
|
|
4
5
|
import { ExitCode, getExitCodeForError } from "../exitCodes.js";
|
|
5
6
|
import { writeError, writeOutput, writeProgress } from "../io.js";
|
|
6
7
|
import { formatAnnotationConfigsOutput, } from "./formatAnnotationConfigs.js";
|
|
@@ -43,11 +44,11 @@ async function annotationConfigListHandler(options) {
|
|
|
43
44
|
apiKey: options.apiKey,
|
|
44
45
|
},
|
|
45
46
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
const validation = validateConfig({ config, projectRequired: false });
|
|
48
|
+
if (!validation.valid) {
|
|
49
|
+
writeError({
|
|
50
|
+
message: getConfigErrorMessage({ errors: validation.errors }),
|
|
51
|
+
});
|
|
51
52
|
process.exit(ExitCode.INVALID_ARGUMENT);
|
|
52
53
|
}
|
|
53
54
|
const client = createPhoenixClient({ config });
|
|
@@ -75,6 +76,52 @@ async function annotationConfigListHandler(options) {
|
|
|
75
76
|
process.exit(getExitCodeForError(error));
|
|
76
77
|
}
|
|
77
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Handler for `annotation-config delete`
|
|
81
|
+
*/
|
|
82
|
+
async function annotationConfigDeleteHandler(configId, options) {
|
|
83
|
+
try {
|
|
84
|
+
assertDeletesEnabled();
|
|
85
|
+
const config = resolveConfig({
|
|
86
|
+
cliOptions: {
|
|
87
|
+
endpoint: options.endpoint,
|
|
88
|
+
apiKey: options.apiKey,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
const validation = validateConfig({ config, projectRequired: false });
|
|
92
|
+
if (!validation.valid) {
|
|
93
|
+
writeError({
|
|
94
|
+
message: getConfigErrorMessage({ errors: validation.errors }),
|
|
95
|
+
});
|
|
96
|
+
process.exit(ExitCode.INVALID_ARGUMENT);
|
|
97
|
+
}
|
|
98
|
+
const client = createPhoenixClient({ config });
|
|
99
|
+
await confirmOrExit({
|
|
100
|
+
message: `Delete annotation config ${configId}? This cannot be undone.`,
|
|
101
|
+
yes: options.yes,
|
|
102
|
+
});
|
|
103
|
+
const response = await client.DELETE("/v1/annotation_configs/{config_id}", {
|
|
104
|
+
params: {
|
|
105
|
+
path: {
|
|
106
|
+
config_id: configId,
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
if (response.error) {
|
|
111
|
+
throw new Error(`Failed to delete annotation config: ${response.error}`);
|
|
112
|
+
}
|
|
113
|
+
writeProgress({
|
|
114
|
+
message: `Deleted annotation config ${configId}`,
|
|
115
|
+
noProgress: !options.progress,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
writeError({
|
|
120
|
+
message: `Error deleting annotation config: ${error instanceof Error ? error.message : String(error)}`,
|
|
121
|
+
});
|
|
122
|
+
process.exit(getExitCodeForError(error));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
78
125
|
/**
|
|
79
126
|
* Create the `annotation-config` command with subcommands
|
|
80
127
|
*/
|
|
@@ -91,6 +138,17 @@ export function createAnnotationConfigCommand() {
|
|
|
91
138
|
.option("--limit <number>", "Maximum number of annotation configs to fetch", parseInt)
|
|
92
139
|
.action(annotationConfigListHandler);
|
|
93
140
|
command.addCommand(listCommand);
|
|
141
|
+
command.addCommand(createAnnotationConfigDeleteCommand());
|
|
94
142
|
return command;
|
|
95
143
|
}
|
|
144
|
+
export function createAnnotationConfigDeleteCommand() {
|
|
145
|
+
return new Command("delete")
|
|
146
|
+
.description("Delete an annotation configuration")
|
|
147
|
+
.argument("<config-id>", "Annotation config ID")
|
|
148
|
+
.option("--endpoint <url>", "Phoenix API endpoint")
|
|
149
|
+
.option("--api-key <key>", "Phoenix API key for authentication")
|
|
150
|
+
.option("-y, --yes", "Skip confirmation prompt")
|
|
151
|
+
.option("--no-progress", "Disable progress indicators")
|
|
152
|
+
.action(annotationConfigDeleteHandler);
|
|
153
|
+
}
|
|
96
154
|
//# sourceMappingURL=annotationConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotationConfig.js","sourceRoot":"","sources":["../../src/commands/annotationConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"annotationConfig.js","sourceRoot":"","sources":["../../src/commands/annotationConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type AnnotationTargetType = "span" | "trace";
|
|
2
|
+
export type AnnotatorKind = "HUMAN" | "LLM" | "CODE";
|
|
3
|
+
export interface AnnotationMutationResult {
|
|
4
|
+
id: string;
|
|
5
|
+
targetType: AnnotationTargetType;
|
|
6
|
+
targetId: string;
|
|
7
|
+
name: string;
|
|
8
|
+
label: string | null;
|
|
9
|
+
score: number | null;
|
|
10
|
+
explanation: string | null;
|
|
11
|
+
annotatorKind: AnnotatorKind;
|
|
12
|
+
identifier: string;
|
|
13
|
+
}
|
|
14
|
+
export interface NormalizedAnnotationInput {
|
|
15
|
+
name: string;
|
|
16
|
+
label: string | null;
|
|
17
|
+
score: number | null;
|
|
18
|
+
explanation: string | null;
|
|
19
|
+
annotatorKind: AnnotatorKind;
|
|
20
|
+
result: {
|
|
21
|
+
label?: string | null;
|
|
22
|
+
score?: number;
|
|
23
|
+
explanation?: string | null;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export declare function normalizeAnnotationInput({ targetType, name, label, score, explanation, annotatorKind, }: {
|
|
27
|
+
targetType: AnnotationTargetType;
|
|
28
|
+
name?: string;
|
|
29
|
+
label?: string;
|
|
30
|
+
score?: string | number;
|
|
31
|
+
explanation?: string;
|
|
32
|
+
annotatorKind?: string;
|
|
33
|
+
}): NormalizedAnnotationInput;
|
|
34
|
+
export declare function buildAnnotationMutationResult({ id, targetType, targetId, annotationInput, }: {
|
|
35
|
+
id: string;
|
|
36
|
+
targetType: AnnotationTargetType;
|
|
37
|
+
targetId: string;
|
|
38
|
+
annotationInput: NormalizedAnnotationInput;
|
|
39
|
+
}): AnnotationMutationResult;
|
|
40
|
+
export declare function getAnnotationMutationHelpText({ targetType, }: {
|
|
41
|
+
targetType: AnnotationTargetType;
|
|
42
|
+
}): string;
|
|
43
|
+
export declare function getResponseErrorMessage(error: unknown): string;
|
|
44
|
+
//# sourceMappingURL=annotationMutationUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotationMutationUtils.d.ts","sourceRoot":"","sources":["../../src/commands/annotationMutationUtils.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH;AAgDD,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,aAAa,GACd,EAAE;IACD,UAAU,EAAE,oBAAoB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,yBAAyB,CA4D5B;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,EAAE,EACF,UAAU,EACV,QAAQ,EACR,eAAe,GAChB,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,yBAAyB,CAAC;CAC5C,GAAG,wBAAwB,CAY3B;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,UAAU,GACX,EAAE;IACD,UAAU,EAAE,oBAAoB,CAAC;CAClC,GAAG,MAAM,CAQT;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgB9D"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { InvalidArgumentError } from "../exitCodes.js";
|
|
2
|
+
import { parseNumber, trimToUndefined } from "../normalize.js";
|
|
3
|
+
function getTargetIdPlaceholder({ targetType, }) {
|
|
4
|
+
return targetType === "span" ? "<span-id>" : "<trace-id>";
|
|
5
|
+
}
|
|
6
|
+
function getAnnotateUsage({ targetType, }) {
|
|
7
|
+
const targetIdPlaceholder = getTargetIdPlaceholder({ targetType });
|
|
8
|
+
return [
|
|
9
|
+
`px ${targetType} annotate ${targetIdPlaceholder} --name <name> --label <label>`,
|
|
10
|
+
`px ${targetType} annotate ${targetIdPlaceholder} --name <name> --score <number>`,
|
|
11
|
+
`px ${targetType} annotate ${targetIdPlaceholder} --name <name> --explanation <text>`,
|
|
12
|
+
].join("\n ");
|
|
13
|
+
}
|
|
14
|
+
function normalizeAnnotatorKind({ targetType, annotatorKind, }) {
|
|
15
|
+
if (annotatorKind === undefined) {
|
|
16
|
+
return "HUMAN";
|
|
17
|
+
}
|
|
18
|
+
const normalizedAnnotatorKind = trimToUndefined({
|
|
19
|
+
value: annotatorKind,
|
|
20
|
+
})?.toUpperCase();
|
|
21
|
+
if (normalizedAnnotatorKind === "HUMAN" ||
|
|
22
|
+
normalizedAnnotatorKind === "LLM" ||
|
|
23
|
+
normalizedAnnotatorKind === "CODE") {
|
|
24
|
+
return normalizedAnnotatorKind;
|
|
25
|
+
}
|
|
26
|
+
throw new InvalidArgumentError(`Invalid value for --annotator-kind: ${annotatorKind}\n Valid values: HUMAN, LLM, CODE\n ${getAnnotateUsage({ targetType })}`);
|
|
27
|
+
}
|
|
28
|
+
export function normalizeAnnotationInput({ targetType, name, label, score, explanation, annotatorKind, }) {
|
|
29
|
+
const normalizedName = trimToUndefined({ value: name });
|
|
30
|
+
if (!normalizedName) {
|
|
31
|
+
throw new InvalidArgumentError(`Missing required flag --name.\n ${getAnnotateUsage({ targetType })}`);
|
|
32
|
+
}
|
|
33
|
+
let normalizedScore;
|
|
34
|
+
if (score === undefined) {
|
|
35
|
+
normalizedScore = null;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
try {
|
|
39
|
+
normalizedScore = parseNumber({
|
|
40
|
+
rawValue: score,
|
|
41
|
+
inputName: "--score",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
throw new InvalidArgumentError(`${error instanceof Error ? error.message : String(error)}\n ${getAnnotateUsage({ targetType })}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const normalizedLabel = trimToUndefined({ value: label }) ?? null;
|
|
49
|
+
const normalizedExplanation = trimToUndefined({ value: explanation }) ?? null;
|
|
50
|
+
const normalizedAnnotatorKind = normalizeAnnotatorKind({
|
|
51
|
+
targetType,
|
|
52
|
+
annotatorKind,
|
|
53
|
+
});
|
|
54
|
+
const hasResult = normalizedLabel !== null ||
|
|
55
|
+
normalizedScore !== null ||
|
|
56
|
+
normalizedExplanation !== null;
|
|
57
|
+
if (!hasResult) {
|
|
58
|
+
throw new InvalidArgumentError(`At least one of --label, --score, or --explanation must be provided.\n ${getAnnotateUsage({ targetType })}`);
|
|
59
|
+
}
|
|
60
|
+
const result = {};
|
|
61
|
+
if (normalizedLabel !== null) {
|
|
62
|
+
result.label = normalizedLabel;
|
|
63
|
+
}
|
|
64
|
+
if (normalizedScore !== null) {
|
|
65
|
+
result.score = normalizedScore;
|
|
66
|
+
}
|
|
67
|
+
if (normalizedExplanation !== null) {
|
|
68
|
+
result.explanation = normalizedExplanation;
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
name: normalizedName,
|
|
72
|
+
label: normalizedLabel,
|
|
73
|
+
score: normalizedScore,
|
|
74
|
+
explanation: normalizedExplanation,
|
|
75
|
+
annotatorKind: normalizedAnnotatorKind,
|
|
76
|
+
result,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export function buildAnnotationMutationResult({ id, targetType, targetId, annotationInput, }) {
|
|
80
|
+
return {
|
|
81
|
+
id,
|
|
82
|
+
targetType,
|
|
83
|
+
targetId,
|
|
84
|
+
name: annotationInput.name,
|
|
85
|
+
label: annotationInput.label,
|
|
86
|
+
score: annotationInput.score,
|
|
87
|
+
explanation: annotationInput.explanation,
|
|
88
|
+
annotatorKind: annotationInput.annotatorKind,
|
|
89
|
+
identifier: "",
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export function getAnnotationMutationHelpText({ targetType, }) {
|
|
93
|
+
const targetIdPlaceholder = getTargetIdPlaceholder({ targetType });
|
|
94
|
+
return [
|
|
95
|
+
"",
|
|
96
|
+
"Examples:",
|
|
97
|
+
` px ${targetType} annotate ${targetIdPlaceholder} --name reviewer --label pass`,
|
|
98
|
+
` px ${targetType} annotate ${targetIdPlaceholder} --name reviewer --score 0.9 --format raw --no-progress`,
|
|
99
|
+
].join("\n");
|
|
100
|
+
}
|
|
101
|
+
export function getResponseErrorMessage(error) {
|
|
102
|
+
if (typeof error === "string") {
|
|
103
|
+
return error;
|
|
104
|
+
}
|
|
105
|
+
if (error && typeof error === "object") {
|
|
106
|
+
const errorWithDetail = error;
|
|
107
|
+
if (typeof errorWithDetail.detail === "string") {
|
|
108
|
+
return errorWithDetail.detail;
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
return JSON.stringify(error);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return String(error);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return String(error);
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=annotationMutationUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotationMutationUtils.js","sourceRoot":"","sources":["../../src/commands/annotationMutationUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,10 @@ import { Command } from "commander";
|
|
|
4
4
|
*/
|
|
5
5
|
export declare function createDatasetGetCommand(): Command;
|
|
6
6
|
export declare function createDatasetListCommand(): Command;
|
|
7
|
+
/**
|
|
8
|
+
* Create the `dataset delete` command
|
|
9
|
+
*/
|
|
10
|
+
export declare function createDatasetDeleteCommand(): Command;
|
|
7
11
|
/**
|
|
8
12
|
* Create the `dataset` command with subcommands
|
|
9
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/commands/dataset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/commands/dataset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiWpC;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAqBjD;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAalD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CASpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { createPhoenixClient, resolveDatasetId } from "../client.js";
|
|
4
|
-
import { getConfigErrorMessage, resolveConfig } from "../config.js";
|
|
4
|
+
import { getConfigErrorMessage, resolveConfig, validateConfig, } from "../config.js";
|
|
5
|
+
import { assertDeletesEnabled, confirmOrExit } from "../confirm.js";
|
|
5
6
|
import { ExitCode, getExitCodeForError } from "../exitCodes.js";
|
|
6
7
|
import { writeError, writeOutput, writeProgress } from "../io.js";
|
|
7
8
|
import { formatDatasetExamplesOutput, } from "./formatDataset.js";
|
|
@@ -89,11 +90,11 @@ async function datasetHandler(datasetIdentifier, options) {
|
|
|
89
90
|
},
|
|
90
91
|
});
|
|
91
92
|
// Validate that we have endpoint
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
const validation = validateConfig({ config, projectRequired: false });
|
|
94
|
+
if (!validation.valid) {
|
|
95
|
+
writeError({
|
|
96
|
+
message: getConfigErrorMessage({ errors: validation.errors }),
|
|
97
|
+
});
|
|
97
98
|
process.exit(ExitCode.INVALID_ARGUMENT);
|
|
98
99
|
}
|
|
99
100
|
// Create client
|
|
@@ -166,11 +167,11 @@ async function datasetListHandler(options) {
|
|
|
166
167
|
apiKey: options.apiKey,
|
|
167
168
|
},
|
|
168
169
|
});
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
170
|
+
const validation = validateConfig({ config, projectRequired: false });
|
|
171
|
+
if (!validation.valid) {
|
|
172
|
+
writeError({
|
|
173
|
+
message: getConfigErrorMessage({ errors: validation.errors }),
|
|
174
|
+
});
|
|
174
175
|
process.exit(ExitCode.INVALID_ARGUMENT);
|
|
175
176
|
}
|
|
176
177
|
const client = createPhoenixClient({ config });
|
|
@@ -198,6 +199,57 @@ async function datasetListHandler(options) {
|
|
|
198
199
|
process.exit(getExitCodeForError(error));
|
|
199
200
|
}
|
|
200
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Handler for `dataset delete`
|
|
204
|
+
*/
|
|
205
|
+
async function datasetDeleteHandler(datasetIdentifier, options) {
|
|
206
|
+
try {
|
|
207
|
+
assertDeletesEnabled();
|
|
208
|
+
const config = resolveConfig({
|
|
209
|
+
cliOptions: {
|
|
210
|
+
endpoint: options.endpoint,
|
|
211
|
+
apiKey: options.apiKey,
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
const validation = validateConfig({ config, projectRequired: false });
|
|
215
|
+
if (!validation.valid) {
|
|
216
|
+
writeError({
|
|
217
|
+
message: getConfigErrorMessage({ errors: validation.errors }),
|
|
218
|
+
});
|
|
219
|
+
process.exit(ExitCode.INVALID_ARGUMENT);
|
|
220
|
+
}
|
|
221
|
+
const client = createPhoenixClient({ config });
|
|
222
|
+
writeProgress({
|
|
223
|
+
message: `Resolving dataset: ${datasetIdentifier}`,
|
|
224
|
+
noProgress: !options.progress,
|
|
225
|
+
});
|
|
226
|
+
const datasetId = await resolveDatasetId({ client, datasetIdentifier });
|
|
227
|
+
await confirmOrExit({
|
|
228
|
+
message: `Delete dataset ${datasetIdentifier}? This cannot be undone.`,
|
|
229
|
+
yes: options.yes,
|
|
230
|
+
});
|
|
231
|
+
const response = await client.DELETE("/v1/datasets/{id}", {
|
|
232
|
+
params: {
|
|
233
|
+
path: {
|
|
234
|
+
id: datasetId,
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
});
|
|
238
|
+
if (response.error) {
|
|
239
|
+
throw new Error(`Failed to delete dataset: ${response.error}`);
|
|
240
|
+
}
|
|
241
|
+
writeProgress({
|
|
242
|
+
message: `Deleted dataset ${datasetIdentifier}`,
|
|
243
|
+
noProgress: !options.progress,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
writeError({
|
|
248
|
+
message: `Error deleting dataset: ${error instanceof Error ? error.message : String(error)}`,
|
|
249
|
+
});
|
|
250
|
+
process.exit(getExitCodeForError(error));
|
|
251
|
+
}
|
|
252
|
+
}
|
|
201
253
|
/**
|
|
202
254
|
* Collect multiple --split options into an array
|
|
203
255
|
*/
|
|
@@ -230,6 +282,19 @@ export function createDatasetListCommand() {
|
|
|
230
282
|
.option("--limit <number>", "Maximum number of datasets to fetch", parseInt)
|
|
231
283
|
.action(datasetListHandler);
|
|
232
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Create the `dataset delete` command
|
|
287
|
+
*/
|
|
288
|
+
export function createDatasetDeleteCommand() {
|
|
289
|
+
return new Command("delete")
|
|
290
|
+
.description("Delete a dataset")
|
|
291
|
+
.argument("<dataset-identifier>", "Dataset name or ID")
|
|
292
|
+
.option("--endpoint <url>", "Phoenix API endpoint")
|
|
293
|
+
.option("--api-key <key>", "Phoenix API key for authentication")
|
|
294
|
+
.option("-y, --yes", "Skip confirmation prompt")
|
|
295
|
+
.option("--no-progress", "Disable progress indicators")
|
|
296
|
+
.action(datasetDeleteHandler);
|
|
297
|
+
}
|
|
233
298
|
/**
|
|
234
299
|
* Create the `dataset` command with subcommands
|
|
235
300
|
*/
|
|
@@ -238,6 +303,7 @@ export function createDatasetCommand() {
|
|
|
238
303
|
command.description("Manage Phoenix datasets");
|
|
239
304
|
command.addCommand(createDatasetListCommand());
|
|
240
305
|
command.addCommand(createDatasetGetCommand());
|
|
306
|
+
command.addCommand(createDatasetDeleteCommand());
|
|
241
307
|
return command;
|
|
242
308
|
}
|
|
243
309
|
//# sourceMappingURL=dataset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/commands/dataset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/commands/dataset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
export declare function createExperimentGetCommand(): Command;
|
|
3
3
|
export declare function createExperimentListCommand(): Command;
|
|
4
|
+
export declare function createExperimentDeleteCommand(): Command;
|
|
4
5
|
/**
|
|
5
6
|
* Create the `experiment` command with subcommands
|
|
6
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiment.d.ts","sourceRoot":"","sources":["../../src/commands/experiment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"experiment.d.ts","sourceRoot":"","sources":["../../src/commands/experiment.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyUpC,wBAAgB,0BAA0B,IAAI,OAAO,CAcpD;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAsBrD;AAuDD,wBAAgB,6BAA6B,IAAI,OAAO,CASvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAOjD"}
|