{"version":3,"sources":["../src/storage/domains/scorer-definitions/base.ts","../src/storage/domains/scorer-definitions/inmemory.ts","../src/storage/domains/scorer-definitions/filesystem.ts"],"names":["VersionedStorageDomain","normalizePerPage","deepEqual","calculatePagination","version","FilesystemVersionedHelpers"],"mappings":"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","file":"chunk-YOXBFIMG.cjs","sourcesContent":["import type {\n  StorageScorerDefinitionType,\n  StorageScorerDefinitionSnapshotType,\n  StorageResolvedScorerDefinitionType,\n  StorageCreateScorerDefinitionInput,\n  StorageUpdateScorerDefinitionInput,\n  StorageListScorerDefinitionsInput,\n  StorageListScorerDefinitionsOutput,\n  StorageListScorerDefinitionsResolvedOutput,\n} from '../../types';\nimport { VersionedStorageDomain } from '../versioned';\nimport type { VersionBase, CreateVersionInputBase, ListVersionsInputBase, ListVersionsOutputBase } from '../versioned';\n\n// ============================================================================\n// Scorer Definition Version Types\n// ============================================================================\n\n/**\n * Represents a stored version of a scorer definition's content.\n * Config fields are top-level on the version row (no nested snapshot object).\n */\nexport interface ScorerDefinitionVersion extends StorageScorerDefinitionSnapshotType, VersionBase {\n  /** ID of the scorer definition this version belongs to */\n  scorerDefinitionId: string;\n}\n\n/**\n * Input for creating a new scorer definition version.\n * Config fields are top-level (no nested snapshot object).\n */\nexport interface CreateScorerDefinitionVersionInput\n  extends StorageScorerDefinitionSnapshotType, CreateVersionInputBase {\n  /** ID of the scorer definition this version belongs to */\n  scorerDefinitionId: string;\n}\n\n/**\n * Sort direction for version listings.\n */\nexport type ScorerDefinitionVersionSortDirection = 'ASC' | 'DESC';\n\n/**\n * Fields that can be used for ordering version listings.\n */\nexport type ScorerDefinitionVersionOrderBy = 'versionNumber' | 'createdAt';\n\n/**\n * Input for listing scorer definition versions with pagination and sorting.\n */\nexport interface ListScorerDefinitionVersionsInput extends ListVersionsInputBase {\n  /** ID of the scorer definition to list versions for */\n  scorerDefinitionId: string;\n}\n\n/**\n * Output for listing scorer definition versions with pagination info.\n */\nexport interface ListScorerDefinitionVersionsOutput extends ListVersionsOutputBase<ScorerDefinitionVersion> {}\n\n// ============================================================================\n// ScorerDefinitionsStorage Base Class\n// ============================================================================\n\nexport abstract class ScorerDefinitionsStorage extends VersionedStorageDomain<\n  StorageScorerDefinitionType,\n  StorageScorerDefinitionSnapshotType,\n  StorageResolvedScorerDefinitionType,\n  ScorerDefinitionVersion,\n  CreateScorerDefinitionVersionInput,\n  ListScorerDefinitionVersionsInput,\n  ListScorerDefinitionVersionsOutput,\n  { scorerDefinition: StorageCreateScorerDefinitionInput },\n  StorageUpdateScorerDefinitionInput,\n  StorageListScorerDefinitionsInput | undefined,\n  StorageListScorerDefinitionsOutput,\n  StorageListScorerDefinitionsResolvedOutput\n> {\n  protected readonly listKey = 'scorerDefinitions';\n  protected readonly versionMetadataFields = [\n    'id',\n    'scorerDefinitionId',\n    'versionNumber',\n    'changedFields',\n    'changeMessage',\n    'createdAt',\n  ] satisfies (keyof ScorerDefinitionVersion)[];\n\n  constructor() {\n    super({\n      component: 'STORAGE',\n      name: 'SCORER_DEFINITIONS',\n    });\n  }\n}\n","import { deepEqual } from '../../../utils';\nimport { normalizePerPage, calculatePagination } from '../../base';\nimport type {\n  StorageScorerDefinitionType,\n  StorageCreateScorerDefinitionInput,\n  StorageUpdateScorerDefinitionInput,\n  StorageListScorerDefinitionsInput,\n  StorageListScorerDefinitionsOutput,\n  ThreadOrderBy,\n  ThreadSortDirection,\n} from '../../types';\nimport type { InMemoryDB } from '../inmemory-db';\nimport type {\n  ScorerDefinitionVersion,\n  CreateScorerDefinitionVersionInput,\n  ListScorerDefinitionVersionsInput,\n  ListScorerDefinitionVersionsOutput,\n  ScorerDefinitionVersionOrderBy,\n  ScorerDefinitionVersionSortDirection,\n} from './base';\nimport { ScorerDefinitionsStorage } from './base';\n\nexport class InMemoryScorerDefinitionsStorage extends ScorerDefinitionsStorage {\n  private db: InMemoryDB;\n\n  constructor({ db }: { db: InMemoryDB }) {\n    super();\n    this.db = db;\n  }\n\n  async dangerouslyClearAll(): Promise<void> {\n    this.db.scorerDefinitions.clear();\n    this.db.scorerDefinitionVersions.clear();\n  }\n\n  // ==========================================================================\n  // Scorer Definition CRUD Methods\n  // ==========================================================================\n\n  async getById(id: string): Promise<StorageScorerDefinitionType | null> {\n    const scorer = this.db.scorerDefinitions.get(id);\n    return scorer ? this.deepCopyScorer(scorer) : null;\n  }\n\n  async create(input: { scorerDefinition: StorageCreateScorerDefinitionInput }): Promise<StorageScorerDefinitionType> {\n    const { scorerDefinition } = input;\n\n    if (this.db.scorerDefinitions.has(scorerDefinition.id)) {\n      throw new Error(`Scorer definition with id ${scorerDefinition.id} already exists`);\n    }\n\n    const now = new Date();\n    const newScorer: StorageScorerDefinitionType = {\n      id: scorerDefinition.id,\n      status: 'draft',\n      activeVersionId: undefined,\n      authorId: scorerDefinition.authorId,\n      metadata: scorerDefinition.metadata,\n      createdAt: now,\n      updatedAt: now,\n    };\n\n    this.db.scorerDefinitions.set(scorerDefinition.id, newScorer);\n\n    // Extract config fields from the flat input (everything except scorer-record fields)\n    const { id: _id, authorId: _authorId, metadata: _metadata, ...snapshotConfig } = scorerDefinition;\n\n    // Create version 1 from the config\n    const versionId = crypto.randomUUID();\n    await this.createVersion({\n      id: versionId,\n      scorerDefinitionId: scorerDefinition.id,\n      versionNumber: 1,\n      ...snapshotConfig,\n      changedFields: Object.keys(snapshotConfig),\n      changeMessage: 'Initial version',\n    });\n\n    // Return the thin scorer record\n    return this.deepCopyScorer(newScorer);\n  }\n\n  async update(input: StorageUpdateScorerDefinitionInput): Promise<StorageScorerDefinitionType> {\n    const { id, ...updates } = input;\n\n    const existingScorer = this.db.scorerDefinitions.get(id);\n    if (!existingScorer) {\n      throw new Error(`Scorer definition with id ${id} not found`);\n    }\n\n    // Separate metadata fields from config fields\n    const { authorId, activeVersionId, metadata, status } = updates;\n\n    // Update metadata fields on the scorer record\n    const updatedScorer: StorageScorerDefinitionType = {\n      ...existingScorer,\n      ...(authorId !== undefined && { authorId }),\n      ...(activeVersionId !== undefined && { activeVersionId }),\n      ...(status !== undefined && { status: status as StorageScorerDefinitionType['status'] }),\n      ...(metadata !== undefined && {\n        metadata: { ...existingScorer.metadata, ...metadata },\n      }),\n      updatedAt: new Date(),\n    };\n\n    // Save the updated scorer record\n    this.db.scorerDefinitions.set(id, updatedScorer);\n    return this.deepCopyScorer(updatedScorer);\n  }\n\n  async delete(id: string): Promise<void> {\n    // Idempotent delete\n    this.db.scorerDefinitions.delete(id);\n    // Also delete all versions for this scorer definition\n    await this.deleteVersionsByParentId(id);\n  }\n\n  async list(args?: StorageListScorerDefinitionsInput): Promise<StorageListScorerDefinitionsOutput> {\n    const { page = 0, perPage: perPageInput, orderBy, authorId, metadata, status } = args || {};\n    const { field, direction } = this.parseOrderBy(orderBy);\n\n    // Normalize perPage for query (false → MAX_SAFE_INTEGER, 0 → 0, undefined → 100)\n    const perPage = normalizePerPage(perPageInput, 100);\n\n    if (page < 0) {\n      throw new Error('page must be >= 0');\n    }\n\n    // Prevent unreasonably large page values\n    const maxOffset = Number.MAX_SAFE_INTEGER / 2;\n    if (page * perPage > maxOffset) {\n      throw new Error('page value too large');\n    }\n\n    // Get all scorer definitions and apply filters\n    let scorers = Array.from(this.db.scorerDefinitions.values());\n\n    // Filter by status\n    if (status) {\n      scorers = scorers.filter(scorer => scorer.status === status);\n    }\n\n    // Filter by authorId if provided\n    if (authorId !== undefined) {\n      scorers = scorers.filter(scorer => scorer.authorId === authorId);\n    }\n\n    // Filter by metadata if provided (AND logic)\n    if (metadata && Object.keys(metadata).length > 0) {\n      scorers = scorers.filter(scorer => {\n        if (!scorer.metadata) return false;\n        return Object.entries(metadata).every(([key, value]) => deepEqual(scorer.metadata![key], value));\n      });\n    }\n\n    // Sort filtered scorer definitions\n    const sortedScorers = this.sortScorers(scorers, field, direction);\n\n    // Deep clone scorers to avoid mutation\n    const clonedScorers = sortedScorers.map(scorer => this.deepCopyScorer(scorer));\n\n    const { offset, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);\n\n    return {\n      scorerDefinitions: clonedScorers.slice(offset, offset + perPage),\n      total: clonedScorers.length,\n      page,\n      perPage: perPageForResponse,\n      hasMore: offset + perPage < clonedScorers.length,\n    };\n  }\n\n  // ==========================================================================\n  // Scorer Definition Version Methods\n  // ==========================================================================\n\n  async createVersion(input: CreateScorerDefinitionVersionInput): Promise<ScorerDefinitionVersion> {\n    // Check if version with this ID already exists\n    if (this.db.scorerDefinitionVersions.has(input.id)) {\n      throw new Error(`Version with id ${input.id} already exists`);\n    }\n\n    // Check for duplicate (scorerDefinitionId, versionNumber) pair\n    for (const version of this.db.scorerDefinitionVersions.values()) {\n      if (version.scorerDefinitionId === input.scorerDefinitionId && version.versionNumber === input.versionNumber) {\n        throw new Error(\n          `Version number ${input.versionNumber} already exists for scorer definition ${input.scorerDefinitionId}`,\n        );\n      }\n    }\n\n    const version: ScorerDefinitionVersion = {\n      ...input,\n      createdAt: new Date(),\n    };\n\n    // Deep clone before storing\n    this.db.scorerDefinitionVersions.set(input.id, this.deepCopyVersion(version));\n    return this.deepCopyVersion(version);\n  }\n\n  async getVersion(id: string): Promise<ScorerDefinitionVersion | null> {\n    const version = this.db.scorerDefinitionVersions.get(id);\n    return version ? this.deepCopyVersion(version) : null;\n  }\n\n  async getVersionByNumber(scorerDefinitionId: string, versionNumber: number): Promise<ScorerDefinitionVersion | null> {\n    for (const version of this.db.scorerDefinitionVersions.values()) {\n      if (version.scorerDefinitionId === scorerDefinitionId && version.versionNumber === versionNumber) {\n        return this.deepCopyVersion(version);\n      }\n    }\n    return null;\n  }\n\n  async getLatestVersion(scorerDefinitionId: string): Promise<ScorerDefinitionVersion | null> {\n    let latest: ScorerDefinitionVersion | null = null;\n    for (const version of this.db.scorerDefinitionVersions.values()) {\n      if (version.scorerDefinitionId === scorerDefinitionId) {\n        if (!latest || version.versionNumber > latest.versionNumber) {\n          latest = version;\n        }\n      }\n    }\n    return latest ? this.deepCopyVersion(latest) : null;\n  }\n\n  async listVersions(input: ListScorerDefinitionVersionsInput): Promise<ListScorerDefinitionVersionsOutput> {\n    const { scorerDefinitionId, page = 0, perPage: perPageInput, orderBy } = input;\n    const { field, direction } = this.parseVersionOrderBy(orderBy);\n\n    // Normalize perPage (false -> MAX_SAFE_INTEGER, 0 -> 0, undefined -> 20)\n    const perPage = normalizePerPage(perPageInput, 20);\n\n    if (page < 0) {\n      throw new Error('page must be >= 0');\n    }\n\n    const maxOffset = Number.MAX_SAFE_INTEGER / 2;\n    if (page * perPage > maxOffset) {\n      throw new Error('page value too large');\n    }\n\n    // Filter versions by scorerDefinitionId\n    let versions = Array.from(this.db.scorerDefinitionVersions.values()).filter(\n      v => v.scorerDefinitionId === scorerDefinitionId,\n    );\n\n    // Sort versions\n    versions = this.sortVersions(versions, field, direction);\n\n    // Deep clone\n    const clonedVersions = versions.map(v => this.deepCopyVersion(v));\n\n    const total = clonedVersions.length;\n    const { offset, perPage: perPageForResponse } = calculatePagination(page, perPageInput, perPage);\n    const paginatedVersions = clonedVersions.slice(offset, offset + perPage);\n\n    return {\n      versions: paginatedVersions,\n      total,\n      page,\n      perPage: perPageForResponse,\n      hasMore: offset + perPage < total,\n    };\n  }\n\n  async deleteVersion(id: string): Promise<void> {\n    this.db.scorerDefinitionVersions.delete(id);\n  }\n\n  async deleteVersionsByParentId(entityId: string): Promise<void> {\n    const idsToDelete: string[] = [];\n    for (const [id, version] of this.db.scorerDefinitionVersions.entries()) {\n      if (version.scorerDefinitionId === entityId) {\n        idsToDelete.push(id);\n      }\n    }\n\n    for (const id of idsToDelete) {\n      this.db.scorerDefinitionVersions.delete(id);\n    }\n  }\n\n  async countVersions(scorerDefinitionId: string): Promise<number> {\n    let count = 0;\n    for (const version of this.db.scorerDefinitionVersions.values()) {\n      if (version.scorerDefinitionId === scorerDefinitionId) {\n        count++;\n      }\n    }\n    return count;\n  }\n\n  // ==========================================================================\n  // Private Helper Methods\n  // ==========================================================================\n\n  private deepCopyScorer(scorer: StorageScorerDefinitionType): StorageScorerDefinitionType {\n    return {\n      ...scorer,\n      metadata: scorer.metadata ? { ...scorer.metadata } : scorer.metadata,\n    };\n  }\n\n  private deepCopyVersion(version: ScorerDefinitionVersion): ScorerDefinitionVersion {\n    return {\n      ...version,\n      model: version.model ? JSON.parse(JSON.stringify(version.model)) : version.model,\n      scoreRange: version.scoreRange ? JSON.parse(JSON.stringify(version.scoreRange)) : version.scoreRange,\n      presetConfig: version.presetConfig ? JSON.parse(JSON.stringify(version.presetConfig)) : version.presetConfig,\n      defaultSampling: version.defaultSampling\n        ? JSON.parse(JSON.stringify(version.defaultSampling))\n        : version.defaultSampling,\n      changedFields: version.changedFields ? [...version.changedFields] : version.changedFields,\n    };\n  }\n\n  private sortScorers(\n    scorers: StorageScorerDefinitionType[],\n    field: ThreadOrderBy,\n    direction: ThreadSortDirection,\n  ): StorageScorerDefinitionType[] {\n    return scorers.sort((a, b) => {\n      const aValue = a[field].getTime();\n      const bValue = b[field].getTime();\n\n      return direction === 'ASC' ? aValue - bValue : bValue - aValue;\n    });\n  }\n\n  private sortVersions(\n    versions: ScorerDefinitionVersion[],\n    field: ScorerDefinitionVersionOrderBy,\n    direction: ScorerDefinitionVersionSortDirection,\n  ): ScorerDefinitionVersion[] {\n    return versions.sort((a, b) => {\n      let aVal: number;\n      let bVal: number;\n\n      if (field === 'createdAt') {\n        aVal = a.createdAt.getTime();\n        bVal = b.createdAt.getTime();\n      } else {\n        // versionNumber\n        aVal = a.versionNumber;\n        bVal = b.versionNumber;\n      }\n\n      return direction === 'ASC' ? aVal - bVal : bVal - aVal;\n    });\n  }\n}\n","import type { FilesystemDB } from '../../filesystem-db';\nimport { FilesystemVersionedHelpers } from '../../filesystem-versioned';\nimport type {\n  StorageScorerDefinitionType,\n  StorageCreateScorerDefinitionInput,\n  StorageUpdateScorerDefinitionInput,\n  StorageListScorerDefinitionsInput,\n  StorageListScorerDefinitionsOutput,\n} from '../../types';\nimport type {\n  ScorerDefinitionVersion,\n  CreateScorerDefinitionVersionInput,\n  ListScorerDefinitionVersionsInput,\n  ListScorerDefinitionVersionsOutput,\n} from './base';\nimport { ScorerDefinitionsStorage } from './base';\n\nexport class FilesystemScorerDefinitionsStorage extends ScorerDefinitionsStorage {\n  private helpers: FilesystemVersionedHelpers<StorageScorerDefinitionType, ScorerDefinitionVersion>;\n\n  constructor({ db }: { db: FilesystemDB }) {\n    super();\n    this.helpers = new FilesystemVersionedHelpers({\n      db,\n      entitiesFile: 'scorer-definitions.json',\n      parentIdField: 'scorerDefinitionId',\n      name: 'FilesystemScorerDefinitionsStorage',\n      versionMetadataFields: [\n        'id',\n        'scorerDefinitionId',\n        'versionNumber',\n        'changedFields',\n        'changeMessage',\n        'createdAt',\n      ],\n    });\n  }\n\n  override async init(): Promise<void> {\n    await this.helpers.db.init();\n  }\n\n  async dangerouslyClearAll(): Promise<void> {\n    await this.helpers.dangerouslyClearAll();\n  }\n\n  async getById(id: string): Promise<StorageScorerDefinitionType | null> {\n    return this.helpers.getById(id);\n  }\n\n  async create(input: { scorerDefinition: StorageCreateScorerDefinitionInput }): Promise<StorageScorerDefinitionType> {\n    const { scorerDefinition } = input;\n    const now = new Date();\n    const entity: StorageScorerDefinitionType = {\n      id: scorerDefinition.id,\n      status: 'draft',\n      activeVersionId: undefined,\n      authorId: scorerDefinition.authorId,\n      metadata: scorerDefinition.metadata,\n      createdAt: now,\n      updatedAt: now,\n    };\n\n    await this.helpers.createEntity(scorerDefinition.id, entity);\n\n    const { id: _id, authorId: _authorId, metadata: _metadata, ...snapshotConfig } = scorerDefinition;\n    const versionId = crypto.randomUUID();\n    await this.createVersion({\n      id: versionId,\n      scorerDefinitionId: scorerDefinition.id,\n      versionNumber: 1,\n      ...snapshotConfig,\n      changedFields: Object.keys(snapshotConfig),\n      changeMessage: 'Initial version',\n    } as CreateScorerDefinitionVersionInput);\n\n    return structuredClone(entity);\n  }\n\n  async update(input: StorageUpdateScorerDefinitionInput): Promise<StorageScorerDefinitionType> {\n    const { id, ...updates } = input;\n    return this.helpers.updateEntity(id, updates);\n  }\n\n  async delete(id: string): Promise<void> {\n    await this.helpers.deleteEntity(id);\n  }\n\n  async list(args?: StorageListScorerDefinitionsInput): Promise<StorageListScorerDefinitionsOutput> {\n    const { page, perPage, orderBy, authorId, metadata, status } = args || {};\n    const result = await this.helpers.listEntities({\n      page,\n      perPage,\n      orderBy,\n      listKey: 'scorerDefinitions',\n      filters: { authorId, metadata, status },\n    });\n    return result as unknown as StorageListScorerDefinitionsOutput;\n  }\n\n  async createVersion(input: CreateScorerDefinitionVersionInput): Promise<ScorerDefinitionVersion> {\n    return this.helpers.createVersion(input as ScorerDefinitionVersion);\n  }\n\n  async getVersion(id: string): Promise<ScorerDefinitionVersion | null> {\n    return this.helpers.getVersion(id);\n  }\n\n  async getVersionByNumber(scorerDefinitionId: string, versionNumber: number): Promise<ScorerDefinitionVersion | null> {\n    return this.helpers.getVersionByNumber(scorerDefinitionId, versionNumber);\n  }\n\n  async getLatestVersion(scorerDefinitionId: string): Promise<ScorerDefinitionVersion | null> {\n    return this.helpers.getLatestVersion(scorerDefinitionId);\n  }\n\n  async listVersions(input: ListScorerDefinitionVersionsInput): Promise<ListScorerDefinitionVersionsOutput> {\n    const result = await this.helpers.listVersions(input, 'scorerDefinitionId');\n    return result as ListScorerDefinitionVersionsOutput;\n  }\n\n  async deleteVersion(id: string): Promise<void> {\n    await this.helpers.deleteVersion(id);\n  }\n\n  async deleteVersionsByParentId(entityId: string): Promise<void> {\n    await this.helpers.deleteVersionsByParentId(entityId);\n  }\n\n  async countVersions(scorerDefinitionId: string): Promise<number> {\n    return this.helpers.countVersions(scorerDefinitionId);\n  }\n}\n"]}