@arizeai/phoenix-cli 1.3.1 → 1.4.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.
- package/README.md +99 -13
- package/build/banner.d.ts.map +1 -1
- package/build/banner.js +11 -2
- package/build/banner.js.map +1 -1
- package/build/cli.d.ts.map +1 -1
- package/build/cli.js +2 -1
- package/build/cli.js.map +1 -1
- package/build/commands/annotationMutationUtils.d.ts +1 -1
- package/build/commands/annotationMutationUtils.d.ts.map +1 -1
- package/build/commands/annotationMutationUtils.js +13 -1
- package/build/commands/annotationMutationUtils.js.map +1 -1
- package/build/commands/auth.d.ts +1 -1
- package/build/commands/auth.d.ts.map +1 -1
- package/build/commands/auth.js +31 -9
- package/build/commands/auth.js.map +1 -1
- package/build/commands/chunkArray.d.ts +5 -0
- package/build/commands/chunkArray.d.ts.map +1 -0
- package/build/commands/chunkArray.js +8 -0
- package/build/commands/chunkArray.js.map +1 -0
- package/build/commands/formatProfiles.d.ts +40 -0
- package/build/commands/formatProfiles.d.ts.map +1 -0
- package/build/commands/formatProfiles.js +53 -0
- package/build/commands/formatProfiles.js.map +1 -0
- package/build/commands/formatSessions.d.ts +17 -5
- package/build/commands/formatSessions.d.ts.map +1 -1
- package/build/commands/formatSessions.js +52 -10
- package/build/commands/formatSessions.js.map +1 -1
- package/build/commands/formatSpans.d.ts +3 -1
- package/build/commands/formatSpans.d.ts.map +1 -1
- package/build/commands/formatSpans.js +8 -7
- package/build/commands/formatSpans.js.map +1 -1
- package/build/commands/index.d.ts +1 -0
- package/build/commands/index.d.ts.map +1 -1
- package/build/commands/index.js +1 -0
- package/build/commands/index.js.map +1 -1
- package/build/commands/noteMutationUtils.d.ts +1 -1
- package/build/commands/noteMutationUtils.d.ts.map +1 -1
- package/build/commands/noteMutationUtils.js +13 -1
- package/build/commands/noteMutationUtils.js.map +1 -1
- package/build/commands/profile.d.ts +14 -0
- package/build/commands/profile.d.ts.map +1 -0
- package/build/commands/profile.js +357 -0
- package/build/commands/profile.js.map +1 -0
- package/build/commands/session.d.ts +2 -0
- package/build/commands/session.d.ts.map +1 -1
- package/build/commands/session.js +304 -9
- package/build/commands/session.js.map +1 -1
- package/build/commands/span.d.ts.map +1 -1
- package/build/commands/span.js +6 -1
- package/build/commands/span.js.map +1 -1
- package/build/commands/spanAnnotations.d.ts.map +1 -1
- package/build/commands/spanAnnotations.js +7 -10
- package/build/commands/spanAnnotations.js.map +1 -1
- package/build/commands/traceAnnotations.d.ts.map +1 -1
- package/build/commands/traceAnnotations.js +7 -10
- package/build/commands/traceAnnotations.js.map +1 -1
- package/build/config.d.ts +39 -4
- package/build/config.d.ts.map +1 -1
- package/build/config.js +73 -5
- package/build/config.js.map +1 -1
- package/build/exitCodes.d.ts +5 -3
- package/build/exitCodes.d.ts.map +1 -1
- package/build/exitCodes.js +5 -3
- package/build/exitCodes.js.map +1 -1
- package/build/settings.d.ts +113 -5
- package/build/settings.d.ts.map +1 -1
- package/build/settings.js +263 -5
- package/build/settings.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -55,6 +55,62 @@ CLI flags (`--endpoint`, `--project`, `--api-key`) override environment variable
|
|
|
55
55
|
|
|
56
56
|
Delete commands are disabled by default and require `PHOENIX_CLI_DANGEROUSLY_ENABLE_DELETES=true`.
|
|
57
57
|
|
|
58
|
+
## Profiles
|
|
59
|
+
|
|
60
|
+
Profiles are stored in `~/.px/settings.json` (or `$XDG_CONFIG_HOME/px/settings.json`, mode `0600`).
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
px profile create prod --endpoint https://phoenix.example.com --project main \
|
|
64
|
+
--api-key sk-xxx --activate
|
|
65
|
+
px profile list # all profiles, kubectl-style "current" column
|
|
66
|
+
px profile show # the active profile (or pass <name>)
|
|
67
|
+
px profile use prod # switch the active profile
|
|
68
|
+
px profile edit prod # open in $EDITOR, validates on save
|
|
69
|
+
px profile delete prod # remove a profile (--yes to skip prompt)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Every command reads the active profile through the standard config chain:
|
|
73
|
+
**built-in defaults → active profile → env vars → CLI flags** (highest wins).
|
|
74
|
+
The `auth status` command accepts `--profile <name>` to scope a single
|
|
75
|
+
invocation to a profile other than the stored active one.
|
|
76
|
+
|
|
77
|
+
API keys are stored verbatim in the settings file (mode `0600`) but are
|
|
78
|
+
never echoed back through `profile create`, `profile show`, or `profile
|
|
79
|
+
list` — they appear as a fixed-width mask. If you need the raw value for a
|
|
80
|
+
script, read `~/.px/settings.json` directly.
|
|
81
|
+
|
|
82
|
+
### Editor autocompletion via `$schema`
|
|
83
|
+
|
|
84
|
+
The CLI writes a `$schema` field automatically the first time it creates
|
|
85
|
+
your `settings.json`, so editors like VS Code and JetBrains validate and
|
|
86
|
+
autocomplete the file out of the box:
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"$schema": "https://raw.githubusercontent.com/Arize-ai/phoenix/main/schemas/phoenix-cli-settings.json",
|
|
91
|
+
"activeProfile": "prod",
|
|
92
|
+
"profiles": { ... }
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
If you remove the line by hand, the CLI won't add it back. The schema
|
|
97
|
+
lives at `schemas/phoenix-cli-settings.json` in the Phoenix repository
|
|
98
|
+
and tracks the published Zod schema. The pointer is currently pinned to
|
|
99
|
+
`main`; we'll switch to a SchemaStore entry once registered.
|
|
100
|
+
|
|
101
|
+
For VS Code project-wide association add to `.vscode/settings.json`:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"json.schemas": [
|
|
106
|
+
{
|
|
107
|
+
"fileMatch": ["settings.json"],
|
|
108
|
+
"url": "https://raw.githubusercontent.com/Arize-ai/phoenix/main/schemas/phoenix-cli-settings.json"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
58
114
|
## Commands
|
|
59
115
|
|
|
60
116
|
### `px self update`
|
|
@@ -315,14 +371,17 @@ List sessions for a project.
|
|
|
315
371
|
px session list # latest 10 sessions
|
|
316
372
|
px session list --limit 20 --order asc # oldest first
|
|
317
373
|
px session list --format raw --no-progress | jq '.[].session_id'
|
|
374
|
+
px session list --include-annotations --include-notes --format raw | jq '.[].notes'
|
|
318
375
|
```
|
|
319
376
|
|
|
320
|
-
| Option
|
|
321
|
-
|
|
|
322
|
-
| `-n, --limit <number>`
|
|
323
|
-
| `--order <order>`
|
|
324
|
-
| `--
|
|
325
|
-
| `--
|
|
377
|
+
| Option | Description | Default |
|
|
378
|
+
| ----------------------- | -------------------------------------------- | -------- |
|
|
379
|
+
| `-n, --limit <number>` | Maximum number of sessions | `10` |
|
|
380
|
+
| `--order <order>` | Sort order: `asc` or `desc` | `desc` |
|
|
381
|
+
| `--include-annotations` | Include session annotations, excluding notes | — |
|
|
382
|
+
| `--include-notes` | Include session notes when present | — |
|
|
383
|
+
| `--format <format>` | `pretty`, `json`, or `raw` | `pretty` |
|
|
384
|
+
| `--no-progress` | Suppress progress output | — |
|
|
326
385
|
|
|
327
386
|
---
|
|
328
387
|
|
|
@@ -333,15 +392,41 @@ View a session's conversation flow.
|
|
|
333
392
|
```bash
|
|
334
393
|
px session get my-session-id
|
|
335
394
|
px session get my-session-id --file session.json
|
|
336
|
-
px session get my-session-id --include-annotations --format raw | jq '.
|
|
395
|
+
px session get my-session-id --include-annotations --format raw | jq '.session.annotations'
|
|
396
|
+
px session get my-session-id --include-notes --format raw | jq '.session.notes'
|
|
337
397
|
```
|
|
338
398
|
|
|
339
|
-
| Option | Description
|
|
340
|
-
| ----------------------- |
|
|
341
|
-
| `--file <path>` | Save session to file instead of stdout
|
|
342
|
-
| `--include-annotations` | Include session annotations
|
|
343
|
-
| `--
|
|
344
|
-
| `--
|
|
399
|
+
| Option | Description | Default |
|
|
400
|
+
| ----------------------- | -------------------------------------------- | -------- |
|
|
401
|
+
| `--file <path>` | Save session to file instead of stdout | — |
|
|
402
|
+
| `--include-annotations` | Include session annotations, excluding notes | — |
|
|
403
|
+
| `--include-notes` | Include session notes when present | — |
|
|
404
|
+
| `--format <format>` | `pretty`, `json`, or `raw` | `pretty` |
|
|
405
|
+
| `--no-progress` | Suppress progress output | — |
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
### `px session annotate <session-id>`
|
|
410
|
+
|
|
411
|
+
Create or update a human session annotation by GlobalID or user-provided `session_id`.
|
|
412
|
+
|
|
413
|
+
```bash
|
|
414
|
+
px session annotate my-session-id --name reviewer --label pass
|
|
415
|
+
px session annotate my-session-id --name reviewer --score 0.9 --format raw --no-progress
|
|
416
|
+
px session annotate my-session-id --name evaluator --label pass --annotator-kind LLM
|
|
417
|
+
px session annotate my-session-id --name reviewer --explanation "needs follow-up"
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
### `px session add-note <session-id>`
|
|
423
|
+
|
|
424
|
+
Add a note to a session by GlobalID or user-provided `session_id`. Requires Phoenix server `14.17.0` or newer.
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
px session add-note my-session-id --text "needs follow-up"
|
|
428
|
+
px session add-note my-session-id --text "agent triage complete" --format raw --no-progress
|
|
429
|
+
```
|
|
345
430
|
|
|
346
431
|
---
|
|
347
432
|
|
|
@@ -539,3 +624,4 @@ Trace JSON structure:
|
|
|
539
624
|
- 🌟 [GitHub](https://github.com/Arize-ai/phoenix)
|
|
540
625
|
- 🐞 [Report bugs](https://github.com/Arize-ai/phoenix/issues)
|
|
541
626
|
- 𝕏 [@ArizePhoenix](https://twitter.com/ArizePhoenix)
|
|
627
|
+
- 💼 [LinkedIn](https://www.linkedin.com/showcase/113218220)
|
package/build/banner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,OAAO,EACP,SAAS,EACT,cAAc,EACd,aAAa,EACb,SAAS,GACV,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAUnC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,OAAO,EACP,SAAS,EACT,cAAc,EACd,aAAa,EACb,SAAS,GACV,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAUnC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBjD"}
|
package/build/banner.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveConfig } from "./config.js";
|
|
2
2
|
import { writeOutput } from "./io.js";
|
|
3
3
|
import { getCliVersionStatus } from "./version.js";
|
|
4
4
|
const LOGO_LINES = [
|
|
@@ -31,7 +31,16 @@ export function renderBanner({ infoLines }) {
|
|
|
31
31
|
* Print the Phoenix CLI banner with connection and update info aligned to the right of the logo.
|
|
32
32
|
*/
|
|
33
33
|
export async function printBanner() {
|
|
34
|
-
|
|
34
|
+
// The banner is informational and must never abort `px` startup. Swallow
|
|
35
|
+
// config-resolution errors (e.g. a stale activeProfile) and fall back to
|
|
36
|
+
// empty fields; the real command invocation will surface the error cleanly.
|
|
37
|
+
let config = {};
|
|
38
|
+
try {
|
|
39
|
+
config = resolveConfig({ cliOptions: {} });
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// ignore — banner is informational
|
|
43
|
+
}
|
|
35
44
|
const versionStatus = await getCliVersionStatus();
|
|
36
45
|
const infoLines = getBannerInfoLines({
|
|
37
46
|
serverUrl: config.endpoint ?? "not set",
|
package/build/banner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../src/banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,UAAU,GAAG;IACjB,8BAA8B;IAC9B,8BAA8B;IAC9B,8BAA8B;CAC/B,CAAC;AACF,MAAM,OAAO,GAAG,8CAA8C,CAAC;AAc/D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,SAAS,EACT,OAAO,EACP,SAAS,EACT,cAAc,EACd,aAAa,EACb,SAAS,GACc;IACvB,OAAO;QACL,YAAY,SAAS,EAAE;QACvB,YAAY,OAAO,EAAE;QACrB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,aAAa,cAAc,EAAE;QAC7B,GAAG,CAAC,SAAS,IAAI,aAAa;YAC5B,CAAC,CAAC,CAAC,aAAa,aAAa,gCAAgC,CAAC;YAC9D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,SAAS,EAA2B;IACjE,OAAO,CAAC,GAAG,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,MAAM,GAAkB,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,kBAAkB,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;QACvC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;QACpC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,cAAc,EAAE,aAAa,CAAC,cAAc;QAC5C,aAAa,EAAE,aAAa,CAAC,aAAa;QAC1C,SAAS,EAAE,aAAa,CAAC,SAAS;KACnC,CAAC,CAAC;IAEH,WAAW,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC"}
|
package/build/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,wBAAgB,aAAa,IAAI,OAAO,CAuBvC;AAGD,wBAAsB,IAAI,CAAC,EACzB,IAAmB,GACpB,GAAE;IACD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACZ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrB"}
|
package/build/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { printBanner } from "./banner.js";
|
|
4
|
-
import { createAnnotationConfigCommand, createApiCommand, createAuthCommand, createDatasetCommand, createDocsCommand, createExperimentCommand, createProjectCommand, createPromptCommand, createSessionCommand, createSelfCommand, createSpanCommand, createTraceCommand, } from "./commands/index.js";
|
|
4
|
+
import { createAnnotationConfigCommand, createApiCommand, createAuthCommand, createDatasetCommand, createDocsCommand, createExperimentCommand, createProfileCommand, createProjectCommand, createPromptCommand, createSessionCommand, createSelfCommand, createSpanCommand, createTraceCommand, } from "./commands/index.js";
|
|
5
5
|
import { CLI_VERSION } from "./version.js";
|
|
6
6
|
export function createProgram() {
|
|
7
7
|
const program = new Command();
|
|
@@ -11,6 +11,7 @@ export function createProgram() {
|
|
|
11
11
|
// Register commands
|
|
12
12
|
program.addCommand(createAnnotationConfigCommand());
|
|
13
13
|
program.addCommand(createAuthCommand());
|
|
14
|
+
program.addCommand(createProfileCommand());
|
|
14
15
|
program.addCommand(createProjectCommand());
|
|
15
16
|
program.addCommand(createTraceCommand());
|
|
16
17
|
program.addCommand(createSpanCommand());
|
package/build/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAClC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7B,oBAAoB;IACpB,OAAO,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EACzB,IAAI,GAAG,OAAO,CAAC,IAAI,MAGjB,EAAE;IACJ,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,8CAA8C;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAClC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7B,oBAAoB;IACpB,OAAO,CAAC,UAAU,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yBAAyB;AACzB,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,EACzB,IAAI,GAAG,OAAO,CAAC,IAAI,MAGjB,EAAE;IACJ,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,8CAA8C;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"annotationMutationUtils.d.ts","sourceRoot":"","sources":["../../src/commands/annotationMutationUtils.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAChE,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;AA6DD,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"}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import { InvalidArgumentError } from "../exitCodes.js";
|
|
2
2
|
import { parseNumber, trimToUndefined } from "../normalize.js";
|
|
3
3
|
function getTargetIdPlaceholder({ targetType, }) {
|
|
4
|
-
|
|
4
|
+
switch (targetType) {
|
|
5
|
+
case "span":
|
|
6
|
+
return "<span-id>";
|
|
7
|
+
case "trace":
|
|
8
|
+
return "<trace-id>";
|
|
9
|
+
case "session":
|
|
10
|
+
return "<session-id>";
|
|
11
|
+
default:
|
|
12
|
+
return assertNever(targetType);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function assertNever(value) {
|
|
16
|
+
throw new Error(`Unsupported annotation target type: ${String(value)}`);
|
|
5
17
|
}
|
|
6
18
|
function getAnnotateUsage({ targetType, }) {
|
|
7
19
|
const targetIdPlaceholder = getTargetIdPlaceholder({ targetType });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotationMutationUtils.js","sourceRoot":"","sources":["../../src/commands/annotationMutationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AA8B5D,SAAS,sBAAsB,CAAC,EAC9B,UAAU,GAGX;IACC,
|
|
1
|
+
{"version":3,"file":"annotationMutationUtils.js","sourceRoot":"","sources":["../../src/commands/annotationMutationUtils.ts"],"names":[],"mappings":"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"}
|
package/build/commands/auth.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export type FetchViewerResult = FetchViewerSuccess | FetchViewerError;
|
|
|
18
18
|
/**
|
|
19
19
|
* Format auth status output in gh-style format.
|
|
20
20
|
*/
|
|
21
|
-
export declare function formatAuthStatus(endpoint: string, result: FetchViewerResult, apiKey?: string): string;
|
|
21
|
+
export declare function formatAuthStatus(endpoint: string, result: FetchViewerResult, apiKey?: string, profileName?: string): string;
|
|
22
22
|
/**
|
|
23
23
|
* Create the auth command with subcommands
|
|
24
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,KAAK,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAQ3E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,eAAe,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAuCtE;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,EACzB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAqCR;AAqFD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAS3C"}
|
package/build/commands/auth.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { createPhoenixClient } from "../client.js";
|
|
3
3
|
import { resolveConfig } from "../config.js";
|
|
4
|
-
import { ExitCode } from "../exitCodes.js";
|
|
4
|
+
import { ExitCode, getExitCodeForError } from "../exitCodes.js";
|
|
5
5
|
import { writeError, writeOutput } from "../io.js";
|
|
6
|
+
import { ProfileResolutionError, getProfileByName, getStoredActiveProfile, loadSettings, } from "../settings.js";
|
|
6
7
|
/**
|
|
7
8
|
* Obscure an API key for display using asterisks.
|
|
8
9
|
* Shows a fixed number of asterisks regardless of key length for security.
|
|
@@ -52,8 +53,11 @@ async function fetchViewer(config) {
|
|
|
52
53
|
/**
|
|
53
54
|
* Format auth status output in gh-style format.
|
|
54
55
|
*/
|
|
55
|
-
export function formatAuthStatus(endpoint, result, apiKey) {
|
|
56
|
+
export function formatAuthStatus(endpoint, result, apiKey, profileName) {
|
|
56
57
|
const lines = [endpoint];
|
|
58
|
+
if (profileName) {
|
|
59
|
+
lines.push(` - Profile: ${profileName}`);
|
|
60
|
+
}
|
|
57
61
|
if (result.status === "success") {
|
|
58
62
|
const user = result.user;
|
|
59
63
|
if (user.auth_method === "ANONYMOUS") {
|
|
@@ -103,20 +107,37 @@ function exitCodeForResult(result) {
|
|
|
103
107
|
* Auth status command handler
|
|
104
108
|
*/
|
|
105
109
|
async function authStatusHandler(options) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
let config;
|
|
111
|
+
try {
|
|
112
|
+
config = resolveConfig({
|
|
113
|
+
cliOptions: {
|
|
114
|
+
endpoint: options.endpoint,
|
|
115
|
+
apiKey: options.apiKey,
|
|
116
|
+
},
|
|
117
|
+
profileName: options.profile,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
if (err instanceof ProfileResolutionError) {
|
|
122
|
+
writeError({ message: err.message });
|
|
123
|
+
process.exit(getExitCodeForError(err));
|
|
124
|
+
}
|
|
125
|
+
throw err;
|
|
126
|
+
}
|
|
112
127
|
if (!config.endpoint) {
|
|
113
128
|
writeError({
|
|
114
129
|
message: "Configuration Error:\n - Phoenix endpoint not configured",
|
|
115
130
|
});
|
|
116
131
|
process.exit(ExitCode.INVALID_ARGUMENT);
|
|
117
132
|
}
|
|
133
|
+
// Resolve the profile name for display purposes. Safe to call after
|
|
134
|
+
// resolveConfig — any invalid explicit profile would have thrown.
|
|
135
|
+
const settingsFile = loadSettings();
|
|
136
|
+
const activeProfileName = options.profile !== undefined
|
|
137
|
+
? getProfileByName(settingsFile, options.profile)?.name
|
|
138
|
+
: getStoredActiveProfile(settingsFile)?.name;
|
|
118
139
|
const result = await fetchViewer(config);
|
|
119
|
-
const output = formatAuthStatus(config.endpoint, result, config.apiKey);
|
|
140
|
+
const output = formatAuthStatus(config.endpoint, result, config.apiKey, activeProfileName);
|
|
120
141
|
writeOutput({ message: output });
|
|
121
142
|
const code = exitCodeForResult(result);
|
|
122
143
|
if (code !== ExitCode.SUCCESS) {
|
|
@@ -132,6 +153,7 @@ function createAuthStatusCommand() {
|
|
|
132
153
|
.description("Show current Phoenix authentication status")
|
|
133
154
|
.option("--endpoint <url>", "Phoenix API endpoint")
|
|
134
155
|
.option("--api-key <key>", "Phoenix API key for authentication")
|
|
156
|
+
.option("--profile <name>", "Profile to use")
|
|
135
157
|
.action(authStatusHandler);
|
|
136
158
|
return command;
|
|
137
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAsB,aAAa,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunkArray.d.ts","sourceRoot":"","sources":["../../src/commands/chunkArray.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAC5B,KAAK,EACL,IAAI,GACL,EAAE;IACD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,CAAC,EAAE,EAAE,CAMR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunkArray.js","sourceRoot":"","sources":["../../src/commands/chunkArray.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAI,EAC5B,KAAK,EACL,IAAI,GAIL;IACC,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type OutputFormat = "pretty" | "json" | "raw";
|
|
2
|
+
/**
|
|
3
|
+
* Fixed-length mask used in JSON / raw output wherever a CLI command
|
|
4
|
+
* surfaces the presence of an API key. Matches the masking used by
|
|
5
|
+
* `auth status` so machine-readable output is consistent across commands.
|
|
6
|
+
*/
|
|
7
|
+
export declare const API_KEY_MASK = "************************************";
|
|
8
|
+
export type ProfileListEntry = {
|
|
9
|
+
name: string;
|
|
10
|
+
endpoint?: string;
|
|
11
|
+
project?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Whether this profile has an API key configured. The actual key is never
|
|
14
|
+
* surfaced through CLI output — only the on-disk settings file (mode 0600)
|
|
15
|
+
* stores the raw value.
|
|
16
|
+
*/
|
|
17
|
+
hasApiKey?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Custom HTTP headers configured on this profile. Passed through to
|
|
20
|
+
* `--format json|raw` output verbatim because headers are user
|
|
21
|
+
* configuration (e.g. `X-Tenant`, `X-Region`), not credentials. If you
|
|
22
|
+
* use a header to carry an auth token, it will appear unmasked here —
|
|
23
|
+
* the recommended way to set a Phoenix API key is `--api-key`, which is
|
|
24
|
+
* masked everywhere.
|
|
25
|
+
*/
|
|
26
|
+
headers?: Record<string, string>;
|
|
27
|
+
active: boolean;
|
|
28
|
+
};
|
|
29
|
+
export interface FormatProfilesOutputOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Profiles to format. Pass a single entry for `show`; pass an array for `list`.
|
|
32
|
+
*/
|
|
33
|
+
profiles: ProfileListEntry | ProfileListEntry[];
|
|
34
|
+
/**
|
|
35
|
+
* Output format. Defaults to `"pretty"`.
|
|
36
|
+
*/
|
|
37
|
+
format?: OutputFormat;
|
|
38
|
+
}
|
|
39
|
+
export declare function formatProfilesOutput({ profiles, format, }: FormatProfilesOutputOptions): string;
|
|
40
|
+
//# sourceMappingURL=formatProfiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatProfiles.d.ts","sourceRoot":"","sources":["../../src/commands/formatProfiles.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,YAAY,yCAAyC,CAAC;AASnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAChD;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAsBD,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,GACP,EAAE,2BAA2B,GAAG,MAAM,CAYtC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { formatTable } from "./formatTable.js";
|
|
2
|
+
/**
|
|
3
|
+
* Fixed-length mask used in JSON / raw output wherever a CLI command
|
|
4
|
+
* surfaces the presence of an API key. Matches the masking used by
|
|
5
|
+
* `auth status` so machine-readable output is consistent across commands.
|
|
6
|
+
*/
|
|
7
|
+
export const API_KEY_MASK = "************************************";
|
|
8
|
+
/**
|
|
9
|
+
* Compact presence marker used in the `auth` column of the pretty table.
|
|
10
|
+
* The full 36-char mask would dominate the row width; a short marker is
|
|
11
|
+
* enough to answer "is this profile authenticated?" at a glance.
|
|
12
|
+
*/
|
|
13
|
+
const AUTH_PRESENT_MARKER = "***";
|
|
14
|
+
function toJsonEntry(entry) {
|
|
15
|
+
const out = { name: entry.name, active: entry.active };
|
|
16
|
+
if (entry.endpoint !== undefined)
|
|
17
|
+
out.endpoint = entry.endpoint;
|
|
18
|
+
if (entry.project !== undefined)
|
|
19
|
+
out.project = entry.project;
|
|
20
|
+
if (entry.hasApiKey)
|
|
21
|
+
out.apiKey = API_KEY_MASK;
|
|
22
|
+
if (entry.headers !== undefined && Object.keys(entry.headers).length > 0) {
|
|
23
|
+
out.headers = entry.headers;
|
|
24
|
+
}
|
|
25
|
+
return out;
|
|
26
|
+
}
|
|
27
|
+
export function formatProfilesOutput({ profiles, format, }) {
|
|
28
|
+
const list = Array.isArray(profiles) ? profiles : [profiles];
|
|
29
|
+
const selected = format || "pretty";
|
|
30
|
+
if (selected === "raw") {
|
|
31
|
+
return list.map((p) => JSON.stringify(toJsonEntry(p))).join("\n");
|
|
32
|
+
}
|
|
33
|
+
if (selected === "json") {
|
|
34
|
+
return Array.isArray(profiles)
|
|
35
|
+
? JSON.stringify({ profiles: list.map(toJsonEntry) }, null, 2)
|
|
36
|
+
: JSON.stringify(toJsonEntry(list[0]), null, 2);
|
|
37
|
+
}
|
|
38
|
+
return formatProfilesPretty(list);
|
|
39
|
+
}
|
|
40
|
+
function formatProfilesPretty(profiles) {
|
|
41
|
+
if (profiles.length === 0) {
|
|
42
|
+
return "No profiles found";
|
|
43
|
+
}
|
|
44
|
+
const rows = profiles.map((p) => ({
|
|
45
|
+
current: p.active ? "*" : "",
|
|
46
|
+
name: p.name,
|
|
47
|
+
endpoint: p.endpoint ?? "",
|
|
48
|
+
project: p.project ?? "",
|
|
49
|
+
auth: p.hasApiKey ? AUTH_PRESENT_MARKER : "",
|
|
50
|
+
}));
|
|
51
|
+
return formatTable(rows);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=formatProfiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatProfiles.js","sourceRoot":"","sources":["../../src/commands/formatProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,KAAK,CAAC;AA4ClC,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,GAAG,GAAqB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACzE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC7D,IAAI,KAAK,CAAC,SAAS;QAAE,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,GACsB;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,QAAQ,CAAC;IACpC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA4B;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;QACxB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;KAC7C,CAAC,CAAC,CAAC;IAEJ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -2,16 +2,28 @@ import type { componentsV1 } from "@arizeai/phoenix-client";
|
|
|
2
2
|
export type OutputFormat = "pretty" | "json" | "raw";
|
|
3
3
|
type SessionData = componentsV1["schemas"]["SessionData"];
|
|
4
4
|
type SessionAnnotation = componentsV1["schemas"]["SessionAnnotation"];
|
|
5
|
+
type NoteResult = {
|
|
6
|
+
explanation?: string | null;
|
|
7
|
+
};
|
|
8
|
+
export type SessionNote = Omit<SessionAnnotation, "name" | "result"> & {
|
|
9
|
+
name: "note";
|
|
10
|
+
result?: NoteResult | null;
|
|
11
|
+
};
|
|
12
|
+
export type SessionWithAnnotations = SessionData & {
|
|
13
|
+
annotations?: SessionAnnotation[];
|
|
14
|
+
notes?: SessionNote[];
|
|
15
|
+
};
|
|
5
16
|
export interface FormatSessionsOutputOptions {
|
|
6
|
-
sessions:
|
|
17
|
+
sessions: SessionWithAnnotations[];
|
|
7
18
|
format?: OutputFormat;
|
|
19
|
+
includeAnnotations?: boolean;
|
|
20
|
+
includeNotes?: boolean;
|
|
8
21
|
}
|
|
9
|
-
export declare function formatSessionsOutput({ sessions, format, }: FormatSessionsOutputOptions): string;
|
|
22
|
+
export declare function formatSessionsOutput({ sessions, format, includeAnnotations, includeNotes, }: FormatSessionsOutputOptions): string;
|
|
10
23
|
export interface FormatSessionOutputOptions {
|
|
11
|
-
session:
|
|
12
|
-
annotations?: SessionAnnotation[];
|
|
24
|
+
session: SessionWithAnnotations;
|
|
13
25
|
format?: OutputFormat;
|
|
14
26
|
}
|
|
15
|
-
export declare function formatSessionOutput({ session,
|
|
27
|
+
export declare function formatSessionOutput({ session, format, }: FormatSessionOutputOptions): string;
|
|
16
28
|
export {};
|
|
17
29
|
//# sourceMappingURL=formatSessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatSessions.d.ts","sourceRoot":"","sources":["../../src/commands/formatSessions.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,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAC1D,KAAK,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"formatSessions.d.ts","sourceRoot":"","sources":["../../src/commands/formatSessions.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,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAC1D,KAAK,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAEtE,KAAK,UAAU,GAAG;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG;IACjD,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,EACN,kBAAkB,EAClB,YAAY,GACb,EAAE,2BAA2B,GAAG,MAAM,CAStC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,sBAAsB,CAAC;IAChC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,GACP,EAAE,0BAA0B,GAAG,MAAM,CASrC"}
|