edgegate-mcp 0.10.0 → 0.14.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.
- package/dist/client.d.ts +40 -2
- package/dist/client.js +43 -0
- package/dist/client.js.map +1 -1
- package/dist/server.js +138 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/capture_reference.d.ts +49 -0
- package/dist/tools/capture_reference.js +102 -0
- package/dist/tools/capture_reference.js.map +1 -0
- package/dist/tools/check_genie_compile_status.d.ts +15 -0
- package/dist/tools/check_genie_compile_status.js +36 -0
- package/dist/tools/check_genie_compile_status.js.map +1 -0
- package/dist/tools/check_llm_compile_status.d.ts +15 -0
- package/dist/tools/check_llm_compile_status.js +49 -0
- package/dist/tools/check_llm_compile_status.js.map +1 -0
- package/dist/tools/check_reference_capture_status.d.ts +15 -0
- package/dist/tools/check_reference_capture_status.js +31 -0
- package/dist/tools/check_reference_capture_status.js.map +1 -0
- package/dist/tools/compile_genie.d.ts +46 -0
- package/dist/tools/compile_genie.js +101 -0
- package/dist/tools/compile_genie.js.map +1 -0
- package/dist/tools/create_bg_run.d.ts +41 -0
- package/dist/tools/create_bg_run.js +109 -0
- package/dist/tools/create_bg_run.js.map +1 -0
- package/dist/tools/create_eval_set.d.ts +89 -0
- package/dist/tools/create_eval_set.js +128 -0
- package/dist/tools/create_eval_set.js.map +1 -0
- package/dist/tools/create_pipeline.d.ts +139 -17
- package/dist/tools/create_pipeline.js +155 -29
- package/dist/tools/create_pipeline.js.map +1 -1
- package/dist/tools/import_huggingface_model.js +23 -15
- package/dist/tools/import_huggingface_model.js.map +1 -1
- package/dist/tools/list_eval_packs.d.ts +6 -0
- package/dist/tools/list_eval_packs.js +38 -0
- package/dist/tools/list_eval_packs.js.map +1 -0
- package/dist/tools/list_eval_sets.d.ts +12 -0
- package/dist/tools/list_eval_sets.js +38 -0
- package/dist/tools/list_eval_sets.js.map +1 -0
- package/dist/tools/llm_compile.d.ts +47 -0
- package/dist/tools/llm_compile.js +111 -0
- package/dist/tools/llm_compile.js.map +1 -0
- package/dist/tools/new_eval_set_version.d.ts +18 -0
- package/dist/tools/new_eval_set_version.js +47 -0
- package/dist/tools/new_eval_set_version.js.map +1 -0
- package/dist/tools/publish_eval_set.d.ts +18 -0
- package/dist/tools/publish_eval_set.js +74 -0
- package/dist/tools/publish_eval_set.js.map +1 -0
- package/dist/tools/update_eval_set.d.ts +56 -0
- package/dist/tools/update_eval_set.js +60 -0
- package/dist/tools/update_eval_set.js.map +1 -0
- package/dist/types.d.ts +193 -0
- package/dist/version.d.ts +2 -2
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,35 +10,127 @@ export declare const createPipelineInputSchema: z.ZodObject<{
|
|
|
10
10
|
promptpack_version: z.ZodDefault<z.ZodString>;
|
|
11
11
|
/** Device names to include. E.g. ["Samsung Galaxy S24 (Family)"] */
|
|
12
12
|
devices: z.ZodArray<z.ZodString, "many">;
|
|
13
|
-
gates: z.ZodArray<z.ZodObject<{
|
|
14
|
-
|
|
13
|
+
gates: z.ZodArray<z.ZodUnion<[z.ZodObject<{
|
|
14
|
+
type: z.ZodOptional<z.ZodLiteral<"metric">>;
|
|
15
|
+
metric: z.ZodEnum<["inference_time_ms", "peak_memory_mb", "npu_compute_percent", "gpu_compute_percent", "cpu_compute_percent", "ttft_ms", "tps", "response_rate_tps", "ttft_min_ms", "ttft_max_ms", "compile_time_ms", "compile_peak_memory_mb", "first_load_time_ms", "first_load_peak_memory_mb", "warm_load_time_ms", "npu_layer_count", "gpu_layer_count", "cpu_layer_count", "total_layer_count", "npu_layer_percent", "gpu_layer_percent", "cpu_layer_percent", "inference_time_ms_cv", "peak_memory_mb_cv", "npu_compute_percent_cv", "gpu_compute_percent_cv", "cpu_compute_percent_cv", "compile_time_ms_cv", "compile_peak_memory_mb_cv", "first_load_time_ms_cv", "first_load_peak_memory_mb_cv", "warm_load_time_ms_cv"]>;
|
|
15
16
|
operator: z.ZodEnum<["<=", "<", ">=", ">", "=="]>;
|
|
16
17
|
threshold: z.ZodNumber;
|
|
17
18
|
description: z.ZodOptional<z.ZodString>;
|
|
18
19
|
}, "strip", z.ZodTypeAny, {
|
|
19
|
-
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
|
|
20
|
+
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps" | "response_rate_tps" | "ttft_min_ms" | "ttft_max_ms" | "compile_time_ms" | "compile_peak_memory_mb" | "first_load_time_ms" | "first_load_peak_memory_mb" | "warm_load_time_ms" | "npu_layer_count" | "gpu_layer_count" | "cpu_layer_count" | "total_layer_count" | "npu_layer_percent" | "gpu_layer_percent" | "cpu_layer_percent" | "inference_time_ms_cv" | "peak_memory_mb_cv" | "npu_compute_percent_cv" | "gpu_compute_percent_cv" | "cpu_compute_percent_cv" | "compile_time_ms_cv" | "compile_peak_memory_mb_cv" | "first_load_time_ms_cv" | "first_load_peak_memory_mb_cv" | "warm_load_time_ms_cv";
|
|
20
21
|
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
21
22
|
threshold: number;
|
|
23
|
+
type?: "metric" | undefined;
|
|
22
24
|
description?: string | undefined;
|
|
23
25
|
}, {
|
|
24
|
-
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
|
|
26
|
+
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps" | "response_rate_tps" | "ttft_min_ms" | "ttft_max_ms" | "compile_time_ms" | "compile_peak_memory_mb" | "first_load_time_ms" | "first_load_peak_memory_mb" | "warm_load_time_ms" | "npu_layer_count" | "gpu_layer_count" | "cpu_layer_count" | "total_layer_count" | "npu_layer_percent" | "gpu_layer_percent" | "cpu_layer_percent" | "inference_time_ms_cv" | "peak_memory_mb_cv" | "npu_compute_percent_cv" | "gpu_compute_percent_cv" | "cpu_compute_percent_cv" | "compile_time_ms_cv" | "compile_peak_memory_mb_cv" | "first_load_time_ms_cv" | "first_load_peak_memory_mb_cv" | "warm_load_time_ms_cv";
|
|
25
27
|
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
26
28
|
threshold: number;
|
|
29
|
+
type?: "metric" | undefined;
|
|
27
30
|
description?: string | undefined;
|
|
28
|
-
}>,
|
|
31
|
+
}>, z.ZodObject<{
|
|
32
|
+
type: z.ZodLiteral<"composition">;
|
|
33
|
+
/** ONNX op type to match (case-insensitive). Use "*" to match any layer type. */
|
|
34
|
+
op_type: z.ZodDefault<z.ZodString>;
|
|
35
|
+
compute_unit: z.ZodEnum<["NPU", "GPU", "CPU"]>;
|
|
36
|
+
operator: z.ZodEnum<["<=", "<", ">=", ">", "=="]>;
|
|
37
|
+
/** Allowed matching-layer count. `0` is the headline "no fallback" rule. */
|
|
38
|
+
threshold: z.ZodNumber;
|
|
39
|
+
description: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, "strip", z.ZodTypeAny, {
|
|
41
|
+
type: "composition";
|
|
42
|
+
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
43
|
+
threshold: number;
|
|
44
|
+
op_type: string;
|
|
45
|
+
compute_unit: "NPU" | "GPU" | "CPU";
|
|
46
|
+
description?: string | undefined;
|
|
47
|
+
}, {
|
|
48
|
+
type: "composition";
|
|
49
|
+
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
50
|
+
threshold: number;
|
|
51
|
+
compute_unit: "NPU" | "GPU" | "CPU";
|
|
52
|
+
description?: string | undefined;
|
|
53
|
+
op_type?: string | undefined;
|
|
54
|
+
}>]>, "many">;
|
|
29
55
|
/**
|
|
30
56
|
* Optional multi-model matrix. When omitted the pipeline runs in legacy
|
|
31
57
|
* single-model mode (model_artifact_id is supplied per-run instead).
|
|
58
|
+
*
|
|
59
|
+
* Each entry MUST set EITHER `artifact_id` (pre-uploaded model, existing
|
|
60
|
+
* path) OR `llm_compile_source` (Plan B — EdgeGate compiles + links the
|
|
61
|
+
* LLM via Qualcomm AI Hub on first run, then caches the composite). The
|
|
62
|
+
* backend enforces mutual exclusion; we surface a client-side error
|
|
63
|
+
* before the network call when both are set.
|
|
32
64
|
*/
|
|
33
|
-
models: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
65
|
+
models: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
34
66
|
name: z.ZodString;
|
|
35
|
-
artifact_id: z.ZodString
|
|
67
|
+
artifact_id: z.ZodOptional<z.ZodString>;
|
|
68
|
+
/**
|
|
69
|
+
* If set instead of artifact_id: EdgeGate will compile the LLM
|
|
70
|
+
* via Qualcomm AI Hub on first pipeline run, then cache the
|
|
71
|
+
* resulting composite artifact. The pipeline is created in
|
|
72
|
+
* compile_pending state and the response includes a
|
|
73
|
+
* compile_job_id alongside the pipeline_id.
|
|
74
|
+
*/
|
|
75
|
+
llm_compile_source: z.ZodOptional<z.ZodObject<{
|
|
76
|
+
source_artifact_ids: z.ZodArray<z.ZodString, "many">;
|
|
77
|
+
sequence_lengths: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
|
|
78
|
+
context_lengths: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
|
|
79
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
80
|
+
target_runtime: z.ZodDefault<z.ZodString>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
source_artifact_ids: string[];
|
|
83
|
+
sequence_lengths: number[];
|
|
84
|
+
context_lengths: number[];
|
|
85
|
+
target_runtime: string;
|
|
86
|
+
roles?: string[] | undefined;
|
|
87
|
+
}, {
|
|
88
|
+
source_artifact_ids: string[];
|
|
89
|
+
sequence_lengths?: number[] | undefined;
|
|
90
|
+
context_lengths?: number[] | undefined;
|
|
91
|
+
roles?: string[] | undefined;
|
|
92
|
+
target_runtime?: string | undefined;
|
|
93
|
+
}>>;
|
|
36
94
|
}, "strip", z.ZodTypeAny, {
|
|
37
|
-
artifact_id: string;
|
|
38
95
|
name: string;
|
|
96
|
+
artifact_id?: string | undefined;
|
|
97
|
+
llm_compile_source?: {
|
|
98
|
+
source_artifact_ids: string[];
|
|
99
|
+
sequence_lengths: number[];
|
|
100
|
+
context_lengths: number[];
|
|
101
|
+
target_runtime: string;
|
|
102
|
+
roles?: string[] | undefined;
|
|
103
|
+
} | undefined;
|
|
39
104
|
}, {
|
|
40
|
-
artifact_id: string;
|
|
41
105
|
name: string;
|
|
106
|
+
artifact_id?: string | undefined;
|
|
107
|
+
llm_compile_source?: {
|
|
108
|
+
source_artifact_ids: string[];
|
|
109
|
+
sequence_lengths?: number[] | undefined;
|
|
110
|
+
context_lengths?: number[] | undefined;
|
|
111
|
+
roles?: string[] | undefined;
|
|
112
|
+
target_runtime?: string | undefined;
|
|
113
|
+
} | undefined;
|
|
114
|
+
}>, {
|
|
115
|
+
name: string;
|
|
116
|
+
artifact_id?: string | undefined;
|
|
117
|
+
llm_compile_source?: {
|
|
118
|
+
source_artifact_ids: string[];
|
|
119
|
+
sequence_lengths: number[];
|
|
120
|
+
context_lengths: number[];
|
|
121
|
+
target_runtime: string;
|
|
122
|
+
roles?: string[] | undefined;
|
|
123
|
+
} | undefined;
|
|
124
|
+
}, {
|
|
125
|
+
name: string;
|
|
126
|
+
artifact_id?: string | undefined;
|
|
127
|
+
llm_compile_source?: {
|
|
128
|
+
source_artifact_ids: string[];
|
|
129
|
+
sequence_lengths?: number[] | undefined;
|
|
130
|
+
context_lengths?: number[] | undefined;
|
|
131
|
+
roles?: string[] | undefined;
|
|
132
|
+
target_runtime?: string | undefined;
|
|
133
|
+
} | undefined;
|
|
42
134
|
}>, "many">>;
|
|
43
135
|
/** Measurement repeats per cell (1–5). Defaults to API default (3). */
|
|
44
136
|
repeats: z.ZodOptional<z.ZodNumber>;
|
|
@@ -70,15 +162,30 @@ export declare const createPipelineInputSchema: z.ZodObject<{
|
|
|
70
162
|
promptpack_id: string;
|
|
71
163
|
promptpack_version: string;
|
|
72
164
|
devices: string[];
|
|
73
|
-
gates: {
|
|
74
|
-
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
|
|
165
|
+
gates: ({
|
|
166
|
+
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps" | "response_rate_tps" | "ttft_min_ms" | "ttft_max_ms" | "compile_time_ms" | "compile_peak_memory_mb" | "first_load_time_ms" | "first_load_peak_memory_mb" | "warm_load_time_ms" | "npu_layer_count" | "gpu_layer_count" | "cpu_layer_count" | "total_layer_count" | "npu_layer_percent" | "gpu_layer_percent" | "cpu_layer_percent" | "inference_time_ms_cv" | "peak_memory_mb_cv" | "npu_compute_percent_cv" | "gpu_compute_percent_cv" | "cpu_compute_percent_cv" | "compile_time_ms_cv" | "compile_peak_memory_mb_cv" | "first_load_time_ms_cv" | "first_load_peak_memory_mb_cv" | "warm_load_time_ms_cv";
|
|
167
|
+
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
168
|
+
threshold: number;
|
|
169
|
+
type?: "metric" | undefined;
|
|
170
|
+
description?: string | undefined;
|
|
171
|
+
} | {
|
|
172
|
+
type: "composition";
|
|
75
173
|
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
76
174
|
threshold: number;
|
|
175
|
+
op_type: string;
|
|
176
|
+
compute_unit: "NPU" | "GPU" | "CPU";
|
|
77
177
|
description?: string | undefined;
|
|
78
|
-
}[];
|
|
178
|
+
})[];
|
|
79
179
|
models?: {
|
|
80
|
-
artifact_id: string;
|
|
81
180
|
name: string;
|
|
181
|
+
artifact_id?: string | undefined;
|
|
182
|
+
llm_compile_source?: {
|
|
183
|
+
source_artifact_ids: string[];
|
|
184
|
+
sequence_lengths: number[];
|
|
185
|
+
context_lengths: number[];
|
|
186
|
+
target_runtime: string;
|
|
187
|
+
roles?: string[] | undefined;
|
|
188
|
+
} | undefined;
|
|
82
189
|
}[] | undefined;
|
|
83
190
|
repeats?: number | undefined;
|
|
84
191
|
input_specs?: Record<string, {
|
|
@@ -90,16 +197,31 @@ export declare const createPipelineInputSchema: z.ZodObject<{
|
|
|
90
197
|
name: string;
|
|
91
198
|
promptpack_id: string;
|
|
92
199
|
devices: string[];
|
|
93
|
-
gates: {
|
|
94
|
-
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
|
|
200
|
+
gates: ({
|
|
201
|
+
metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps" | "response_rate_tps" | "ttft_min_ms" | "ttft_max_ms" | "compile_time_ms" | "compile_peak_memory_mb" | "first_load_time_ms" | "first_load_peak_memory_mb" | "warm_load_time_ms" | "npu_layer_count" | "gpu_layer_count" | "cpu_layer_count" | "total_layer_count" | "npu_layer_percent" | "gpu_layer_percent" | "cpu_layer_percent" | "inference_time_ms_cv" | "peak_memory_mb_cv" | "npu_compute_percent_cv" | "gpu_compute_percent_cv" | "cpu_compute_percent_cv" | "compile_time_ms_cv" | "compile_peak_memory_mb_cv" | "first_load_time_ms_cv" | "first_load_peak_memory_mb_cv" | "warm_load_time_ms_cv";
|
|
202
|
+
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
203
|
+
threshold: number;
|
|
204
|
+
type?: "metric" | undefined;
|
|
205
|
+
description?: string | undefined;
|
|
206
|
+
} | {
|
|
207
|
+
type: "composition";
|
|
95
208
|
operator: "<=" | "<" | ">=" | ">" | "==";
|
|
96
209
|
threshold: number;
|
|
210
|
+
compute_unit: "NPU" | "GPU" | "CPU";
|
|
97
211
|
description?: string | undefined;
|
|
98
|
-
|
|
212
|
+
op_type?: string | undefined;
|
|
213
|
+
})[];
|
|
99
214
|
promptpack_version?: string | undefined;
|
|
100
215
|
models?: {
|
|
101
|
-
artifact_id: string;
|
|
102
216
|
name: string;
|
|
217
|
+
artifact_id?: string | undefined;
|
|
218
|
+
llm_compile_source?: {
|
|
219
|
+
source_artifact_ids: string[];
|
|
220
|
+
sequence_lengths?: number[] | undefined;
|
|
221
|
+
context_lengths?: number[] | undefined;
|
|
222
|
+
roles?: string[] | undefined;
|
|
223
|
+
target_runtime?: string | undefined;
|
|
224
|
+
} | undefined;
|
|
103
225
|
}[] | undefined;
|
|
104
226
|
repeats?: number | undefined;
|
|
105
227
|
input_specs?: Record<string, {
|
|
@@ -19,34 +19,137 @@ export const createPipelineInputSchema = z.object({
|
|
|
19
19
|
/** Device names to include. E.g. ["Samsung Galaxy S24 (Family)"] */
|
|
20
20
|
devices: z.array(z.string().min(1)).min(1).max(5),
|
|
21
21
|
gates: z
|
|
22
|
-
.array(z.
|
|
23
|
-
metric
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
22
|
+
.array(z.union([
|
|
23
|
+
// ----- Metric gates (scalar threshold against a normalised metric).
|
|
24
|
+
// Existing shape preserved exactly so older callers don't have to
|
|
25
|
+
// touch their payloads. `type` is optional — when omitted, the
|
|
26
|
+
// backend interprets the gate as a metric gate.
|
|
27
|
+
z.object({
|
|
28
|
+
type: z.literal("metric").optional(),
|
|
29
|
+
metric: z.enum([
|
|
30
|
+
// Stable — populated for every model AI Hub profiles successfully.
|
|
31
|
+
"inference_time_ms",
|
|
32
|
+
"peak_memory_mb",
|
|
33
|
+
// Compute-unit breakdown — fires when AI Hub returns the per-IP
|
|
34
|
+
// split. npu_compute_percent is the killer gate for "did silent
|
|
35
|
+
// fallback to GPU/CPU happen?" — that's the EdgeGate value prop.
|
|
36
|
+
"npu_compute_percent",
|
|
37
|
+
"gpu_compute_percent",
|
|
38
|
+
"cpu_compute_percent",
|
|
39
|
+
// LLM-only — resolve to "Metric not available" on vision/audio
|
|
40
|
+
// models. Backend names them `ttft_ms` and `tps` (NOT the legacy
|
|
41
|
+
// `throughput_tps` we used to ship here).
|
|
42
|
+
"ttft_ms",
|
|
43
|
+
"tps",
|
|
44
|
+
// Plan B additions (2026-06-15) — surfaced from `llm_metrics`
|
|
45
|
+
// block in the worker normalizer. response_rate_tps is the
|
|
46
|
+
// sustained token-rate (1000/token-inference). ttft_min_ms /
|
|
47
|
+
// ttft_max_ms are the per-prompt-component spread.
|
|
48
|
+
"response_rate_tps",
|
|
49
|
+
"ttft_min_ms",
|
|
50
|
+
"ttft_max_ms",
|
|
51
|
+
// Phase 1 (2026-06-11) — schema-verified AI Hub fields previously
|
|
52
|
+
// dropped. Compile-time + cold/warm load metrics. See
|
|
53
|
+
// docs/superpowers/plans/2026-06-11-gate-expansion.md.
|
|
54
|
+
"compile_time_ms",
|
|
55
|
+
"compile_peak_memory_mb",
|
|
56
|
+
"first_load_time_ms",
|
|
57
|
+
"first_load_peak_memory_mb",
|
|
58
|
+
"warm_load_time_ms",
|
|
59
|
+
// Phase 2a — layer-count composition. Gate on
|
|
60
|
+
// `cpu_layer_count == 0` to catch silent NPU-fallback that
|
|
61
|
+
// aggregate `npu_compute_percent` can miss.
|
|
62
|
+
"npu_layer_count",
|
|
63
|
+
"gpu_layer_count",
|
|
64
|
+
"cpu_layer_count",
|
|
65
|
+
"total_layer_count",
|
|
66
|
+
"npu_layer_percent",
|
|
67
|
+
"gpu_layer_percent",
|
|
68
|
+
"cpu_layer_percent",
|
|
69
|
+
// Phase 2b — CV (coefficient of variation) variants. Computed by
|
|
70
|
+
// backend aggregator as `{source_metric}_cv`, preserving the unit
|
|
71
|
+
// suffix. Gate on `inference_time_ms_cv < 0.05` for stricter
|
|
72
|
+
// determinism than our default 10% flake threshold.
|
|
73
|
+
"inference_time_ms_cv",
|
|
74
|
+
"peak_memory_mb_cv",
|
|
75
|
+
"npu_compute_percent_cv",
|
|
76
|
+
"gpu_compute_percent_cv",
|
|
77
|
+
"cpu_compute_percent_cv",
|
|
78
|
+
"compile_time_ms_cv",
|
|
79
|
+
"compile_peak_memory_mb_cv",
|
|
80
|
+
"first_load_time_ms_cv",
|
|
81
|
+
"first_load_peak_memory_mb_cv",
|
|
82
|
+
"warm_load_time_ms_cv",
|
|
83
|
+
]),
|
|
84
|
+
operator: z.enum(["<=", "<", ">=", ">", "=="]),
|
|
85
|
+
threshold: z.number().positive(),
|
|
86
|
+
description: z.string().optional(),
|
|
87
|
+
}),
|
|
88
|
+
// ----- Composition gates (Phase 2a). Count per-layer
|
|
89
|
+
// (op_type, compute_unit) matches in AI Hub's execution_detail
|
|
90
|
+
// and gate the count. The killer use case: catch silent NPU→CPU
|
|
91
|
+
// fallback that aggregate `npu_compute_percent` can mask when
|
|
92
|
+
// one heavy op dominates time-weighted percentages.
|
|
93
|
+
//
|
|
94
|
+
// Example (no Conv layer allowed on CPU):
|
|
95
|
+
// { type: "composition", op_type: "Conv", compute_unit: "CPU",
|
|
96
|
+
// operator: "==", threshold: 0 }
|
|
97
|
+
//
|
|
98
|
+
// Example (no layer of ANY type on CPU — i.e. "no fallback"):
|
|
99
|
+
// { type: "composition", op_type: "*", compute_unit: "CPU",
|
|
100
|
+
// operator: "==", threshold: 0 }
|
|
101
|
+
z.object({
|
|
102
|
+
type: z.literal("composition"),
|
|
103
|
+
/** ONNX op type to match (case-insensitive). Use "*" to match any layer type. */
|
|
104
|
+
op_type: z.string().min(1).default("*"),
|
|
105
|
+
compute_unit: z.enum(["NPU", "GPU", "CPU"]),
|
|
106
|
+
operator: z.enum(["<=", "<", ">=", ">", "=="]),
|
|
107
|
+
/** Allowed matching-layer count. `0` is the headline "no fallback" rule. */
|
|
108
|
+
threshold: z.number().int().min(0),
|
|
109
|
+
description: z.string().optional(),
|
|
110
|
+
}),
|
|
111
|
+
]))
|
|
43
112
|
.min(1),
|
|
44
113
|
/**
|
|
45
114
|
* Optional multi-model matrix. When omitted the pipeline runs in legacy
|
|
46
115
|
* single-model mode (model_artifact_id is supplied per-run instead).
|
|
116
|
+
*
|
|
117
|
+
* Each entry MUST set EITHER `artifact_id` (pre-uploaded model, existing
|
|
118
|
+
* path) OR `llm_compile_source` (Plan B — EdgeGate compiles + links the
|
|
119
|
+
* LLM via Qualcomm AI Hub on first run, then caches the composite). The
|
|
120
|
+
* backend enforces mutual exclusion; we surface a client-side error
|
|
121
|
+
* before the network call when both are set.
|
|
47
122
|
*/
|
|
48
123
|
models: z
|
|
49
|
-
.array(z
|
|
124
|
+
.array(z
|
|
125
|
+
.object({
|
|
126
|
+
name: z.string().min(1),
|
|
127
|
+
artifact_id: z.string().min(1).optional(),
|
|
128
|
+
/**
|
|
129
|
+
* If set instead of artifact_id: EdgeGate will compile the LLM
|
|
130
|
+
* via Qualcomm AI Hub on first pipeline run, then cache the
|
|
131
|
+
* resulting composite artifact. The pipeline is created in
|
|
132
|
+
* compile_pending state and the response includes a
|
|
133
|
+
* compile_job_id alongside the pipeline_id.
|
|
134
|
+
*/
|
|
135
|
+
llm_compile_source: z
|
|
136
|
+
.object({
|
|
137
|
+
source_artifact_ids: z.array(z.string().uuid()).min(1).max(8),
|
|
138
|
+
sequence_lengths: z
|
|
139
|
+
.array(z.number().int().positive())
|
|
140
|
+
.default([128, 1]),
|
|
141
|
+
context_lengths: z
|
|
142
|
+
.array(z.number().int().positive())
|
|
143
|
+
.default([4096]),
|
|
144
|
+
roles: z.array(z.string().min(1)).optional(),
|
|
145
|
+
target_runtime: z.string().min(1).default("genie"),
|
|
146
|
+
})
|
|
147
|
+
.optional(),
|
|
148
|
+
})
|
|
149
|
+
.refine((m) => (m.artifact_id !== undefined) !== (m.llm_compile_source !== undefined), {
|
|
150
|
+
message: "Each model must set EXACTLY ONE of `artifact_id` (pre-uploaded model) " +
|
|
151
|
+
"OR `llm_compile_source` (auto-compile via AI Hub). Both set OR neither set is invalid.",
|
|
152
|
+
}))
|
|
50
153
|
.min(1)
|
|
51
154
|
.max(10)
|
|
52
155
|
.optional(),
|
|
@@ -106,13 +209,36 @@ export async function createPipelineHandler(client, input) {
|
|
|
106
209
|
promptpack_id: input.promptpack_id,
|
|
107
210
|
version: input.promptpack_version,
|
|
108
211
|
};
|
|
109
|
-
const gates = input.gates.map((g) =>
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
212
|
+
const gates = input.gates.map((g) => {
|
|
213
|
+
const baseOperator = OPERATOR_MAP[g.operator] ?? g.operator;
|
|
214
|
+
if (g.type === "composition") {
|
|
215
|
+
return {
|
|
216
|
+
type: "composition",
|
|
217
|
+
op_type: g.op_type ?? "*",
|
|
218
|
+
compute_unit: g.compute_unit,
|
|
219
|
+
operator: baseOperator,
|
|
220
|
+
threshold: g.threshold,
|
|
221
|
+
...(g.description !== undefined ? { description: g.description } : {}),
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
return {
|
|
225
|
+
// type defaults to "metric" on the backend when absent — keep payload
|
|
226
|
+
// minimal for the common case.
|
|
227
|
+
metric: g.metric,
|
|
228
|
+
operator: baseOperator,
|
|
229
|
+
threshold: g.threshold,
|
|
230
|
+
...(g.description !== undefined ? { description: g.description } : {}),
|
|
231
|
+
};
|
|
232
|
+
});
|
|
233
|
+
const model_matrix = input.models?.map((m) => {
|
|
234
|
+
if (m.llm_compile_source !== undefined) {
|
|
235
|
+
return {
|
|
236
|
+
label: m.name,
|
|
237
|
+
llm_compile_source: m.llm_compile_source,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
return { artifact_id: m.artifact_id, label: m.name };
|
|
241
|
+
});
|
|
116
242
|
const run_policy = input.repeats !== undefined ? { measurement_repeats: input.repeats } : undefined;
|
|
117
243
|
try {
|
|
118
244
|
const pipeline = await client.createPipeline(input.workspace_id, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_pipeline.js","sourceRoot":"","sources":["../../src/tools/create_pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,4DAA4D;AAC5D,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,KAAK;IACX,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,0GAA0G;IAC1G,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,8CAA8C;IAC9C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACtD,oEAAoE;IACpE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"create_pipeline.js","sourceRoot":"","sources":["../../src/tools/create_pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,22 +97,30 @@ export async function importHuggingfaceModelHandler(client, input) {
|
|
|
97
97
|
const sizeLabel = latest.size_bytes !== null
|
|
98
98
|
? `${(latest.size_bytes / 1_048_576).toFixed(1)} MB`
|
|
99
99
|
: "unknown size";
|
|
100
|
+
// Plan B / F-T6.2 — multi-part .bin imports surface every component.
|
|
101
|
+
// The legacy `artifact_id` still points at part 1 for backward compat;
|
|
102
|
+
// `artifacts` (when length > 1) is the full set.
|
|
103
|
+
const isMultiPart = Array.isArray(latest.artifacts) && latest.artifacts.length > 1;
|
|
104
|
+
const lines = [
|
|
105
|
+
`Import complete: **${input.hf_repo_id}**`,
|
|
106
|
+
``,
|
|
107
|
+
];
|
|
108
|
+
if (isMultiPart) {
|
|
109
|
+
const parts = latest.artifacts;
|
|
110
|
+
lines.push(`Imported ${parts.length} component artifacts (multi-part LLM):`, ``);
|
|
111
|
+
for (const part of parts) {
|
|
112
|
+
const partSize = part.size_bytes > 0
|
|
113
|
+
? `${(part.size_bytes / 1_048_576).toFixed(1)} MB`
|
|
114
|
+
: "unknown size";
|
|
115
|
+
lines.push(`- [${part.role}] ${part.filename} (${partSize}) — artifact_id: ${part.id}`);
|
|
116
|
+
}
|
|
117
|
+
lines.push(``, `Wire these into a pipeline via Plan B's llm_compile_source on a model entry:`, ` models: [{`, ` name: "${input.hf_repo_id}",`, ` llm_compile_source: {`, ` source_artifact_ids: [${parts.map((p) => `"${p.id}"`).join(", ")}],`, ` roles: [${parts.map((p) => `"${p.role}"`).join(", ")}],`, ` }`, ` }]`, ``, `Or compile them up-front with \`edgegate_llm_compile\` and then reference the resulting composite_artifact_id.`);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
lines.push(`- artifact_id: ${latest.artifact_id}`, `- filename: ${latest.filename ?? "(unknown)"}`, `- size: ${sizeLabel}`, ``, `Use this artifact_id in \`edgegate_create_pipeline\` to gate this model:`, ` models: [{ name: "${input.hf_repo_id}", artifact_id: "${latest.artifact_id}" }]`);
|
|
121
|
+
}
|
|
100
122
|
return {
|
|
101
|
-
content: [
|
|
102
|
-
{
|
|
103
|
-
type: "text",
|
|
104
|
-
text: [
|
|
105
|
-
`Import complete: **${input.hf_repo_id}**`,
|
|
106
|
-
``,
|
|
107
|
-
`- artifact_id: ${latest.artifact_id}`,
|
|
108
|
-
`- filename: ${latest.filename ?? "(unknown)"}`,
|
|
109
|
-
`- size: ${sizeLabel}`,
|
|
110
|
-
``,
|
|
111
|
-
`Use this artifact_id in \`edgegate_create_pipeline\` to gate this model:`,
|
|
112
|
-
` models: [{ name: "${input.hf_repo_id}", artifact_id: "${latest.artifact_id}" }]`,
|
|
113
|
-
].join("\n"),
|
|
114
|
-
},
|
|
115
|
-
],
|
|
123
|
+
content: [{ type: "text", text: lines.join("\n") }],
|
|
116
124
|
};
|
|
117
125
|
}
|
|
118
126
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import_huggingface_model.js","sourceRoot":"","sources":["../../src/tools/import_huggingface_model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7D,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC/B,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,2EAA2E,CAAC;IACvG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzD,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;CAChB,CAAC,CAAC;AAIH,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAAsB,EACtB,KAAkC;IAElC,IAAI,CAAC;QACH,MAAM,IAAI,GAAiE;YACzE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;QACF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QACjC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAE1E,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,wBAAwB,KAAK,CAAC,UAAU,KAAK;4BAC7C,EAAE;4BACF,oBAAoB,GAAG,CAAC,aAAa,EAAE;4BACvC,aAAa,GAAG,CAAC,MAAM,EAAE;4BACzB,EAAE;4BACF,0BAA0B;4BAC1B,0DAA0D,KAAK,CAAC,YAAY,mBAAmB,KAAK,CAAC,UAAU,mCAAmC;4BAClJ,EAAE;4BACF,sFAAsF;yBACvF,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/D,IAAI,MAAM,GAAgB,GAAG,CAAC;QAE9B,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;gCACJ,eAAe,KAAK,CAAC,UAAU,6BAA6B,KAAK,CAAC,gBAAgB,IAAI;gCACtF,EAAE;gCACF,oBAAoB,MAAM,CAAC,aAAa,EAAE;gCAC1C,qBAAqB,MAAM,CAAC,MAAM,EAAE;gCACpC,EAAE;gCACF,oFAAoF;gCACpF,iEAAiE;6BAClE,CAAC,IAAI,CAAC,IAAI,CAAC;yBACb;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,eAAe,KAAK,CAAC,UAAU,YAAY;4BAC3C,EAAE;4BACF,oBAAoB,MAAM,CAAC,aAAa,EAAE;4BAC1C,YAAY,MAAM,CAAC,YAAY,IAAI,eAAe,EAAE;4BACpD,EAAE;4BACF,gBAAgB;4BAChB,sFAAsF;4BACtF,qEAAqE;4BACrE,yDAAyD;yBAC1D,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,SAAS,GACb,MAAM,CAAC,UAAU,KAAK,IAAI;YACxB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YACpD,CAAC,CAAC,cAAc,CAAC;QAErB,
|
|
1
|
+
{"version":3,"file":"import_huggingface_model.js","sourceRoot":"","sources":["../../src/tools/import_huggingface_model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { EdgeGateClient } from "../client.js";
|
|
3
|
+
import type { ToolResult } from "./setup_workspace.js";
|
|
4
|
+
export declare const listEvalPacksInputSchema: z.ZodObject<{}, "strict", z.ZodTypeAny, {}, {}>;
|
|
5
|
+
export type ListEvalPacksInput = z.infer<typeof listEvalPacksInputSchema>;
|
|
6
|
+
export declare function listEvalPacksHandler(client: EdgeGateClient, _input: ListEvalPacksInput): Promise<ToolResult>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { EdgeGateError } from "../client.js";
|
|
3
|
+
import { surfaceEvalError } from "./create_eval_set.js";
|
|
4
|
+
export const listEvalPacksInputSchema = z.object({}).strict();
|
|
5
|
+
export async function listEvalPacksHandler(client, _input) {
|
|
6
|
+
try {
|
|
7
|
+
const packs = await client.listEvalPacks();
|
|
8
|
+
if (packs.length === 0) {
|
|
9
|
+
return {
|
|
10
|
+
content: [
|
|
11
|
+
{
|
|
12
|
+
type: "text",
|
|
13
|
+
text: "No bundled eval packs available. You can still create an eval set " +
|
|
14
|
+
"from scratch with `edgegate_create_eval_set` (pass explicit cases).",
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const header = `Found ${packs.length} bundled eval pack(s) you can clone from:\n\n` +
|
|
20
|
+
`| id | name | cases | must_refuse(+forbidden) | task |\n` +
|
|
21
|
+
`|---|---|---|---|---|\n`;
|
|
22
|
+
const rows = packs
|
|
23
|
+
.map((p) => {
|
|
24
|
+
const b = p.balance;
|
|
25
|
+
return `| ${p.id} | ${p.name} | ${p.case_count} | ${b.must_refuse} (${b.must_refuse_with_forbidden}) | ${b.task} |`;
|
|
26
|
+
})
|
|
27
|
+
.join("\n");
|
|
28
|
+
const footer = `\n\nClone one into a new eval set with ` +
|
|
29
|
+
`\`edgegate_create_eval_set({ workspace_id, name, clone_from: "<id>" })\`.`;
|
|
30
|
+
return { content: [{ type: "text", text: header + rows + footer }] };
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
if (err instanceof EdgeGateError)
|
|
34
|
+
return surfaceEvalError(err);
|
|
35
|
+
throw err;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=list_eval_packs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list_eval_packs.js","sourceRoot":"","sources":["../../src/tools/list_eval_packs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAI9D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAE3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,oEAAoE;4BACpE,qEAAqE;qBACxE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,SAAS,KAAK,CAAC,MAAM,+CAA+C;YACpE,0DAA0D;YAC1D,yBAAyB,CAAC;QAE5B,MAAM,IAAI,GAAG,KAAK;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpB,OAAO,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,0BAA0B,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;QACtH,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,MAAM,GACV,yCAAyC;YACzC,2EAA2E,CAAC;QAE9E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { EdgeGateClient } from "../client.js";
|
|
3
|
+
import type { ToolResult } from "./setup_workspace.js";
|
|
4
|
+
export declare const listEvalSetsInputSchema: z.ZodObject<{
|
|
5
|
+
workspace_id: z.ZodString;
|
|
6
|
+
}, "strict", z.ZodTypeAny, {
|
|
7
|
+
workspace_id: string;
|
|
8
|
+
}, {
|
|
9
|
+
workspace_id: string;
|
|
10
|
+
}>;
|
|
11
|
+
export type ListEvalSetsInput = z.infer<typeof listEvalSetsInputSchema>;
|
|
12
|
+
export declare function listEvalSetsHandler(client: EdgeGateClient, input: ListEvalSetsInput): Promise<ToolResult>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { EdgeGateError } from "../client.js";
|
|
3
|
+
import { surfaceEvalError } from "./create_eval_set.js";
|
|
4
|
+
export const listEvalSetsInputSchema = z
|
|
5
|
+
.object({
|
|
6
|
+
workspace_id: z.string().uuid(),
|
|
7
|
+
})
|
|
8
|
+
.strict();
|
|
9
|
+
export async function listEvalSetsHandler(client, input) {
|
|
10
|
+
try {
|
|
11
|
+
const sets = await client.listEvalSets(input.workspace_id);
|
|
12
|
+
if (sets.length === 0) {
|
|
13
|
+
return {
|
|
14
|
+
content: [
|
|
15
|
+
{
|
|
16
|
+
type: "text",
|
|
17
|
+
text: `No eval sets yet in this workspace.\n\n` +
|
|
18
|
+
`Create one with \`edgegate_create_eval_set\` (optionally cloning a ` +
|
|
19
|
+
`bundled pack from \`edgegate_list_eval_packs\`).`,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const header = `Found ${sets.length} eval set(s) in this workspace:\n\n` +
|
|
25
|
+
`| eval_set_id | name | latest_version | created |\n` +
|
|
26
|
+
`|---|---|---|---|\n`;
|
|
27
|
+
const rows = sets
|
|
28
|
+
.map((s) => `| ${s.id} | ${s.name} | ${s.latest_version} | ${s.created_at.slice(0, 10)} |`)
|
|
29
|
+
.join("\n");
|
|
30
|
+
return { content: [{ type: "text", text: header + rows }] };
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
if (err instanceof EdgeGateError)
|
|
34
|
+
return surfaceEvalError(err);
|
|
35
|
+
throw err;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=list_eval_sets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list_eval_sets.js","sourceRoot":"","sources":["../../src/tools/list_eval_sets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAsB,EACtB,KAAwB;IAExB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,yCAAyC;4BACzC,qEAAqE;4BACrE,kDAAkD;qBACrD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,SAAS,IAAI,CAAC,MAAM,qCAAqC;YACzD,qDAAqD;YACrD,qBAAqB,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;aAC1F,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa;YAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|