@artemiskit/cli 0.1.8 → 0.2.2
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/CHANGELOG.md +139 -0
- package/bin/artemis.ts +0 -0
- package/dist/index.js +72343 -34002
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/commands/baseline.d.ts +9 -0
- package/dist/src/commands/baseline.d.ts.map +1 -0
- package/dist/src/commands/compare.d.ts.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/redteam.d.ts.map +1 -1
- package/dist/src/commands/run.d.ts.map +1 -1
- package/dist/src/commands/stress.d.ts.map +1 -1
- package/dist/src/config/loader.d.ts +3 -1
- package/dist/src/config/loader.d.ts.map +1 -1
- package/dist/src/config/schema.d.ts +16 -0
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/ui/index.d.ts +3 -1
- package/dist/src/ui/index.d.ts.map +1 -1
- package/dist/src/ui/panels.d.ts +21 -0
- package/dist/src/ui/panels.d.ts.map +1 -1
- package/dist/src/ui/prompts.d.ts +92 -0
- package/dist/src/ui/prompts.d.ts.map +1 -0
- package/dist/src/utils/adapter.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/cli.ts +2 -0
- package/src/commands/baseline.ts +473 -0
- package/src/commands/compare.ts +25 -0
- package/src/commands/init.ts +173 -69
- package/src/commands/redteam.ts +63 -10
- package/src/commands/run.ts +863 -141
- package/src/commands/stress.ts +76 -3
- package/src/config/loader.ts +5 -2
- package/src/config/schema.ts +4 -0
- package/src/ui/index.ts +19 -0
- package/src/ui/panels.ts +153 -5
- package/src/ui/prompts.ts +749 -0
- package/src/utils/adapter.ts +15 -0
package/dist/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,SAAS,IAAI,OAAO,CAwCnC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Baseline command - Manage baseline runs for regression detection
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
/**
|
|
6
|
+
* Create the main baseline command with subcommands
|
|
7
|
+
*/
|
|
8
|
+
export declare function baselineCommand(): Command;
|
|
9
|
+
//# sourceMappingURL=baseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../../src/commands/baseline.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAocpC;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAWzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/commands/compare.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/commands/compare.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6HpC,wBAAgB,cAAc,IAAI,OAAO,CAsGxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4RpC,wBAAgB,WAAW,IAAI,OAAO,CA0HrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redteam.d.ts","sourceRoot":"","sources":["../../../src/commands/redteam.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"redteam.d.ts","sourceRoot":"","sources":["../../../src/commands/redteam.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkCH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,wBAAgB,cAAc,IAAI,OAAO,CA6bxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2fpC,wBAAgB,UAAU,IAAI,OAAO,CAocpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stress.d.ts","sourceRoot":"","sources":["../../../src/commands/stress.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"stress.d.ts","sourceRoot":"","sources":["../../../src/commands/stress.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCpC,wBAAgB,aAAa,IAAI,OAAO,CAuRvC"}
|
|
@@ -5,7 +5,9 @@ import { type ArtemisConfig } from './schema';
|
|
|
5
5
|
/**
|
|
6
6
|
* Find and load the configuration file
|
|
7
7
|
*/
|
|
8
|
-
export declare function loadConfig(configPath?: string): Promise<ArtemisConfig
|
|
8
|
+
export declare function loadConfig(configPath?: string): Promise<(ArtemisConfig & {
|
|
9
|
+
_path: string;
|
|
10
|
+
}) | null>;
|
|
9
11
|
/**
|
|
10
12
|
* Get a merged config with CLI options taking precedence
|
|
11
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,UAAU,CAAC;AAInE;;GAEG;AACH,wBAAsB,UAAU,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,UAAU,CAAC;AAInE;;GAEG;AACH,wBAAsB,UAAU,CAC9B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CA+BrD;AAiDD;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,aAAa,GAAG,IAAI,EAChC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,GACjC,aAAa,CAWf"}
|
|
@@ -12,6 +12,8 @@ declare const ProviderConfigSchema: z.ZodObject<{
|
|
|
12
12
|
resourceName: z.ZodOptional<z.ZodString>;
|
|
13
13
|
deploymentName: z.ZodOptional<z.ZodString>;
|
|
14
14
|
apiVersion: z.ZodOptional<z.ZodString>;
|
|
15
|
+
embeddingDeploymentName: z.ZodOptional<z.ZodString>;
|
|
16
|
+
modelFamily: z.ZodOptional<z.ZodString>;
|
|
15
17
|
underlyingProvider: z.ZodOptional<z.ZodEnum<["openai", "azure", "anthropic", "google", "mistral"]>>;
|
|
16
18
|
}, "strip", z.ZodTypeAny, {
|
|
17
19
|
apiKey?: string | undefined;
|
|
@@ -23,6 +25,8 @@ declare const ProviderConfigSchema: z.ZodObject<{
|
|
|
23
25
|
resourceName?: string | undefined;
|
|
24
26
|
deploymentName?: string | undefined;
|
|
25
27
|
apiVersion?: string | undefined;
|
|
28
|
+
embeddingDeploymentName?: string | undefined;
|
|
29
|
+
modelFamily?: string | undefined;
|
|
26
30
|
underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
|
|
27
31
|
}, {
|
|
28
32
|
apiKey?: string | undefined;
|
|
@@ -34,6 +38,8 @@ declare const ProviderConfigSchema: z.ZodObject<{
|
|
|
34
38
|
resourceName?: string | undefined;
|
|
35
39
|
deploymentName?: string | undefined;
|
|
36
40
|
apiVersion?: string | undefined;
|
|
41
|
+
embeddingDeploymentName?: string | undefined;
|
|
42
|
+
modelFamily?: string | undefined;
|
|
37
43
|
underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
|
|
38
44
|
}>;
|
|
39
45
|
declare const StorageConfigSchema: z.ZodObject<{
|
|
@@ -69,6 +75,8 @@ export declare const ArtemisConfigSchema: z.ZodObject<{
|
|
|
69
75
|
resourceName: z.ZodOptional<z.ZodString>;
|
|
70
76
|
deploymentName: z.ZodOptional<z.ZodString>;
|
|
71
77
|
apiVersion: z.ZodOptional<z.ZodString>;
|
|
78
|
+
embeddingDeploymentName: z.ZodOptional<z.ZodString>;
|
|
79
|
+
modelFamily: z.ZodOptional<z.ZodString>;
|
|
72
80
|
underlyingProvider: z.ZodOptional<z.ZodEnum<["openai", "azure", "anthropic", "google", "mistral"]>>;
|
|
73
81
|
}, "strip", z.ZodTypeAny, {
|
|
74
82
|
apiKey?: string | undefined;
|
|
@@ -80,6 +88,8 @@ export declare const ArtemisConfigSchema: z.ZodObject<{
|
|
|
80
88
|
resourceName?: string | undefined;
|
|
81
89
|
deploymentName?: string | undefined;
|
|
82
90
|
apiVersion?: string | undefined;
|
|
91
|
+
embeddingDeploymentName?: string | undefined;
|
|
92
|
+
modelFamily?: string | undefined;
|
|
83
93
|
underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
|
|
84
94
|
}, {
|
|
85
95
|
apiKey?: string | undefined;
|
|
@@ -91,6 +101,8 @@ export declare const ArtemisConfigSchema: z.ZodObject<{
|
|
|
91
101
|
resourceName?: string | undefined;
|
|
92
102
|
deploymentName?: string | undefined;
|
|
93
103
|
apiVersion?: string | undefined;
|
|
104
|
+
embeddingDeploymentName?: string | undefined;
|
|
105
|
+
modelFamily?: string | undefined;
|
|
94
106
|
underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
|
|
95
107
|
}>>>;
|
|
96
108
|
storage: z.ZodOptional<z.ZodObject<{
|
|
@@ -154,6 +166,8 @@ export declare const ArtemisConfigSchema: z.ZodObject<{
|
|
|
154
166
|
resourceName?: string | undefined;
|
|
155
167
|
deploymentName?: string | undefined;
|
|
156
168
|
apiVersion?: string | undefined;
|
|
169
|
+
embeddingDeploymentName?: string | undefined;
|
|
170
|
+
modelFamily?: string | undefined;
|
|
157
171
|
underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
|
|
158
172
|
}> | undefined;
|
|
159
173
|
storage?: {
|
|
@@ -187,6 +201,8 @@ export declare const ArtemisConfigSchema: z.ZodObject<{
|
|
|
187
201
|
resourceName?: string | undefined;
|
|
188
202
|
deploymentName?: string | undefined;
|
|
189
203
|
apiVersion?: string | undefined;
|
|
204
|
+
embeddingDeploymentName?: string | undefined;
|
|
205
|
+
modelFamily?: string | undefined;
|
|
190
206
|
underlyingProvider?: "openai" | "anthropic" | "google" | "mistral" | "azure" | undefined;
|
|
191
207
|
}> | undefined;
|
|
192
208
|
storage?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxB,CAAC;AAEH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AAcH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
package/dist/src/ui/index.d.ts
CHANGED
|
@@ -7,10 +7,12 @@ export { colors, icons, colorByPercentage, formatPercentage } from './colors.js'
|
|
|
7
7
|
export { isTTY, getTerminalWidth, renderConditional, centerText, padText, stripAnsi, truncate, formatDuration, formatNumber, } from './utils.js';
|
|
8
8
|
export { renderProgressBar, ProgressBar, renderInlineProgress } from './progress.js';
|
|
9
9
|
export type { ProgressBarOptions } from './progress.js';
|
|
10
|
-
export { renderSummaryPanel, renderStressSummaryPanel, renderRedteamSummaryPanel, renderInfoBox, } from './panels.js';
|
|
10
|
+
export { renderSummaryPanel, renderStressSummaryPanel, renderRedteamSummaryPanel, renderInfoBox, renderFailureReason, } from './panels.js';
|
|
11
11
|
export type { SummaryData, StressSummaryData, RedteamSummaryData } from './panels.js';
|
|
12
12
|
export { renderError, renderWarning, getProviderErrorContext } from './errors.js';
|
|
13
13
|
export type { ErrorContext } from './errors.js';
|
|
14
14
|
export { LiveTestStatus, Spinner, createSpinner } from './live-status.js';
|
|
15
15
|
export type { TestStatus } from './live-status.js';
|
|
16
|
+
export { isInteractive, promptProvider, promptModel, promptScenarios, promptConfirm, promptInput, promptPassword, promptSelect, promptApiKeyIfNeeded, getApiKeyEnvVar, runInitWizard, PROVIDER_CHOICES, MODEL_CHOICES, } from './prompts.js';
|
|
17
|
+
export type { InitWizardResult } from './prompts.js';
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjF,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrF,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjF,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrF,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/src/ui/panels.d.ts
CHANGED
|
@@ -17,9 +17,22 @@ export interface StressSummaryData {
|
|
|
17
17
|
duration: number;
|
|
18
18
|
avgLatency: number;
|
|
19
19
|
p50Latency: number;
|
|
20
|
+
p90Latency: number;
|
|
20
21
|
p95Latency: number;
|
|
21
22
|
p99Latency: number;
|
|
22
23
|
throughput: number;
|
|
24
|
+
/** Token usage (optional) */
|
|
25
|
+
tokens?: {
|
|
26
|
+
total: number;
|
|
27
|
+
prompt: number;
|
|
28
|
+
completion: number;
|
|
29
|
+
avgPerRequest: number;
|
|
30
|
+
};
|
|
31
|
+
/** Cost estimation (optional) */
|
|
32
|
+
cost?: {
|
|
33
|
+
totalUsd: number;
|
|
34
|
+
model: string;
|
|
35
|
+
};
|
|
23
36
|
}
|
|
24
37
|
export interface RedteamSummaryData {
|
|
25
38
|
totalCases: number;
|
|
@@ -46,4 +59,12 @@ export declare function renderRedteamSummaryPanel(data: RedteamSummaryData): str
|
|
|
46
59
|
* Render a simple info box
|
|
47
60
|
*/
|
|
48
61
|
export declare function renderInfoBox(title: string, lines: string[]): string;
|
|
62
|
+
/**
|
|
63
|
+
* Render a styled failure reason for test cases
|
|
64
|
+
* Provides consistent formatting for verbose error output
|
|
65
|
+
*/
|
|
66
|
+
export declare function renderFailureReason(reason: string, options?: {
|
|
67
|
+
matcherType?: string;
|
|
68
|
+
indent?: number;
|
|
69
|
+
}): string;
|
|
49
70
|
//# sourceMappingURL=panels.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../../src/ui/panels.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../../src/ui/panels.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,iCAAiC;IACjC,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAiC5D;AA4BD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAiHxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CA4C1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAsBpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,CA0CR"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive prompts module
|
|
3
|
+
* Provides Inquirer-based user prompts for CLI interactivity
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Check if interactive mode is available
|
|
7
|
+
*/
|
|
8
|
+
export declare function isInteractive(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Provider options for selection
|
|
11
|
+
* Note: Only providers with implemented adapters are included
|
|
12
|
+
*/
|
|
13
|
+
export declare const PROVIDER_CHOICES: {
|
|
14
|
+
name: string;
|
|
15
|
+
value: string;
|
|
16
|
+
}[];
|
|
17
|
+
/**
|
|
18
|
+
* Known models by provider - used for validation
|
|
19
|
+
* Updated January 2026
|
|
20
|
+
*/
|
|
21
|
+
export declare const KNOWN_MODELS: Record<string, string[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Model choices displayed in the prompt
|
|
24
|
+
* Updated January 2026
|
|
25
|
+
*/
|
|
26
|
+
export declare const MODEL_CHOICES: Record<string, {
|
|
27
|
+
name: string;
|
|
28
|
+
value: string;
|
|
29
|
+
}[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Prompt user to select a provider
|
|
32
|
+
*/
|
|
33
|
+
export declare function promptProvider(message?: string): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Prompt user to select a model for a given provider
|
|
36
|
+
* Includes hybrid validation for custom models
|
|
37
|
+
*/
|
|
38
|
+
export declare function promptModel(provider: string, message?: string): Promise<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Prompt user to select scenarios from a list
|
|
41
|
+
*/
|
|
42
|
+
export declare function promptScenarios(scenarios: {
|
|
43
|
+
path: string;
|
|
44
|
+
name: string;
|
|
45
|
+
}[], message?: string): Promise<string[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Prompt for confirmation
|
|
48
|
+
*/
|
|
49
|
+
export declare function promptConfirm(message: string, defaultValue?: boolean): Promise<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* Prompt for text input
|
|
52
|
+
*/
|
|
53
|
+
export declare function promptInput(message: string, options?: {
|
|
54
|
+
default?: string;
|
|
55
|
+
validate?: (input: string) => boolean | string;
|
|
56
|
+
}): Promise<string>;
|
|
57
|
+
/**
|
|
58
|
+
* Prompt for a password/secret (hidden input)
|
|
59
|
+
*/
|
|
60
|
+
export declare function promptPassword(message: string, options?: {
|
|
61
|
+
validate?: (input: string) => boolean | string;
|
|
62
|
+
}): Promise<string>;
|
|
63
|
+
/**
|
|
64
|
+
* Prompt for selection from a list
|
|
65
|
+
*/
|
|
66
|
+
export declare function promptSelect<T extends string>(message: string, choices: {
|
|
67
|
+
name: string;
|
|
68
|
+
value: T;
|
|
69
|
+
}[]): Promise<T>;
|
|
70
|
+
/**
|
|
71
|
+
* Interactive init wizard configuration
|
|
72
|
+
*/
|
|
73
|
+
export interface InitWizardResult {
|
|
74
|
+
projectName: string;
|
|
75
|
+
provider: string;
|
|
76
|
+
model: string;
|
|
77
|
+
storageType: 'local' | 'supabase';
|
|
78
|
+
createExample: boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Run the interactive init wizard
|
|
82
|
+
*/
|
|
83
|
+
export declare function runInitWizard(): Promise<InitWizardResult>;
|
|
84
|
+
/**
|
|
85
|
+
* Prompt for API key if not set
|
|
86
|
+
*/
|
|
87
|
+
export declare function promptApiKeyIfNeeded(provider: string, envVarName: string): Promise<string | null>;
|
|
88
|
+
/**
|
|
89
|
+
* Get the environment variable name for a provider's API key
|
|
90
|
+
*/
|
|
91
|
+
export declare function getApiKeyEnvVar(provider: string): string;
|
|
92
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/ui/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;GAQ5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAgHjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAwD3E,CAAC;AAEF;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,SAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpF;AA8QD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkChG;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,EAC3C,OAAO,SAA6B,GACnC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAU1F;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;CAC3C,GACL,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;CAC3C,GACL,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,EAAE,GACpC,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,GAAG,UAAU,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA4C/D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/utils/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sCAAsC;IACtC,UAAU,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC,wCAAwC;IACxC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,qCAAqC;IACrC,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAOD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,aAAa,EAAE,aAAa,CAAC;IAC7B,+DAA+D;IAC/D,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CA8ErF;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/utils/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sCAAsC;IACtC,UAAU,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC,wCAAwC;IACxC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,qCAAqC;IACrC,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAOD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,aAAa,EAAE,aAAa,CAAC;IAC7B,+DAA+D;IAC/D,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CA8ErF;AAsXD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,MAAM,GACtB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAK5C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB;IAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,CAKjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAEpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artemiskit/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Command-line interface for ArtemisKit LLM evaluation toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
"test": "bun test"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@artemiskit/adapter-openai": "
|
|
49
|
-
"@artemiskit/adapter-vercel-ai": "
|
|
50
|
-
"@artemiskit/core": "
|
|
51
|
-
"@artemiskit/redteam": "
|
|
52
|
-
"@artemiskit/reports": "
|
|
48
|
+
"@artemiskit/adapter-openai": "workspace:*",
|
|
49
|
+
"@artemiskit/adapter-vercel-ai": "workspace:*",
|
|
50
|
+
"@artemiskit/core": "workspace:*",
|
|
51
|
+
"@artemiskit/redteam": "workspace:*",
|
|
52
|
+
"@artemiskit/reports": "workspace:*",
|
|
53
53
|
"chalk": "^5.3.0",
|
|
54
54
|
"cli-table3": "^0.6.3",
|
|
55
55
|
"commander": "^12.0.0",
|
package/src/cli.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { version } from '../package.json';
|
|
7
|
+
import { baselineCommand } from './commands/baseline';
|
|
7
8
|
import { compareCommand } from './commands/compare';
|
|
8
9
|
import { historyCommand } from './commands/history';
|
|
9
10
|
import { initCommand } from './commands/init';
|
|
@@ -45,6 +46,7 @@ export function createCLI(): Command {
|
|
|
45
46
|
|
|
46
47
|
program.addCommand(initCommand());
|
|
47
48
|
program.addCommand(runCommand());
|
|
49
|
+
program.addCommand(baselineCommand());
|
|
48
50
|
program.addCommand(compareCommand());
|
|
49
51
|
program.addCommand(historyCommand());
|
|
50
52
|
program.addCommand(reportCommand());
|