/** * log10x_configure_env — write a customer's env into ~/.log10x/envs.json * after validating that the backend is reachable, authenticated, and * has 10x engine metrics with the expected labels. * * This is the conversational onboarding entry point. Every metric tool, * when no env is configured, returns a structured `not_configured` * response naming this tool. The agent gathers the backend details * from the user, then calls configure_env to persist. * * Validator failures DO NOT persist — the user gets the diagnostic and * re-runs after fixing. Successful validation appends an entry to * `~/.log10x/envs.json`; if no file exists, it's created. */ import { z } from 'zod'; import { type MetricsBackendConfig } from '../lib/metrics-backend.js'; import { type LabelNameMap } from '../lib/promql.js'; import { type StructuredOutput } from '../lib/output-types.js'; export declare const configureEnvSchema: { nickname: z.ZodString; metricsBackend: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{ kind: z.ZodLiteral<"log10x">; apiKey: z.ZodString; envId: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "log10x"; apiKey: string; envId: string; }, { kind: "log10x"; apiKey: string; envId: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"prometheus">; url: z.ZodString; auth: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"none">; }, "strip", z.ZodTypeAny, { type: "none"; }, { type: "none"; }>, z.ZodObject<{ type: z.ZodLiteral<"bearer">; token: z.ZodString; }, "strip", z.ZodTypeAny, { token: string; type: "bearer"; }, { token: string; type: "bearer"; }>, z.ZodObject<{ type: z.ZodLiteral<"basic">; user: z.ZodString; password: z.ZodString; }, "strip", z.ZodTypeAny, { user: string; password: string; type: "basic"; }, { user: string; password: string; type: "basic"; }>, z.ZodObject<{ type: z.ZodLiteral<"header">; name: z.ZodString; value: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; value: string; type: "header"; }, { name: string; value: string; type: "header"; }>]>; }, "strip", z.ZodTypeAny, { kind: "prometheus"; url: string; auth: { type: "none"; } | { token: string; type: "bearer"; } | { user: string; password: string; type: "basic"; } | { name: string; value: string; type: "header"; }; }, { kind: "prometheus"; url: string; auth: { type: "none"; } | { token: string; type: "bearer"; } | { user: string; password: string; type: "basic"; } | { name: string; value: string; type: "header"; }; }>, z.ZodObject<{ kind: z.ZodLiteral<"mimir">; url: z.ZodString; auth: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"none">; }, "strip", z.ZodTypeAny, { type: "none"; }, { type: "none"; }>, z.ZodObject<{ type: z.ZodLiteral<"bearer">; token: z.ZodString; }, "strip", z.ZodTypeAny, { token: string; type: "bearer"; }, { token: string; type: "bearer"; }>, z.ZodObject<{ type: z.ZodLiteral<"basic">; user: z.ZodString; password: z.ZodString; }, "strip", z.ZodTypeAny, { user: string; password: string; type: "basic"; }, { user: string; password: string; type: "basic"; }>, z.ZodObject<{ type: z.ZodLiteral<"header">; name: z.ZodString; value: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; value: string; type: "header"; }, { name: string; value: string; type: "header"; }>]>; orgId: z.ZodOptional; }, "strip", z.ZodTypeAny, { kind: "mimir"; url: string; auth: { type: "none"; } | { token: string; type: "bearer"; } | { user: string; password: string; type: "basic"; } | { name: string; value: string; type: "header"; }; orgId?: string | undefined; }, { kind: "mimir"; url: string; auth: { type: "none"; } | { token: string; type: "bearer"; } | { user: string; password: string; type: "basic"; } | { name: string; value: string; type: "header"; }; orgId?: string | undefined; }>, z.ZodObject<{ kind: z.ZodLiteral<"cortex">; url: z.ZodString; auth: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"none">; }, "strip", z.ZodTypeAny, { type: "none"; }, { type: "none"; }>, z.ZodObject<{ type: z.ZodLiteral<"bearer">; token: z.ZodString; }, "strip", z.ZodTypeAny, { token: string; type: "bearer"; }, { token: string; type: "bearer"; }>, z.ZodObject<{ type: z.ZodLiteral<"basic">; user: z.ZodString; password: z.ZodString; }, "strip", z.ZodTypeAny, { user: string; password: string; type: "basic"; }, { user: string; password: string; type: "basic"; }>, z.ZodObject<{ type: z.ZodLiteral<"header">; name: z.ZodString; value: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; value: string; type: "header"; }, { name: string; value: string; type: "header"; }>]>; orgId: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "cortex"; url: string; auth: { type: "none"; } | { token: string; type: "bearer"; } | { user: string; password: string; type: "basic"; } | { name: string; value: string; type: "header"; }; orgId: string; }, { kind: "cortex"; url: string; auth: { type: "none"; } | { token: string; type: "bearer"; } | { user: string; password: string; type: "basic"; } | { name: string; value: string; type: "header"; }; orgId: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"amp">; url: z.ZodString; region: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "amp"; url: string; region: string; }, { kind: "amp"; url: string; region: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"datadog">; site: z.ZodString; apiKey: z.ZodString; appKey: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "datadog"; apiKey: string; site: string; appKey: string; }, { kind: "datadog"; apiKey: string; site: string; appKey: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"grafana_cloud_prom">; url: z.ZodString; user: z.ZodString; apiKey: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "grafana_cloud_prom"; apiKey: string; url: string; user: string; }, { kind: "grafana_cloud_prom"; apiKey: string; url: string; user: string; }>, z.ZodObject<{ kind: z.ZodLiteral<"gcp_managed_prom">; url: z.ZodString; projectId: z.ZodString; }, "strip", z.ZodTypeAny, { kind: "gcp_managed_prom"; url: string; projectId: string; }, { kind: "gcp_managed_prom"; url: string; projectId: string; }>]>; labels: z.ZodOptional; service: z.ZodOptional; severity: z.ZodOptional; env: z.ZodOptional; }, "strip", z.ZodTypeAny, { service?: string | undefined; env?: string | undefined; pattern?: string | undefined; severity?: string | undefined; }, { service?: string | undefined; env?: string | undefined; pattern?: string | undefined; severity?: string | undefined; }>>; isDefault: z.ZodOptional; validateOnly: z.ZodOptional; }; interface ConfigureEnvArgs { nickname: string; metricsBackend: MetricsBackendConfig; labels?: Partial; isDefault?: boolean; validateOnly?: boolean; } export declare function executeConfigureEnv(args: ConfigureEnvArgs): Promise; export {};