/**
 * Copyright IBM Corp. 2024, 2025
 */

import { z } from 'zod';
import { BaseModel } from './shared.schema.js';

export const EnvironmentSpecVariableSchema = z.object({
  key: z.string(),
  value: z.any().refine((val) => val !== undefined, {
    message: 'value is required in environment',
  }),
  isSecret: z.boolean().default(false),
});

export const EnvironmentSchema = BaseModel.extend({
  kind: z.literal('environment'),
  spec: z.object({
    variables: z.array(EnvironmentSpecVariableSchema),
  }),
});
