{
  "name": "com.l1fe.forge:forge-media",
  "language": "kotlin",
  "version": "0.1.0",
  "description": "Kotlin/JVM forge-media module.",
  "manifest": "forge-kt/forge-media/build.gradle.kts",
  "manifestSha256": "58389787b2388ec31be8534aaabd3c35b1b00c35f7385e8575443e41af49ed3a",
  "status": "source-reference",
  "registryPublicationVerified": false,
  "route": "/libraries/kotlin/forge-media",
  "features": {},
  "files": [
    {
      "path": "forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Image.kt",
      "sha256": "449e1f5e1901d3e1295867c01d603135484289c36ef8e2d0dacdd0414723652d",
      "artifactSha256": "9e35eb9312d85e9849dc7b7ecc6e268a3c482762f24ac86a3259444fbbec406d",
      "url": "/reference/source/forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Image.kt.txt",
      "declarations": [
        {
          "name": "public enum class ImageFormat",
          "line": 17,
          "signature": "public enum class ImageFormat",
          "documentation": ""
        },
        {
          "name": "public fun mimeType(): String;",
          "line": 31,
          "signature": "public fun mimeType(): String;",
          "documentation": ""
        },
        {
          "name": "public data class ImageOptions(",
          "line": 50,
          "signature": "public data class ImageOptions(\nval model: String?;",
          "documentation": ""
        },
        {
          "name": "public data class ImageResult(",
          "line": 70,
          "signature": "public data class ImageResult(\nval data: String,\nval format: ImageFormat,\nval width: Int?;",
          "documentation": ""
        },
        {
          "name": "public interface ImageProvider",
          "line": 84,
          "signature": "public interface ImageProvider",
          "documentation": ""
        },
        {
          "name": "public suspend fun generateImage(",
          "line": 94,
          "signature": "public suspend fun generateImage(\nprompt: String,\noptions: ImageOptions;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/MediaError.kt",
      "sha256": "24edec1951f2860b90c8b51f655e9fdce76f22ae81c3212c1ce72274198175dc",
      "artifactSha256": "d4716ee504243ac56e91ea774df88244aa22d6132810928818e2b16726eae20e",
      "url": "/reference/source/forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/MediaError.kt.txt",
      "declarations": [
        {
          "name": "public sealed class ForgeMediaError(",
          "line": 16,
          "signature": "public sealed class ForgeMediaError(\nmessage: String,\ncause: Throwable?;",
          "documentation": ""
        },
        {
          "name": "public class ProviderError(",
          "line": 28,
          "signature": "public class ProviderError(\npublic val provider: String,\npublic val operation: String,\npublic val reason: String,\ncause: Throwable?;",
          "documentation": ""
        },
        {
          "name": "public val provider: String,",
          "line": 29,
          "signature": "public val provider: String,\npublic val operation: String,\npublic val reason: String,\ncause: Throwable?;",
          "documentation": ""
        },
        {
          "name": "public val operation: String,",
          "line": 30,
          "signature": "public val operation: String,\npublic val reason: String,\ncause: Throwable?;",
          "documentation": ""
        },
        {
          "name": "public val reason: String,",
          "line": 31,
          "signature": "public val reason: String,\ncause: Throwable?;",
          "documentation": ""
        },
        {
          "name": "public class UnsupportedFormat(",
          "line": 44,
          "signature": "public class UnsupportedFormat(\npublic val format: String,\npublic val supportedFormats: List<String>,\n) : ForgeMediaError(\n\"unsupported media format '$format'; supported formats: $",
          "documentation": ""
        },
        {
          "name": "public val format: String,",
          "line": 45,
          "signature": "public val format: String,\npublic val supportedFormats: List<String>,\n) : ForgeMediaError(\n\"unsupported media format '$format'; supported formats: $",
          "documentation": ""
        },
        {
          "name": "public val supportedFormats: List<String>,",
          "line": 46,
          "signature": "public val supportedFormats: List<String>,\n) : ForgeMediaError(\n\"unsupported media format '$format'; supported formats: $",
          "documentation": ""
        },
        {
          "name": "public class ValidationFailed(",
          "line": 56,
          "signature": "public class ValidationFailed(\npublic val reason: String,\n) : ForgeMediaError(\"media validation failed: $reason\")\n\n/**\n* A media operation timed out.\n*\n* @property operation The operation that timed out.\n* @property timeoutMs The timeout in milliseconds.\n*/\npublic class Timeout(\npublic val operation: String,\npublic val timeoutMs: Long,\n) : ForgeMediaError(\"media operation '$operation' timed out after $",
          "documentation": ""
        },
        {
          "name": "public val reason: String,",
          "line": 57,
          "signature": "public val reason: String,\n) : ForgeMediaError(\"media validation failed: $reason\")\n\n/**\n* A media operation timed out.\n*\n* @property operation The operation that timed out.\n* @property timeoutMs The timeout in milliseconds.\n*/\npublic class Timeout(\npublic val operation: String,\npublic val timeoutMs: Long,\n) : ForgeMediaError(\"media operation '$operation' timed out after $",
          "documentation": ""
        },
        {
          "name": "public class Timeout(",
          "line": 66,
          "signature": "public class Timeout(\npublic val operation: String,\npublic val timeoutMs: Long,\n) : ForgeMediaError(\"media operation '$operation' timed out after $",
          "documentation": ""
        },
        {
          "name": "public val operation: String,",
          "line": 67,
          "signature": "public val operation: String,\npublic val timeoutMs: Long,\n) : ForgeMediaError(\"media operation '$operation' timed out after $",
          "documentation": ""
        },
        {
          "name": "public val timeoutMs: Long,",
          "line": 68,
          "signature": "public val timeoutMs: Long,\n) : ForgeMediaError(\"media operation '$operation' timed out after $",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Speech.kt",
      "sha256": "50c715c0a4f6b2676dfaa85319389e8864e9c7cb02259a8acfec780d47a2973a",
      "artifactSha256": "589f99efa4351b90742215128b7b4944e4e4a4264dc3099035a581ac45cb1782",
      "url": "/reference/source/forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Speech.kt.txt",
      "declarations": [
        {
          "name": "public enum class AudioFormat",
          "line": 17,
          "signature": "public enum class AudioFormat",
          "documentation": ""
        },
        {
          "name": "public fun mimeType(): String;",
          "line": 37,
          "signature": "public fun mimeType(): String;",
          "documentation": ""
        },
        {
          "name": "public data class SpeechOptions(",
          "line": 57,
          "signature": "public data class SpeechOptions(\nval model: String?;",
          "documentation": ""
        },
        {
          "name": "public data class SpeechResult(",
          "line": 74,
          "signature": "public data class SpeechResult(\nval data: String,\nval format: AudioFormat,\n@SerialName(\"duration_ms\")\nval durationMs: Long?;",
          "documentation": ""
        },
        {
          "name": "public interface SpeechProvider",
          "line": 86,
          "signature": "public interface SpeechProvider",
          "documentation": ""
        },
        {
          "name": "public suspend fun speak(",
          "line": 96,
          "signature": "public suspend fun speak(\ntext: String,\noptions: SpeechOptions;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Transcription.kt",
      "sha256": "7ac0fd3188d9199fc8a25d97c04546b1d37a21bee4d6bc34a949c45cd10a3690",
      "artifactSha256": "4edc1feb887ff5cdec64fbacfe909fdce18b006e0bc37c47ec0e2bc752e047cc",
      "url": "/reference/source/forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Transcription.kt.txt",
      "declarations": [
        {
          "name": "public data class TranscriptionSegment(",
          "line": 20,
          "signature": "public data class TranscriptionSegment(\nval text: String,\n@SerialName(\"start_ms\")\nval startMs: Long,\n@SerialName(\"end_ms\")\nval endMs: Long,\nval confidence: Double?;",
          "documentation": ""
        },
        {
          "name": "public data class TranscriptionOptions(",
          "line": 38,
          "signature": "public data class TranscriptionOptions(\nval model: String?;",
          "documentation": ""
        },
        {
          "name": "public data class TranscriptionResult(",
          "line": 55,
          "signature": "public data class TranscriptionResult(\nval text: String,\nval segments: List<TranscriptionSegment>;",
          "documentation": ""
        },
        {
          "name": "public interface TranscriptionProvider",
          "line": 68,
          "signature": "public interface TranscriptionProvider",
          "documentation": ""
        },
        {
          "name": "public suspend fun transcribe(",
          "line": 79,
          "signature": "public suspend fun transcribe(\naudioData: String,\naudioFormat: AudioFormat,\noptions: TranscriptionOptions;",
          "documentation": ""
        }
      ]
    },
    {
      "path": "forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Video.kt",
      "sha256": "829d9f3f9900d1f24ce9822da76b6bcca7c74700ad63b0a4c74b11a2c0aeb5b1",
      "artifactSha256": "a64cb8262984aea53ee737b72f78ea13cda45183b1c1446dbe50c05931b68c7d",
      "url": "/reference/source/forge-kt/forge-media/src/main/kotlin/com/l1fe/forge/media/Video.kt.txt",
      "declarations": [
        {
          "name": "public enum class VideoFormat",
          "line": 17,
          "signature": "public enum class VideoFormat",
          "documentation": ""
        },
        {
          "name": "public fun mimeType(): String;",
          "line": 28,
          "signature": "public fun mimeType(): String;",
          "documentation": ""
        },
        {
          "name": "public data class VideoOptions(",
          "line": 46,
          "signature": "public data class VideoOptions(\nval model: String?;",
          "documentation": ""
        },
        {
          "name": "public data class VideoResult(",
          "line": 67,
          "signature": "public data class VideoResult(\nval data: String,\nval format: VideoFormat,\nval width: Int?;",
          "documentation": ""
        },
        {
          "name": "public interface VideoProvider",
          "line": 83,
          "signature": "public interface VideoProvider",
          "documentation": ""
        },
        {
          "name": "public suspend fun generateVideo(",
          "line": 93,
          "signature": "public suspend fun generateVideo(\nprompt: String,\noptions: VideoOptions;",
          "documentation": ""
        }
      ]
    }
  ]
}
