add manual virtual api key create ui

This commit is contained in:
miloschwartz
2026-08-10 21:44:22 -04:00
parent 4c1f7f6243
commit 6d45486bb5
16 changed files with 1974 additions and 18 deletions
+11 -2
View File
@@ -124,12 +124,21 @@ const listResourcesSchema = z.strictObject({
"Filter resources based on health status of their targets. `healthy` means all targets are healthy. `degraded` means at least one target is unhealthy, but not all are unhealthy. `offline` means all targets are unhealthy. `unknown` means all targets have unknown health status."
}),
protocol: z
.enum(["http", "https", "tcp", "udp", "ssh", "rdp", "vnc"])
.enum(["http", "https", "tcp", "udp", "ssh", "rdp", "vnc", "inference"])
.optional()
.catch(undefined)
.openapi({
type: "string",
enum: ["http", "https", "tcp", "udp", "ssh", "rdp", "vnc"],
enum: [
"http",
"https",
"tcp",
"udp",
"ssh",
"rdp",
"vnc",
"inference"
],
description:
"Filter resources by protocol. `http` and `https` match HTTP resources without and with SSL respectively."
}),
+17 -8
View File
@@ -4,14 +4,23 @@ export const virtualApiKeyResourceIdsSchema = z
.array(z.coerce.number().int().positive())
.optional();
export const createVirtualApiKeyBodySchema = z.strictObject({
name: z.string().nonempty(),
description: z.string().optional().nullable(),
userId: z.string().optional().nullable(),
allResources: z.boolean().optional().default(false),
resourceIds: virtualApiKeyResourceIdsSchema,
validForSeconds: z.int().positive().optional()
});
export const createVirtualApiKeyBodySchema = z
.strictObject({
name: z.string().nonempty(),
description: z.string().optional().nullable(),
userId: z.string().optional().nullable(),
allResources: z.boolean().optional().default(false),
resourceIds: virtualApiKeyResourceIdsSchema,
validForSeconds: z.int().positive().optional()
})
.refine(
(data) => data.allResources || (data.resourceIds?.length ?? 0) > 0,
{
message:
"Select at least one public inference resource, or enable all public inference resources",
path: ["resourceIds"]
}
);
export const updateVirtualApiKeyBodySchema = z.strictObject({
name: z.string().nonempty().optional(),