/** * Three env-config management tools, all reading/writing the same * EnvironmentConfig document (src/lib/env-config/types.ts): * * log10x_dest_set — mutate the SIEM destination block on an * env doc (siem_vendor, region, * log_group_prefix, ingest_url). * log10x_env_validate — schema-parse the stored doc and run * cross-field sanity checks (e.g., does * the streamer's region match the SIEM's * region, are required vendor-specific * fields present, do offload destinations * align with the cluster's cloud). * log10x_env_diff_vs_envvars — compare the stored doc against the * LOG10X_* env vars the bridge would have * produced, and report each disagreement * with a remediation recommendation. * * Why grouped: all three operate on the env-config document (env_id keyed), * not on the legacy `~/.log10x/envs.json` metrics-backend list. They share * the resolver store-chain and the same EnvironmentConfig zod schema so a * single file keeps the contract obvious. * * Store choice: all three walk the SAME store chain that `log10x_env_register` * writes through (k8s ConfigMap → AWS SSM → GCP Secret Manager → Azure * App Config → local file). Writers and readers MUST agree on the backing * store — when env_register persists a doc to a k8s ConfigMap, env_diff_vs_envvars * and env_validate read from k8s, and dest_set writes back to k8s. Hardcoding * the LocalFileStore here is the bug that motivated this refactor: env_register * wrote to k8s, the manage tools read from local, and the manage tools returned * "no env doc found" against a freshly-registered doc. * * The `stores` parameter on each executor is for tests — production callers * leave it undefined and inherit the default chain. */ import { z } from 'zod'; import { type SiemDestination } from '../lib/env-config/types.js'; import type { EnvConfigStore } from '../lib/env-config/store-interface.js'; import { type StructuredOutput } from '../lib/output-types.js'; export declare const destSetSchema: { env_id: z.ZodString; siem_vendor: z.ZodEnum<["splunk", "datadog", "elasticsearch", "clickhouse", "cloudwatch", "azure-monitor", "gcp-logging", "sumo", "coralogix", "elastic-serverless", "other"]>; region: z.ZodOptional; log_group_prefix: z.ZodOptional; ingest_url: z.ZodOptional; }; interface DestSetArgs { env_id: string; siem_vendor: SiemDestination['siem_vendor']; region?: string; log_group_prefix?: string; ingest_url?: string; } export declare function executeDestSet(args: DestSetArgs, storesOverride?: EnvConfigStore[]): Promise; export declare const envValidateSchema: { env_id: z.ZodString; }; interface EnvValidateArgs { env_id: string; } export declare function executeEnvValidate(args: EnvValidateArgs, storesOverride?: EnvConfigStore[]): Promise; export declare const envDiffVsEnvvarsSchema: { env_id: z.ZodString; }; interface EnvDiffArgs { env_id: string; } export declare function executeEnvDiffVsEnvvars(args: EnvDiffArgs, storesOverride?: EnvConfigStore[]): Promise; export {};