'use strict';

var chunkGFP7IMFR_cjs = require('./chunk-GFP7IMFR.cjs');
var chunkWYLVJSGR_cjs = require('./chunk-WYLVJSGR.cjs');
var chunkPFKYMKIH_cjs = require('./chunk-PFKYMKIH.cjs');
var v4 = require('zod/v4');

var mcpClientToolsConfigSchema = v4.z.object({
  tools: v4.z.record(v4.z.string(), chunkWYLVJSGR_cjs.toolConfigSchema).optional()
});
var agentVersionPathParams = v4.z.object({
  agentId: v4.z.string().describe("Unique identifier for the stored agent")
});
var versionIdPathParams = v4.z.object({
  agentId: v4.z.string().describe("Unique identifier for the stored agent"),
  versionId: v4.z.string().describe("Unique identifier for the version (UUID)")
});
var agentVersionSchema = v4.z.object({
  id: v4.z.string().describe("Unique identifier for the version (UUID)"),
  agentId: v4.z.string().describe("ID of the agent this version belongs to"),
  versionNumber: v4.z.number().describe("Sequential version number (1, 2, 3, ...)"),
  // Top-level config fields (from StorageAgentSnapshotType)
  name: v4.z.string().describe("Name of the agent"),
  description: v4.z.string().optional().describe("Description of the agent"),
  instructions: chunkWYLVJSGR_cjs.instructionsSchema,
  model: chunkWYLVJSGR_cjs.conditionalFieldSchema(chunkWYLVJSGR_cjs.modelConfigSchema).describe(
    "Model configuration \u2014 static value or array of conditional variants"
  ),
  tools: chunkWYLVJSGR_cjs.conditionalFieldSchema(chunkWYLVJSGR_cjs.toolsConfigSchema).optional().describe("Tool keys mapped to per-tool config \u2014 static or conditional"),
  defaultOptions: chunkWYLVJSGR_cjs.conditionalFieldSchema(chunkPFKYMKIH_cjs.defaultOptionsSchema).optional().describe("Default options for generate/stream calls \u2014 static or conditional"),
  workflows: chunkWYLVJSGR_cjs.conditionalFieldSchema(v4.z.record(v4.z.string(), chunkWYLVJSGR_cjs.toolConfigSchema)).optional().describe("Workflow keys with optional per-workflow config \u2014 static or conditional"),
  agents: chunkWYLVJSGR_cjs.conditionalFieldSchema(v4.z.record(v4.z.string(), chunkWYLVJSGR_cjs.toolConfigSchema)).optional().describe("Agent keys with optional per-agent config \u2014 static or conditional"),
  integrationTools: chunkWYLVJSGR_cjs.conditionalFieldSchema(v4.z.record(v4.z.string(), mcpClientToolsConfigSchema)).optional().describe("Map of tool provider IDs to their tool configurations \u2014 static or conditional"),
  mcpClients: chunkWYLVJSGR_cjs.conditionalFieldSchema(v4.z.record(v4.z.string(), mcpClientToolsConfigSchema)).optional().describe("Map of stored MCP client IDs to their tool configurations \u2014 static or conditional"),
  inputProcessors: chunkWYLVJSGR_cjs.conditionalFieldSchema(chunkWYLVJSGR_cjs.storedProcessorGraphSchema).optional().describe("Input processor graph \u2014 static or conditional"),
  outputProcessors: chunkWYLVJSGR_cjs.conditionalFieldSchema(chunkWYLVJSGR_cjs.storedProcessorGraphSchema).optional().describe("Output processor graph \u2014 static or conditional"),
  memory: chunkWYLVJSGR_cjs.conditionalFieldSchema(chunkWYLVJSGR_cjs.serializedMemoryConfigSchema).optional().describe("Memory configuration \u2014 static or conditional"),
  scorers: chunkWYLVJSGR_cjs.conditionalFieldSchema(v4.z.record(v4.z.string(), chunkWYLVJSGR_cjs.scorerConfigSchema)).optional().describe("Scorer keys with optional sampling config \u2014 static or conditional"),
  requestContextSchema: v4.z.record(v4.z.string(), v4.z.unknown()).optional().describe("JSON Schema defining valid request context variables"),
  // Version metadata fields
  changedFields: v4.z.array(v4.z.string()).optional().describe("Array of field names that changed from the previous version"),
  changeMessage: v4.z.string().optional().describe("Optional message describing the changes"),
  createdAt: v4.z.coerce.date().describe("When this version was created")
});
var listVersionsResponseSchema = chunkGFP7IMFR_cjs.createListVersionsResponseSchema(agentVersionSchema);
var getVersionResponseSchema = agentVersionSchema;
var createVersionResponseSchema = agentVersionSchema.partial().merge(
  v4.z.object({
    // These fields are always present in a version response
    id: v4.z.string().describe("Unique identifier for the version (UUID)"),
    agentId: v4.z.string().describe("ID of the agent this version belongs to"),
    versionNumber: v4.z.number().describe("Sequential version number (1, 2, 3, ...)"),
    createdAt: v4.z.coerce.date().describe("When this version was created")
  })
);
var restoreVersionResponseSchema = agentVersionSchema.describe(
  "The newly created version from the restored configuration"
);
var compareVersionsResponseSchema = chunkGFP7IMFR_cjs.createCompareVersionsResponseSchema(agentVersionSchema);

exports.agentVersionPathParams = agentVersionPathParams;
exports.agentVersionSchema = agentVersionSchema;
exports.compareVersionsResponseSchema = compareVersionsResponseSchema;
exports.createVersionResponseSchema = createVersionResponseSchema;
exports.getVersionResponseSchema = getVersionResponseSchema;
exports.listVersionsResponseSchema = listVersionsResponseSchema;
exports.restoreVersionResponseSchema = restoreVersionResponseSchema;
exports.versionIdPathParams = versionIdPathParams;
//# sourceMappingURL=chunk-73MISLDN.cjs.map
//# sourceMappingURL=chunk-73MISLDN.cjs.map