@arizeai/phoenix-cli 0.7.4 → 0.9.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 (94) hide show
  1. package/README.md +23 -0
  2. package/build/banner.d.ts +5 -0
  3. package/build/banner.d.ts.map +1 -0
  4. package/build/banner.js +27 -0
  5. package/build/banner.js.map +1 -0
  6. package/build/cli.d.ts.map +1 -1
  7. package/build/cli.js +8 -6
  8. package/build/cli.js.map +1 -1
  9. package/build/commands/annotationConfig.d.ts +6 -0
  10. package/build/commands/annotationConfig.d.ts.map +1 -0
  11. package/build/commands/annotationConfig.js +96 -0
  12. package/build/commands/annotationConfig.js.map +1 -0
  13. package/build/commands/api.d.ts.map +1 -1
  14. package/build/commands/api.js +9 -5
  15. package/build/commands/api.js.map +1 -1
  16. package/build/commands/auth.d.ts.map +1 -1
  17. package/build/commands/auth.js +9 -13
  18. package/build/commands/auth.js.map +1 -1
  19. package/build/commands/dataset.d.ts.map +1 -1
  20. package/build/commands/dataset.js +3 -2
  21. package/build/commands/dataset.js.map +1 -1
  22. package/build/commands/datasets.d.ts.map +1 -1
  23. package/build/commands/datasets.js +3 -2
  24. package/build/commands/datasets.js.map +1 -1
  25. package/build/commands/docs.d.ts +42 -0
  26. package/build/commands/docs.d.ts.map +1 -0
  27. package/build/commands/docs.js +337 -0
  28. package/build/commands/docs.js.map +1 -0
  29. package/build/commands/experiment.d.ts.map +1 -1
  30. package/build/commands/experiment.js +3 -2
  31. package/build/commands/experiment.js.map +1 -1
  32. package/build/commands/experiments.d.ts.map +1 -1
  33. package/build/commands/experiments.js +4 -3
  34. package/build/commands/experiments.js.map +1 -1
  35. package/build/commands/formatAnnotationConfigs.d.ts +16 -0
  36. package/build/commands/formatAnnotationConfigs.d.ts.map +1 -0
  37. package/build/commands/formatAnnotationConfigs.js +24 -0
  38. package/build/commands/formatAnnotationConfigs.js.map +1 -0
  39. package/build/commands/formatDataset.d.ts.map +1 -1
  40. package/build/commands/formatDataset.js +11 -29
  41. package/build/commands/formatDataset.js.map +1 -1
  42. package/build/commands/formatDatasets.d.ts.map +1 -1
  43. package/build/commands/formatDatasets.js +10 -20
  44. package/build/commands/formatDatasets.js.map +1 -1
  45. package/build/commands/formatExperiments.d.ts.map +1 -1
  46. package/build/commands/formatExperiments.js +12 -28
  47. package/build/commands/formatExperiments.js.map +1 -1
  48. package/build/commands/formatProjects.d.ts.map +1 -1
  49. package/build/commands/formatProjects.js +7 -11
  50. package/build/commands/formatProjects.js.map +1 -1
  51. package/build/commands/formatPrompts.d.ts.map +1 -1
  52. package/build/commands/formatPrompts.js +7 -20
  53. package/build/commands/formatPrompts.js.map +1 -1
  54. package/build/commands/formatSessions.d.ts.map +1 -1
  55. package/build/commands/formatSessions.js +10 -14
  56. package/build/commands/formatSessions.js.map +1 -1
  57. package/build/commands/formatTable.d.ts +46 -0
  58. package/build/commands/formatTable.d.ts.map +1 -0
  59. package/build/commands/formatTable.js +107 -0
  60. package/build/commands/formatTable.js.map +1 -0
  61. package/build/commands/index.d.ts +2 -0
  62. package/build/commands/index.d.ts.map +1 -1
  63. package/build/commands/index.js +2 -0
  64. package/build/commands/index.js.map +1 -1
  65. package/build/commands/projects.d.ts.map +1 -1
  66. package/build/commands/projects.js +3 -2
  67. package/build/commands/projects.js.map +1 -1
  68. package/build/commands/prompt.d.ts.map +1 -1
  69. package/build/commands/prompt.js +3 -2
  70. package/build/commands/prompt.js.map +1 -1
  71. package/build/commands/prompts.d.ts.map +1 -1
  72. package/build/commands/prompts.js +3 -2
  73. package/build/commands/prompts.js.map +1 -1
  74. package/build/commands/session.d.ts.map +1 -1
  75. package/build/commands/session.js +3 -2
  76. package/build/commands/session.js.map +1 -1
  77. package/build/commands/sessions.d.ts.map +1 -1
  78. package/build/commands/sessions.js +4 -3
  79. package/build/commands/sessions.js.map +1 -1
  80. package/build/commands/trace.d.ts.map +1 -1
  81. package/build/commands/trace.js +5 -4
  82. package/build/commands/trace.js.map +1 -1
  83. package/build/commands/traces.d.ts.map +1 -1
  84. package/build/commands/traces.js +4 -3
  85. package/build/commands/traces.js.map +1 -1
  86. package/build/config.d.ts +4 -0
  87. package/build/config.d.ts.map +1 -1
  88. package/build/config.js +7 -1
  89. package/build/config.js.map +1 -1
  90. package/build/exitCodes.d.ts +40 -0
  91. package/build/exitCodes.d.ts.map +1 -0
  92. package/build/exitCodes.js +46 -0
  93. package/build/exitCodes.js.map +1 -0
  94. package/package.json +3 -3
@@ -0,0 +1,337 @@
1
+ import * as fsPromises from "node:fs/promises";
2
+ import * as path from "node:path";
3
+ import { Command } from "commander";
4
+ import { ExitCode, getExitCodeForError } from "../exitCodes.js";
5
+ import { writeError, writeOutput } from "../io.js";
6
+ const LLMS_TXT_URL = "https://arize.com/docs/phoenix/llms.txt";
7
+ const PHOENIX_DOCS_PREFIX = "https://arize.com/docs/phoenix/";
8
+ const DEFAULT_OUTPUT_DIR = ".px/docs";
9
+ const DEFAULT_WORKERS = 10;
10
+ const ALL_WORKFLOWS = "all";
11
+ /**
12
+ * Maps user-facing workflow names to the top-level `##` section headings
13
+ * in the llms.txt index. Entries under `###` subsections inherit their
14
+ * parent `##` section.
15
+ */
16
+ const WORKFLOW_SECTION_MAP = {
17
+ tracing: ["tracing"],
18
+ evaluation: ["evaluation"],
19
+ datasets: ["datasets & experiments"],
20
+ prompts: ["prompt engineering"],
21
+ integrations: ["integrations"],
22
+ sdk: ["sdk & api reference"],
23
+ "self-hosting": ["self-hosting"],
24
+ };
25
+ const VALID_WORKFLOWS = Object.keys(WORKFLOW_SECTION_MAP);
26
+ /** The default set fetched when no --workflow is specified. */
27
+ const DEFAULT_WORKFLOWS = [
28
+ "tracing",
29
+ "evaluation",
30
+ "datasets",
31
+ "prompts",
32
+ "integrations",
33
+ ];
34
+ // ---------------------------------------------------------------------------
35
+ // Pure functions (exported for testing)
36
+ // ---------------------------------------------------------------------------
37
+ /**
38
+ * Parse an llms.txt file into doc entries.
39
+ *
40
+ * The real Phoenix llms.txt format uses:
41
+ * ## Section — top-level sections
42
+ * ### Subsection — subsections (inherit parent ## section)
43
+ * - Title: `url` - Description
44
+ */
45
+ export function parseLlmsTxt(content) {
46
+ const entries = [];
47
+ let currentSection = "";
48
+ for (const rawLine of content.split("\n")) {
49
+ const line = rawLine.trim();
50
+ // Track top-level ## section headings (subsections ### inherit the parent)
51
+ const topSectionMatch = line.match(/^##\s+(?!#)(.+)/);
52
+ if (topSectionMatch) {
53
+ currentSection = topSectionMatch[1].trim();
54
+ continue;
55
+ }
56
+ // Parse: - Title: `url` - Description
57
+ const entryMatch = line.match(/^-\s+(.+?):\s+`(https?:\/\/[^`]+)`(?:\s+-\s+(.*))?$/);
58
+ if (entryMatch) {
59
+ entries.push({
60
+ title: entryMatch[1],
61
+ url: entryMatch[2],
62
+ description: entryMatch[3] ?? "",
63
+ section: currentSection,
64
+ });
65
+ }
66
+ }
67
+ return entries;
68
+ }
69
+ /**
70
+ * Filter doc entries by workflow categories. Returns all entries if
71
+ * workflows is empty or contains ALL_WORKFLOWS.
72
+ */
73
+ export function filterByWorkflows(entries, workflows) {
74
+ if (workflows.length === 0) {
75
+ return entries;
76
+ }
77
+ const normalized = workflows.map((workflow) => workflow.toLowerCase());
78
+ if (normalized.includes(ALL_WORKFLOWS)) {
79
+ return entries;
80
+ }
81
+ const allowedSections = new Set();
82
+ for (const key of normalized) {
83
+ const mapped = WORKFLOW_SECTION_MAP[key];
84
+ if (mapped) {
85
+ for (const section of mapped) {
86
+ allowedSections.add(section);
87
+ }
88
+ }
89
+ }
90
+ return entries.filter((entry) => allowedSections.has(entry.section.toLowerCase()));
91
+ }
92
+ /**
93
+ * Convert a Phoenix docs URL to a local file path.
94
+ * Strips the common prefix and appends `.md`.
95
+ */
96
+ export function urlToFilePath(url, outputDir) {
97
+ let relative = url.startsWith(PHOENIX_DOCS_PREFIX)
98
+ ? url.slice(PHOENIX_DOCS_PREFIX.length)
99
+ : url;
100
+ relative = relative.replace(/^\/+|\/+$/g, "");
101
+ return path.join(outputDir, `${relative}.md`);
102
+ }
103
+ /**
104
+ * Group doc entries by their section name (lowercased).
105
+ */
106
+ export function groupBySection(entries) {
107
+ const groups = new Map();
108
+ for (const entry of entries) {
109
+ const section = entry.section.toLowerCase();
110
+ const group = groups.get(section);
111
+ if (group) {
112
+ group.push(entry);
113
+ }
114
+ else {
115
+ groups.set(section, [entry]);
116
+ }
117
+ }
118
+ return groups;
119
+ }
120
+ /**
121
+ * Generate the content for the top-level README.md index file.
122
+ */
123
+ export function generateReadme(entries, grouped) {
124
+ const lines = [
125
+ "# Phoenix Docs",
126
+ "",
127
+ "Generated by `px docs fetch`.",
128
+ "",
129
+ ];
130
+ const sections = grouped ?? groupBySection(entries);
131
+ for (const [section, sectionEntries] of sections) {
132
+ lines.push(`## ${section}`);
133
+ for (const entry of sectionEntries) {
134
+ const filePath = urlToFilePath(entry.url, "").replace(/^\/+/, "");
135
+ lines.push(`- [${entry.title}](${filePath})`);
136
+ }
137
+ lines.push("");
138
+ }
139
+ return lines.join("\n");
140
+ }
141
+ /**
142
+ * Generate the content for a section-level _index.md file.
143
+ * Uses paths relative to the section directory (derived from the first
144
+ * entry's file path) so that links work from the _index.md location.
145
+ */
146
+ export function generateSectionIndex(section, entries) {
147
+ const lines = [`# ${section} Docs`, ""];
148
+ // Determine the section directory from the first entry
149
+ const firstFilePath = urlToFilePath(entries[0].url, "").replace(/^\/+/, "");
150
+ const sectionDir = firstFilePath.split(path.sep)[0];
151
+ for (const entry of entries) {
152
+ const filePath = urlToFilePath(entry.url, "").replace(/^\/+/, "");
153
+ // Strip the section directory prefix to get a relative path
154
+ const relativePath = filePath.startsWith(sectionDir + path.sep)
155
+ ? filePath.slice(sectionDir.length + 1)
156
+ : filePath;
157
+ lines.push(`- [${entry.title}](${relativePath})`);
158
+ lines.push(` source: \`${entry.url}.md\``);
159
+ }
160
+ return lines.join("\n") + "\n";
161
+ }
162
+ // ---------------------------------------------------------------------------
163
+ // Fetch helpers
164
+ // ---------------------------------------------------------------------------
165
+ async function fetchAndSave(entry, outputDir) {
166
+ const markdownUrl = entry.url.endsWith(".md") ? entry.url : `${entry.url}.md`;
167
+ const response = await fetch(markdownUrl);
168
+ if (!response.ok) {
169
+ throw new Error(`HTTP ${response.status} for ${markdownUrl}`);
170
+ }
171
+ const content = await response.text();
172
+ const filePath = urlToFilePath(entry.url, outputDir);
173
+ await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
174
+ await fsPromises.writeFile(filePath, content, "utf-8");
175
+ }
176
+ async function fetchWithConcurrency(entries, outputDir, workers) {
177
+ const succeeded = [];
178
+ const failed = [];
179
+ for (let offset = 0; offset < entries.length; offset += workers) {
180
+ const batch = entries.slice(offset, offset + workers);
181
+ const results = await Promise.allSettled(batch.map((entry) => fetchAndSave(entry, outputDir).then(() => entry)));
182
+ for (let index = 0; index < results.length; index++) {
183
+ const result = results[index];
184
+ if (result.status === "fulfilled") {
185
+ succeeded.push(result.value);
186
+ }
187
+ else {
188
+ failed.push({
189
+ entry: batch[index],
190
+ error: result.reason instanceof Error
191
+ ? result.reason.message
192
+ : String(result.reason),
193
+ });
194
+ }
195
+ }
196
+ }
197
+ return { succeeded, failed };
198
+ }
199
+ /**
200
+ * Write the README.md and per-section _index.md files.
201
+ */
202
+ async function writeIndexFiles(entries, outputDir) {
203
+ const grouped = groupBySection(entries);
204
+ // Top-level README.md
205
+ const readmeContent = generateReadme(entries, grouped);
206
+ await fsPromises.writeFile(path.join(outputDir, "README.md"), readmeContent, "utf-8");
207
+ // Per-section _index.md files
208
+ for (const [section, sectionEntries] of grouped) {
209
+ const indexContent = generateSectionIndex(section, sectionEntries);
210
+ // Derive the section directory from the first entry's file path
211
+ const firstFilePath = urlToFilePath(sectionEntries[0].url, outputDir);
212
+ const sectionDir = path.dirname(firstFilePath);
213
+ await fsPromises.mkdir(sectionDir, { recursive: true });
214
+ await fsPromises.writeFile(path.join(sectionDir, "_index.md"), indexContent, "utf-8");
215
+ }
216
+ }
217
+ // ---------------------------------------------------------------------------
218
+ // Handler
219
+ // ---------------------------------------------------------------------------
220
+ function formatEntryLine(entry, target) {
221
+ const section = entry.section.toLowerCase();
222
+ return ` - ${entry.title} [${section}] -> ${target}`;
223
+ }
224
+ async function docsFetchHandler(options) {
225
+ // Fetch llms.txt index
226
+ let response;
227
+ try {
228
+ response = await fetch(LLMS_TXT_URL);
229
+ }
230
+ catch (error) {
231
+ const message = error instanceof Error ? error.message : "Unknown error occurred";
232
+ writeError({ message: `Error fetching llms.txt: ${message}` });
233
+ process.exit(getExitCodeForError(error));
234
+ }
235
+ if (!response.ok) {
236
+ writeError({
237
+ message: `Failed to fetch llms.txt: HTTP ${response.status}`,
238
+ });
239
+ process.exit(ExitCode.NETWORK_ERROR);
240
+ }
241
+ writeOutput({ message: `Fetched docs index: ${LLMS_TXT_URL}` });
242
+ const indexContent = await response.text();
243
+ // Parse and filter
244
+ let entries = parseLlmsTxt(indexContent);
245
+ const workflows = options.workflow && options.workflow.length > 0
246
+ ? options.workflow
247
+ : DEFAULT_WORKFLOWS;
248
+ for (const workflow of workflows) {
249
+ const key = workflow.toLowerCase();
250
+ if (key !== ALL_WORKFLOWS && !VALID_WORKFLOWS.includes(key)) {
251
+ writeError({
252
+ message: `Warning: unknown workflow "${workflow}". Valid values: ${VALID_WORKFLOWS.join(", ")}, all`,
253
+ });
254
+ }
255
+ }
256
+ entries = filterByWorkflows(entries, workflows);
257
+ writeOutput({ message: `Workflows: ${workflows.join(", ")}` });
258
+ if (entries.length === 0) {
259
+ writeOutput({ message: "No matching pages found." });
260
+ return;
261
+ }
262
+ // Dry run — show what would be fetched
263
+ if (options.dryRun) {
264
+ writeOutput({
265
+ message: `Discovered ${entries.length} page(s), wrote 0 page(s) (dry-run)`,
266
+ });
267
+ for (const entry of entries) {
268
+ writeOutput({
269
+ message: formatEntryLine(entry, `${entry.url}.md`),
270
+ });
271
+ }
272
+ return;
273
+ }
274
+ // Refresh — clear output dir
275
+ if (options.refresh) {
276
+ await fsPromises.rm(options.outputDir, { recursive: true, force: true });
277
+ }
278
+ await fsPromises.mkdir(options.outputDir, { recursive: true });
279
+ // Fetch and save
280
+ const { succeeded, failed } = await fetchWithConcurrency(entries, options.outputDir, options.workers);
281
+ // Write index files for successfully fetched entries
282
+ if (succeeded.length > 0) {
283
+ await writeIndexFiles(succeeded, options.outputDir);
284
+ }
285
+ writeOutput({
286
+ message: `Discovered ${entries.length} page(s), wrote ${succeeded.length} page(s)`,
287
+ });
288
+ for (const entry of succeeded) {
289
+ writeOutput({
290
+ message: formatEntryLine(entry, urlToFilePath(entry.url, options.outputDir)),
291
+ });
292
+ }
293
+ if (failed.length > 0) {
294
+ for (const { entry, error } of failed) {
295
+ writeError({
296
+ message: ` - ${entry.title} [${entry.section.toLowerCase()}] FAILED: ${error}`,
297
+ });
298
+ }
299
+ if (options.strict) {
300
+ process.exit(ExitCode.FAILURE);
301
+ }
302
+ }
303
+ }
304
+ // ---------------------------------------------------------------------------
305
+ // Shared option helpers
306
+ // ---------------------------------------------------------------------------
307
+ /** Add all docs-specific options to a command. */
308
+ function addDocsOptions(command) {
309
+ return command
310
+ .option("--workflow <name>", `Filter by workflow category (repeatable) [possible values: ${VALID_WORKFLOWS.join(", ")}, all] [default: ${DEFAULT_WORKFLOWS.join(", ")}]`, (value, previous) => previous.concat([value]), [])
311
+ .option("--output-dir <dir>", "Output directory for downloaded docs", DEFAULT_OUTPUT_DIR)
312
+ .option("--dry-run", "Discover links only; do not write files", false)
313
+ .option("--refresh", "Refresh docs by clearing output directory before download", false)
314
+ .option("--strict", "Fail command if any page download fails", false)
315
+ .option("--workers <n>", "Number of concurrent workers for docs downloads", parseInt, DEFAULT_WORKERS);
316
+ }
317
+ // ---------------------------------------------------------------------------
318
+ // Command factories
319
+ // ---------------------------------------------------------------------------
320
+ export function createDocsCommand() {
321
+ const command = new Command("docs");
322
+ command.description("Manage workflow docs for coding agents");
323
+ command.enablePositionalOptions();
324
+ command.passThroughOptions();
325
+ // All options live on the parent so `px docs --help` shows them
326
+ addDocsOptions(command);
327
+ command.action(docsFetchHandler);
328
+ // `fetch` is a convenience alias — it re-parses its own argv so
329
+ // `px docs fetch --workflow X` works identically to `px docs --workflow X`.
330
+ const fetchCommand = new Command("fetch");
331
+ fetchCommand.description("Download workflow docs markdown from llms.txt index");
332
+ addDocsOptions(fetchCommand);
333
+ fetchCommand.action(docsFetchHandler);
334
+ command.addCommand(fetchCommand);
335
+ return command;
336
+ }
337
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"experiment.d.ts","sourceRoot":"","sources":["../../src/commands/experiment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwHpC;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAkBjD"}
1
+ {"version":3,"file":"experiment.d.ts","sourceRoot":"","sources":["../../src/commands/experiment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyHpC;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAkBjD"}
@@ -2,6 +2,7 @@ import * as fs from "fs";
2
2
  import { Command } from "commander";
3
3
  import { createPhoenixClient } from "../client.js";
4
4
  import { getConfigErrorMessage, resolveConfig } from "../config.js";
5
+ import { ExitCode, getExitCodeForError } from "../exitCodes.js";
5
6
  import { writeError, writeOutput, writeProgress } from "../io.js";
6
7
  import { formatExperimentJsonOutput, } from "./formatExperiment.js";
7
8
  /**
@@ -41,7 +42,7 @@ async function experimentHandler(experimentId, options) {
41
42
  "Phoenix endpoint not configured. Set PHOENIX_HOST environment variable or use --endpoint flag.",
42
43
  ];
43
44
  writeError({ message: getConfigErrorMessage({ errors }) });
44
- process.exit(1);
45
+ process.exit(ExitCode.INVALID_ARGUMENT);
45
46
  }
46
47
  // Create client
47
48
  const client = createPhoenixClient({ config });
@@ -84,7 +85,7 @@ async function experimentHandler(experimentId, options) {
84
85
  writeError({
85
86
  message: `Error fetching experiment: ${error instanceof Error ? error.message : String(error)}`,
86
87
  });
87
- process.exit(1);
88
+ process.exit(getExitCodeForError(error));
88
89
  }
89
90
  }
90
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"experiment.js","sourceRoot":"","sources":["../../src/commands/experiment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experiment.js","sourceRoot":"","sources":["../../src/commands/experiment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmPpC;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CA0BlD"}
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"}
@@ -3,6 +3,7 @@ import * as path from "path";
3
3
  import { Command } from "commander";
4
4
  import { createPhoenixClient, resolveDatasetId } from "../client.js";
5
5
  import { getConfigErrorMessage, resolveConfig } from "../config.js";
6
+ import { ExitCode, getExitCodeForError } from "../exitCodes.js";
6
7
  import { writeError, writeOutput, writeProgress } from "../io.js";
7
8
  import { formatExperimentsOutput, } from "./formatExperiments.js";
8
9
  /**
@@ -106,14 +107,14 @@ async function experimentsHandler(directory, options) {
106
107
  "Phoenix endpoint not configured. Set PHOENIX_HOST environment variable or use --endpoint flag.",
107
108
  ];
108
109
  writeError({ message: getConfigErrorMessage({ errors }) });
109
- process.exit(1);
110
+ process.exit(ExitCode.INVALID_ARGUMENT);
110
111
  }
111
112
  // Validate that we have dataset
112
113
  if (!options.dataset) {
113
114
  writeError({
114
115
  message: "Dataset not specified. Use --dataset <name-or-id> to specify a dataset.",
115
116
  });
116
- process.exit(1);
117
+ process.exit(ExitCode.INVALID_ARGUMENT);
117
118
  }
118
119
  // Create client
119
120
  const client = createPhoenixClient({ config });
@@ -178,7 +179,7 @@ async function experimentsHandler(directory, options) {
178
179
  writeError({
179
180
  message: `Error fetching experiments: ${error instanceof Error ? error.message : String(error)}`,
180
181
  });
181
- process.exit(1);
182
+ process.exit(getExitCodeForError(error));
182
183
  }
183
184
  }
184
185
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../src/commands/experiments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { componentsV1 } from "@arizeai/phoenix-client";
2
+ export type OutputFormat = "pretty" | "json" | "raw";
3
+ type AnnotationConfig = componentsV1["schemas"]["CategoricalAnnotationConfig"] | componentsV1["schemas"]["ContinuousAnnotationConfig"] | componentsV1["schemas"]["FreeformAnnotationConfig"];
4
+ export interface FormatAnnotationConfigsOutputOptions {
5
+ /**
6
+ * Annotation configs to format.
7
+ */
8
+ configs: AnnotationConfig[];
9
+ /**
10
+ * Output format. Defaults to `"pretty"`.
11
+ */
12
+ format?: OutputFormat;
13
+ }
14
+ export declare function formatAnnotationConfigsOutput({ configs, format, }: FormatAnnotationConfigsOutputOptions): string;
15
+ export {};
16
+ //# sourceMappingURL=formatAnnotationConfigs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatAnnotationConfigs.d.ts","sourceRoot":"","sources":["../../src/commands/formatAnnotationConfigs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,KAAK,gBAAgB,GACjB,YAAY,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,GACtD,YAAY,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,GACrD,YAAY,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;AAExD,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,MAAM,GACP,EAAE,oCAAoC,GAAG,MAAM,CAS/C"}
@@ -0,0 +1,24 @@
1
+ import { formatTable } from "./formatTable.js";
2
+ export function formatAnnotationConfigsOutput({ configs, format, }) {
3
+ const selected = format || "pretty";
4
+ if (selected === "raw") {
5
+ return JSON.stringify(configs);
6
+ }
7
+ if (selected === "json") {
8
+ return JSON.stringify(configs, null, 2);
9
+ }
10
+ return formatAnnotationConfigsPretty(configs);
11
+ }
12
+ function formatAnnotationConfigsPretty(configs) {
13
+ if (configs.length === 0) {
14
+ return "No annotation configs found";
15
+ }
16
+ const rows = configs.map((c) => ({
17
+ name: c.name,
18
+ id: c.id,
19
+ type: c.type,
20
+ description: c.description ?? "",
21
+ }));
22
+ return formatTable(rows);
23
+ }
24
+ //# sourceMappingURL=formatAnnotationConfigs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatAnnotationConfigs.js","sourceRoot":"","sources":["../../src/commands/formatAnnotationConfigs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C,MAAM,UAAU,6BAA6B,CAAC,EAC5C,OAAO,EACP,MAAM,GAC+B;IACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,QAAQ,CAAC;IACpC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,6BAA6B,CAAC,OAA2B;IAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;KACjC,CAAC,CAAC,CAAC;IAEJ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatDataset.d.ts","sourceRoot":"","sources":["../../src/commands/formatDataset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,KAAK,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,IAAI,EACJ,WAAW,EACX,MAAM,GACP,EAAE,kCAAkC,GAAG,MAAM,CAS7C"}
1
+ {"version":3,"file":"formatDataset.d.ts","sourceRoot":"","sources":["../../src/commands/formatDataset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,KAAK,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,IAAI,EACJ,WAAW,EACX,MAAM,GACP,EAAE,kCAAkC,GAAG,MAAM,CAS7C"}
@@ -1,3 +1,4 @@
1
+ import { formatTable } from "./formatTable.js";
1
2
  export function formatDatasetExamplesOutput({ data, datasetName, format, }) {
2
3
  const selected = format || "pretty";
3
4
  if (selected === "raw") {
@@ -23,38 +24,19 @@ function formatDatasetExamplesPretty(data, datasetName) {
23
24
  lines.push("No examples found");
24
25
  return lines.join("\n");
25
26
  }
26
- // Examples
27
- for (const example of data.examples) {
28
- lines.push(`┌─ Example: ${example.id}`);
29
- const inputPreview = truncateJson(example.input, 150);
30
- lines.push(`│ Input: ${inputPreview}`);
31
- const outputPreview = truncateJson(example.output, 150);
32
- lines.push(`│ Output: ${outputPreview}`);
33
- if (example.metadata && Object.keys(example.metadata).length > 0) {
34
- const metadataPreview = truncateJson(example.metadata, 100);
35
- lines.push(`│ Metadata: ${metadataPreview}`);
36
- }
37
- lines.push(`└─`);
38
- lines.push("");
39
- }
27
+ const rows = data.examples.map((example) => ({
28
+ id: example.id,
29
+ input: stringifyCompact(example.input),
30
+ output: stringifyCompact(example.output),
31
+ metadata: stringifyCompact(example.metadata),
32
+ }));
33
+ lines.push(formatTable(rows));
40
34
  return lines.join("\n").trimEnd();
41
35
  }
42
- function truncateJson(obj, maxLength) {
36
+ function stringifyCompact(obj) {
43
37
  if (obj === null || obj === undefined) {
44
- return "null";
45
- }
46
- let str;
47
- try {
48
- str = JSON.stringify(obj);
49
- }
50
- catch {
51
- str = String(obj);
52
- }
53
- // Clean up whitespace for display
54
- str = str.replace(/\s+/g, " ").trim();
55
- if (str.length <= maxLength) {
56
- return str;
38
+ return "";
57
39
  }
58
- return `${str.slice(0, maxLength)}…`;
40
+ return JSON.stringify(obj).replace(/\s+/g, " ").trim();
59
41
  }
60
42
  //# sourceMappingURL=formatDataset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatDataset.js","sourceRoot":"","sources":["../../src/commands/formatDataset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatDataset.js","sourceRoot":"","sources":["../../src/commands/formatDataset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA4B5C,MAAM,UAAU,2BAA2B,CAAC,EAC1C,IAAI,EACJ,WAAW,EACX,MAAM,GAC6B;IACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,QAAQ,CAAC;IACpC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,2BAA2B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAyB,EACzB,WAAoB;IAEpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,MAAM,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAE1C,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC;QACxC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC7C,CAAC,CAAC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatDatasets.d.ts","sourceRoot":"","sources":["../../src/commands/formatDatasets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,KAAK,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAElD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,GACP,EAAE,2BAA2B,GAAG,MAAM,CAStC;AAiCD,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,GACP,EAAE,0BAA0B,GAAG,MAAM,CASrC"}
1
+ {"version":3,"file":"formatDatasets.d.ts","sourceRoot":"","sources":["../../src/commands/formatDatasets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,KAAK,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AAElD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,GACP,EAAE,2BAA2B,GAAG,MAAM,CAStC;AAmBD,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,GACP,EAAE,0BAA0B,GAAG,MAAM,CASrC"}