@arizeai/phoenix-cli 0.12.1 → 1.0.1

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 (67) hide show
  1. package/README.md +57 -57
  2. package/build/cli.d.ts.map +1 -1
  3. package/build/cli.js +3 -8
  4. package/build/cli.js.map +1 -1
  5. package/build/commands/dataset.d.ts +6 -1
  6. package/build/commands/dataset.d.ts.map +1 -1
  7. package/build/commands/dataset.js +93 -4
  8. package/build/commands/dataset.js.map +1 -1
  9. package/build/commands/docs.js +1 -1
  10. package/build/commands/docs.js.map +1 -1
  11. package/build/commands/experiment.d.ts +3 -1
  12. package/build/commands/experiment.d.ts.map +1 -1
  13. package/build/commands/experiment.js +175 -8
  14. package/build/commands/experiment.js.map +1 -1
  15. package/build/commands/index.d.ts +2 -7
  16. package/build/commands/index.d.ts.map +1 -1
  17. package/build/commands/index.js +2 -7
  18. package/build/commands/index.js.map +1 -1
  19. package/build/commands/project.d.ts +7 -0
  20. package/build/commands/project.d.ts.map +1 -0
  21. package/build/commands/{projects.js → project.js} +15 -16
  22. package/build/commands/project.js.map +1 -0
  23. package/build/commands/prompt.d.ts +3 -1
  24. package/build/commands/prompt.d.ts.map +1 -1
  25. package/build/commands/prompt.js +90 -4
  26. package/build/commands/prompt.js.map +1 -1
  27. package/build/commands/session.d.ts +3 -1
  28. package/build/commands/session.d.ts.map +1 -1
  29. package/build/commands/session.js +124 -10
  30. package/build/commands/session.js.map +1 -1
  31. package/build/commands/span.d.ts +10 -0
  32. package/build/commands/span.d.ts.map +1 -0
  33. package/build/commands/{spans.js → span.js} +16 -9
  34. package/build/commands/span.js.map +1 -0
  35. package/build/commands/trace.d.ts +3 -1
  36. package/build/commands/trace.d.ts.map +1 -1
  37. package/build/commands/trace.js +259 -8
  38. package/build/commands/trace.js.map +1 -1
  39. package/build/config.js +1 -1
  40. package/build/config.js.map +1 -1
  41. package/package.json +1 -1
  42. package/build/commands/datasets.d.ts +0 -6
  43. package/build/commands/datasets.d.ts.map +0 -1
  44. package/build/commands/datasets.js +0 -98
  45. package/build/commands/datasets.js.map +0 -1
  46. package/build/commands/experiments.d.ts +0 -6
  47. package/build/commands/experiments.d.ts.map +0 -1
  48. package/build/commands/experiments.js +0 -202
  49. package/build/commands/experiments.js.map +0 -1
  50. package/build/commands/projects.d.ts +0 -6
  51. package/build/commands/projects.d.ts.map +0 -1
  52. package/build/commands/projects.js.map +0 -1
  53. package/build/commands/prompts.d.ts +0 -6
  54. package/build/commands/prompts.d.ts.map +0 -1
  55. package/build/commands/prompts.js +0 -98
  56. package/build/commands/prompts.js.map +0 -1
  57. package/build/commands/sessions.d.ts +0 -6
  58. package/build/commands/sessions.d.ts.map +0 -1
  59. package/build/commands/sessions.js +0 -127
  60. package/build/commands/sessions.js.map +0 -1
  61. package/build/commands/spans.d.ts +0 -6
  62. package/build/commands/spans.d.ts.map +0 -1
  63. package/build/commands/spans.js.map +0 -1
  64. package/build/commands/traces.d.ts +0 -6
  65. package/build/commands/traces.d.ts.map +0 -1
  66. package/build/commands/traces.js +0 -278
  67. package/build/commands/traces.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AA2BhE;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,MAAM,GAAkB;QAC5B,QAAQ,EAAE,wBAAwB;KACnC,CAAC;IAEF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,0BAA0B,CAAC,CAAC;IACtE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,yCAAyC;IACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACzD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,UAAU,GACW;IACrB,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAE9C,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC5C,CAAC;IAE5B,OAAO;QACL,GAAG,SAAS;QACZ,GAAG,iBAAiB;KACrB,CAAC;AACJ,CAAC;AAYD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAyB;IAI9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CACT,gGAAgG,CACjG,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC;AAYD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,GACuB;IAC7B,MAAM,KAAK,GAAG;QACZ,sBAAsB;QACtB,EAAE;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,EAAE;QACF,cAAc;QACd,iCAAiC;QACjC,gDAAgD;QAChD,EAAE;QACF,6BAA6B;QAC7B,wCAAwC;QACxC,EAAE;QACF,mBAAmB;QACnB,mEAAmE;KACpE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AA2BhE;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,MAAM,GAAkB;QAC5B,QAAQ,EAAE,wBAAwB;KACnC,CAAC;IAEF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,0BAA0B,CAAC,CAAC;IACtE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,yCAAyC;IACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACzD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,UAAU,GACW;IACrB,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAE9C,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC5C,CAAC;IAE5B,OAAO;QACL,GAAG,SAAS;QACZ,GAAG,iBAAiB;KACrB,CAAC;AACJ,CAAC;AAYD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAyB;IAI9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CACT,gGAAgG,CACjG,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CACT,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC;AAYD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,MAAM,GACuB;IAC7B,MAAM,KAAK,GAAG;QACZ,sBAAsB;QACtB,EAAE;QACF,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,EAAE;QACF,cAAc;QACd,iCAAiC;QACjC,gDAAgD;QAChD,EAAE;QACF,6BAA6B;QAC7B,wCAAwC;QACxC,EAAE;QACF,mBAAmB;QACnB,uEAAuE;KACxE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arizeai/phoenix-cli",
3
- "version": "0.12.1",
3
+ "version": "1.0.1",
4
4
  "description": "A command-line interface for Phoenix",
5
5
  "keywords": [
6
6
  "arize",
@@ -1,6 +0,0 @@
1
- import { Command } from "commander";
2
- /**
3
- * Create the datasets command
4
- */
5
- export declare function createDatasetsCommand(): Command;
6
- //# sourceMappingURL=datasets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datasets.d.ts","sourceRoot":"","sources":["../../src/commands/datasets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6GpC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAiB/C"}
@@ -1,98 +0,0 @@
1
- import { Command } from "commander";
2
- import { createPhoenixClient } from "../client.js";
3
- import { getConfigErrorMessage, resolveConfig } from "../config.js";
4
- import { ExitCode, getExitCodeForError } from "../exitCodes.js";
5
- import { writeError, writeOutput, writeProgress } from "../io.js";
6
- import { formatDatasetsOutput } from "./formatDatasets.js";
7
- /**
8
- * Fetch all datasets from Phoenix
9
- */
10
- async function fetchDatasets(client, options = {}) {
11
- const allDatasets = [];
12
- let cursor;
13
- const pageLimit = options.limit || 100;
14
- do {
15
- const response = await client.GET("/v1/datasets", {
16
- params: {
17
- query: {
18
- cursor,
19
- limit: pageLimit,
20
- },
21
- },
22
- });
23
- if (response.error || !response.data) {
24
- throw new Error(`Failed to fetch datasets: ${response.error}`);
25
- }
26
- allDatasets.push(...response.data.data);
27
- cursor = response.data.next_cursor || undefined;
28
- // If we've fetched enough for the requested limit, stop
29
- if (options.limit && allDatasets.length >= options.limit) {
30
- break;
31
- }
32
- } while (cursor);
33
- return allDatasets;
34
- }
35
- /**
36
- * Datasets command handler
37
- */
38
- async function datasetsHandler(options) {
39
- try {
40
- // Resolve configuration
41
- const config = resolveConfig({
42
- cliOptions: {
43
- endpoint: options.endpoint,
44
- apiKey: options.apiKey,
45
- },
46
- });
47
- // Validate that we have endpoint
48
- if (!config.endpoint) {
49
- const errors = [
50
- "Phoenix endpoint not configured. Set PHOENIX_HOST environment variable or use --endpoint flag.",
51
- ];
52
- writeError({ message: getConfigErrorMessage({ errors }) });
53
- process.exit(ExitCode.INVALID_ARGUMENT);
54
- }
55
- // Create client
56
- const client = createPhoenixClient({ config });
57
- writeProgress({
58
- message: "Fetching datasets...",
59
- noProgress: !options.progress,
60
- });
61
- // Fetch datasets
62
- const datasets = await fetchDatasets(client, {
63
- limit: options.limit,
64
- });
65
- writeProgress({
66
- message: `Found ${datasets.length} dataset(s)`,
67
- noProgress: !options.progress,
68
- });
69
- // Output datasets
70
- const output = formatDatasetsOutput({
71
- datasets,
72
- format: options.format,
73
- });
74
- writeOutput({ message: output });
75
- }
76
- catch (error) {
77
- writeError({
78
- message: `Error fetching datasets: ${error instanceof Error ? error.message : String(error)}`,
79
- });
80
- process.exit(getExitCodeForError(error));
81
- }
82
- }
83
- /**
84
- * Create the datasets command
85
- */
86
- export function createDatasetsCommand() {
87
- const command = new Command("datasets");
88
- command
89
- .description("List all available Phoenix datasets")
90
- .option("--endpoint <url>", "Phoenix API endpoint")
91
- .option("--api-key <key>", "Phoenix API key for authentication")
92
- .option("--format <format>", "Output format: pretty, json, or raw", "pretty")
93
- .option("--no-progress", "Disable progress indicators")
94
- .option("--limit <number>", "Maximum number of datasets to fetch", parseInt)
95
- .action(datasetsHandler);
96
- return command;
97
- }
98
- //# sourceMappingURL=datasets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datasets.js","sourceRoot":"","sources":["../../src/commands/datasets.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Command } from "commander";
2
- /**
3
- * Create the experiments command
4
- */
5
- export declare function createExperimentsCommand(): Command;
6
- //# sourceMappingURL=experiments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoPpC;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CA0BlD"}
@@ -1,202 +0,0 @@
1
- import * as fs from "fs";
2
- import * as path from "path";
3
- import { Command } from "commander";
4
- import { createPhoenixClient, resolveDatasetId } from "../client.js";
5
- import { getConfigErrorMessage, resolveConfig } from "../config.js";
6
- import { ExitCode, getExitCodeForError } from "../exitCodes.js";
7
- import { writeError, writeOutput, writeProgress } from "../io.js";
8
- import { formatExperimentsOutput, } from "./formatExperiments.js";
9
- /**
10
- * Fetch experiments for a dataset from Phoenix
11
- */
12
- async function fetchExperiments(client, datasetId, options = {}) {
13
- const allExperiments = [];
14
- let cursor;
15
- const pageLimit = options.limit || 100;
16
- do {
17
- const response = await client.GET("/v1/datasets/{dataset_id}/experiments", {
18
- params: {
19
- path: {
20
- dataset_id: datasetId,
21
- },
22
- query: {
23
- cursor,
24
- limit: pageLimit,
25
- },
26
- },
27
- });
28
- if (response.error || !response.data) {
29
- throw new Error(`Failed to fetch experiments: ${response.error}`);
30
- }
31
- allExperiments.push(...response.data.data);
32
- cursor = response.data.next_cursor || undefined;
33
- // If we've fetched enough for the requested limit, stop
34
- if (options.limit && allExperiments.length >= options.limit) {
35
- break;
36
- }
37
- } while (cursor);
38
- return allExperiments;
39
- }
40
- /**
41
- * Download experiment JSON data
42
- */
43
- async function downloadExperimentJson(client, experimentId) {
44
- const response = await client.GET("/v1/experiments/{experiment_id}/json", {
45
- params: {
46
- path: {
47
- experiment_id: experimentId,
48
- },
49
- },
50
- parseAs: "text",
51
- });
52
- if (response.error || response.data === undefined) {
53
- throw new Error(`Failed to download experiment: ${response.error}`);
54
- }
55
- return response.data;
56
- }
57
- /**
58
- * Write experiments to directory
59
- */
60
- async function writeExperimentsToDirectory(client, experiments, directory, options = {}) {
61
- // Create directory if it doesn't exist
62
- if (!fs.existsSync(directory)) {
63
- fs.mkdirSync(directory, { recursive: true });
64
- }
65
- let completed = 0;
66
- for (const experiment of experiments) {
67
- try {
68
- writeProgress({
69
- message: `[${completed + 1}/${experiments.length}] Downloading experiment ${experiment.id}...`,
70
- noProgress: options.noProgress,
71
- });
72
- const jsonData = await downloadExperimentJson(client, experiment.id);
73
- const filename = `${experiment.id}.json`;
74
- const filepath = path.join(directory, filename);
75
- fs.writeFileSync(filepath, jsonData, "utf-8");
76
- completed++;
77
- writeProgress({
78
- message: `[${completed}/${experiments.length}] Wrote ${filename}`,
79
- noProgress: options.noProgress,
80
- });
81
- }
82
- catch (error) {
83
- writeProgress({
84
- message: `Warning: Failed to download experiment ${experiment.id}: ${error instanceof Error ? error.message : String(error)}`,
85
- noProgress: options.noProgress,
86
- });
87
- }
88
- }
89
- }
90
- /**
91
- * Experiments command handler
92
- */
93
- async function experimentsHandler(directory, options) {
94
- try {
95
- const userSpecifiedFormat = process.argv.includes("--format") ||
96
- process.argv.some((arg) => arg.startsWith("--format="));
97
- // Resolve configuration
98
- const config = resolveConfig({
99
- cliOptions: {
100
- endpoint: options.endpoint,
101
- apiKey: options.apiKey,
102
- },
103
- });
104
- // Validate that we have endpoint
105
- if (!config.endpoint) {
106
- const errors = [
107
- "Phoenix endpoint not configured. Set PHOENIX_HOST environment variable or use --endpoint flag.",
108
- ];
109
- writeError({ message: getConfigErrorMessage({ errors }) });
110
- process.exit(ExitCode.INVALID_ARGUMENT);
111
- }
112
- // Validate that we have dataset
113
- if (!options.dataset) {
114
- writeError({
115
- message: "Dataset not specified. Use --dataset <name-or-id> to specify a dataset.",
116
- });
117
- process.exit(ExitCode.INVALID_ARGUMENT);
118
- }
119
- // Create client
120
- const client = createPhoenixClient({ config });
121
- writeProgress({
122
- message: `Resolving dataset: ${options.dataset}`,
123
- noProgress: !options.progress,
124
- });
125
- // Resolve dataset ID
126
- const datasetId = await resolveDatasetId({
127
- client,
128
- datasetIdentifier: options.dataset,
129
- });
130
- writeProgress({
131
- message: `Fetching experiments for dataset ${datasetId}...`,
132
- noProgress: !options.progress,
133
- });
134
- // Fetch experiments
135
- const experiments = await fetchExperiments(client, datasetId, {
136
- limit: options.limit,
137
- });
138
- if (experiments.length === 0) {
139
- writeProgress({
140
- message: "No experiments found",
141
- noProgress: !options.progress,
142
- });
143
- return;
144
- }
145
- writeProgress({
146
- message: `Found ${experiments.length} experiment(s)`,
147
- noProgress: !options.progress,
148
- });
149
- // Output experiments
150
- if (directory) {
151
- if (userSpecifiedFormat && options.format && options.format !== "json") {
152
- writeError({
153
- message: `Warning: --format is ignored when writing experiments to a directory; writing JSON files to ${directory}`,
154
- });
155
- }
156
- // Write to directory
157
- writeProgress({
158
- message: `Writing experiments to ${directory}...`,
159
- noProgress: !options.progress,
160
- });
161
- await writeExperimentsToDirectory(client, experiments, directory, {
162
- noProgress: !options.progress,
163
- });
164
- writeProgress({
165
- message: `Done! Wrote ${experiments.length} experiment(s) to ${directory}`,
166
- noProgress: !options.progress,
167
- });
168
- }
169
- else {
170
- // Write to stdout
171
- const output = formatExperimentsOutput({
172
- experiments,
173
- format: options.format,
174
- });
175
- writeOutput({ message: output });
176
- }
177
- }
178
- catch (error) {
179
- writeError({
180
- message: `Error fetching experiments: ${error instanceof Error ? error.message : String(error)}`,
181
- });
182
- process.exit(getExitCodeForError(error));
183
- }
184
- }
185
- /**
186
- * Create the experiments command
187
- */
188
- export function createExperimentsCommand() {
189
- const command = new Command("experiments");
190
- command
191
- .description("List experiments for a dataset")
192
- .argument("[directory]", "Directory to write experiment files (optional, downloads full JSON data)")
193
- .requiredOption("--dataset <name-or-id>", "Dataset name or ID (required)")
194
- .option("--endpoint <url>", "Phoenix API endpoint")
195
- .option("--api-key <key>", "Phoenix API key for authentication")
196
- .option("--format <format>", "Output format: pretty, json, or raw", "pretty")
197
- .option("--no-progress", "Disable progress indicators")
198
- .option("--limit <number>", "Maximum number of experiments to fetch", parseInt)
199
- .action(experimentsHandler);
200
- return command;
201
- }
202
- //# sourceMappingURL=experiments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Command } from "commander";
2
- /**
3
- * Create the projects command
4
- */
5
- export declare function createProjectsCommand(): Command;
6
- //# sourceMappingURL=projects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmGpC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAqB/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAqB,MAAM,kBAAkB,CAAC;AAW3E;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,MAAqB,EACrB,UAA8B,EAAE;IAEhC,MAAM,WAAW,GAAc,EAAE,CAAC;IAClC,IAAI,MAA0B,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;IAEnC,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,MAAM;oBACN,KAAK;oBACL,2BAA2B,EAAE,KAAK;iBACnC;aACF;SACF,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;IAClD,CAAC,QAAQ,MAAM,EAAE;IAEjB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,OAAwB;IACrD,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,MAAM,GAAG,aAAa,CAAC;YAC3B,UAAU,EAAE;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB;SACF,CAAC,CAAC;QAEH,6EAA6E;QAC7E,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG;gBACb,gGAAgG;aACjG,CAAC;YACF,UAAU,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE/C,iBAAiB;QACjB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;YAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,QAAQ,EAAE,QAIR;YACF,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC;YACT,OAAO,EAAE,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC9F,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAExC,OAAO;SACJ,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CACL,mBAAmB,EACnB,qCAAqC,EACrC,QAAQ,CACT;SACA,MAAM,CAAC,eAAe,EAAE,6BAA6B,CAAC;SACtD,MAAM,CACL,kBAAkB,EAClB,8CAA8C,EAC9C,QAAQ,CACT;SACA,MAAM,CAAC,eAAe,CAAC,CAAC;IAE3B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Command } from "commander";
2
- /**
3
- * Create the prompts command
4
- */
5
- export declare function createPromptsCommand(): Command;
6
- //# sourceMappingURL=prompts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/commands/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6GpC;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAiB9C"}
@@ -1,98 +0,0 @@
1
- import { Command } from "commander";
2
- import { createPhoenixClient } from "../client.js";
3
- import { getConfigErrorMessage, resolveConfig } from "../config.js";
4
- import { ExitCode, getExitCodeForError } from "../exitCodes.js";
5
- import { writeError, writeOutput, writeProgress } from "../io.js";
6
- import { formatPromptsOutput } from "./formatPrompts.js";
7
- /**
8
- * Fetch all prompts from Phoenix
9
- */
10
- async function fetchPrompts(client, options = {}) {
11
- const allPrompts = [];
12
- let cursor;
13
- const pageLimit = options.limit || 100;
14
- do {
15
- const response = await client.GET("/v1/prompts", {
16
- params: {
17
- query: {
18
- cursor,
19
- limit: pageLimit,
20
- },
21
- },
22
- });
23
- if (response.error || !response.data) {
24
- throw new Error(`Failed to fetch prompts: ${response.error}`);
25
- }
26
- allPrompts.push(...response.data.data);
27
- cursor = response.data.next_cursor || undefined;
28
- // If we've fetched enough for the requested limit, stop
29
- if (options.limit && allPrompts.length >= options.limit) {
30
- break;
31
- }
32
- } while (cursor);
33
- return allPrompts;
34
- }
35
- /**
36
- * Prompts command handler
37
- */
38
- async function promptsHandler(options) {
39
- try {
40
- // Resolve configuration
41
- const config = resolveConfig({
42
- cliOptions: {
43
- endpoint: options.endpoint,
44
- apiKey: options.apiKey,
45
- },
46
- });
47
- // Validate that we have endpoint
48
- if (!config.endpoint) {
49
- const errors = [
50
- "Phoenix endpoint not configured. Set PHOENIX_HOST environment variable or use --endpoint flag.",
51
- ];
52
- writeError({ message: getConfigErrorMessage({ errors }) });
53
- process.exit(ExitCode.INVALID_ARGUMENT);
54
- }
55
- // Create client
56
- const client = createPhoenixClient({ config });
57
- writeProgress({
58
- message: "Fetching prompts...",
59
- noProgress: !options.progress,
60
- });
61
- // Fetch prompts
62
- const prompts = await fetchPrompts(client, {
63
- limit: options.limit,
64
- });
65
- writeProgress({
66
- message: `Found ${prompts.length} prompt(s)`,
67
- noProgress: !options.progress,
68
- });
69
- // Output prompts
70
- const output = formatPromptsOutput({
71
- prompts,
72
- format: options.format,
73
- });
74
- writeOutput({ message: output });
75
- }
76
- catch (error) {
77
- writeError({
78
- message: `Error fetching prompts: ${error instanceof Error ? error.message : String(error)}`,
79
- });
80
- process.exit(getExitCodeForError(error));
81
- }
82
- }
83
- /**
84
- * Create the prompts command
85
- */
86
- export function createPromptsCommand() {
87
- const command = new Command("prompts");
88
- command
89
- .description("List all available Phoenix prompts")
90
- .option("--endpoint <url>", "Phoenix API endpoint")
91
- .option("--api-key <key>", "Phoenix API key for authentication")
92
- .option("--format <format>", "Output format: pretty, json, or raw", "pretty")
93
- .option("--no-progress", "Disable progress indicators")
94
- .option("--limit <number>", "Maximum number of prompts to fetch", parseInt)
95
- .action(promptsHandler);
96
- return command;
97
- }
98
- //# sourceMappingURL=prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/commands/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Command } from "commander";
2
- /**
3
- * Create the sessions command
4
- */
5
- export declare function createSessionsCommand(): Command;
6
- //# sourceMappingURL=sessions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuJpC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAwB/C"}
@@ -1,127 +0,0 @@
1
- import { Command } from "commander";
2
- import { createPhoenixClient, resolveProjectId } from "../client.js";
3
- import { getConfigErrorMessage, resolveConfig, validateConfig, } from "../config.js";
4
- import { ExitCode, getExitCodeForError } from "../exitCodes.js";
5
- import { writeError, writeOutput, writeProgress } from "../io.js";
6
- import { formatSessionsOutput } from "./formatSessions.js";
7
- /**
8
- * Fetch sessions for a project from Phoenix
9
- */
10
- async function fetchSessions(client, projectIdentifier, options = {}) {
11
- const allSessions = [];
12
- let cursor;
13
- const targetLimit = options.limit || 10;
14
- do {
15
- const response = await client.GET("/v1/projects/{project_identifier}/sessions", {
16
- params: {
17
- path: {
18
- project_identifier: projectIdentifier,
19
- },
20
- query: {
21
- cursor,
22
- limit: Math.min(targetLimit - allSessions.length, 100),
23
- order: options.order,
24
- },
25
- },
26
- });
27
- if (response.error || !response.data) {
28
- throw new Error(`Failed to fetch sessions: ${response.error}`);
29
- }
30
- allSessions.push(...response.data.data);
31
- cursor = response.data.next_cursor || undefined;
32
- if (allSessions.length >= targetLimit) {
33
- break;
34
- }
35
- } while (cursor);
36
- return allSessions.slice(0, targetLimit);
37
- }
38
- /**
39
- * Sessions command handler
40
- */
41
- async function sessionsHandler(options) {
42
- try {
43
- // Resolve configuration
44
- const config = resolveConfig({
45
- cliOptions: {
46
- endpoint: options.endpoint,
47
- project: options.project,
48
- apiKey: options.apiKey,
49
- },
50
- });
51
- // Validate configuration
52
- const validation = validateConfig({ config });
53
- if (!validation.valid) {
54
- writeError({
55
- message: getConfigErrorMessage({ errors: validation.errors }),
56
- });
57
- process.exit(ExitCode.INVALID_ARGUMENT);
58
- }
59
- // Create client
60
- const client = createPhoenixClient({ config });
61
- // Resolve project ID
62
- const projectIdentifier = config.project;
63
- if (!projectIdentifier) {
64
- writeError({ message: "Project not configured" });
65
- process.exit(ExitCode.INVALID_ARGUMENT);
66
- }
67
- writeProgress({
68
- message: `Resolving project: ${projectIdentifier}`,
69
- noProgress: !options.progress,
70
- });
71
- const projectId = await resolveProjectId({
72
- client,
73
- projectIdentifier,
74
- });
75
- const limit = options.limit || 10;
76
- writeProgress({
77
- message: `Fetching sessions for project ${projectId}...`,
78
- noProgress: !options.progress,
79
- });
80
- // Fetch sessions
81
- const sessions = await fetchSessions(client, projectId, {
82
- limit,
83
- order: options.order,
84
- });
85
- if (sessions.length === 0) {
86
- writeProgress({
87
- message: "No sessions found",
88
- noProgress: !options.progress,
89
- });
90
- return;
91
- }
92
- writeProgress({
93
- message: `Found ${sessions.length} session(s)`,
94
- noProgress: !options.progress,
95
- });
96
- // Output sessions
97
- const output = formatSessionsOutput({
98
- sessions,
99
- format: options.format,
100
- });
101
- writeOutput({ message: output });
102
- }
103
- catch (error) {
104
- writeError({
105
- message: `Error fetching sessions: ${error instanceof Error ? error.message : String(error)}`,
106
- });
107
- process.exit(getExitCodeForError(error));
108
- }
109
- }
110
- /**
111
- * Create the sessions command
112
- */
113
- export function createSessionsCommand() {
114
- const command = new Command("sessions");
115
- command
116
- .description("List sessions for a project")
117
- .option("--endpoint <url>", "Phoenix API endpoint")
118
- .option("--project <name>", "Project name or ID")
119
- .option("--api-key <key>", "Phoenix API key for authentication")
120
- .option("--format <format>", "Output format: pretty, json, or raw", "pretty")
121
- .option("--no-progress", "Disable progress indicators")
122
- .option("-n, --limit <number>", "Maximum number of sessions to return", parseInt, 10)
123
- .option("--order <order>", "Sort order: asc or desc", "desc")
124
- .action(sessionsHandler);
125
- return command;
126
- }
127
- //# sourceMappingURL=sessions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Command } from "commander";
2
- /**
3
- * Create the spans command
4
- */
5
- export declare function createSpansCommand(): Command;
6
- //# sourceMappingURL=spans.d.ts.map