[ {
  "name": "[B"
}, {
  "name": "[F"
}, {
  "name": "[I"
}, {
  "name": "[Lcom.fasterxml.jackson.databind.deser.BeanDeserializerModifier;"
}, {
  "name": "[Lcom.fasterxml.jackson.databind.deser.Deserializers;"
}, {
  "name": "[Lcom.fasterxml.jackson.databind.deser.KeyDeserializers;"
}, {
  "name": "[Lcom.fasterxml.jackson.databind.deser.ValueInstantiators;"
}, {
  "name": "[Lcom.fasterxml.jackson.databind.ser.BeanSerializerModifier;"
}, {
  "name": "[Lcom.fasterxml.jackson.databind.ser.Serializers;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.Bind;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.Capability;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.Device;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.ExposedPort;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.Link;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.LxcConf;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.PortBinding;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.Ports$Binding;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.Ulimit;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.Volume;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.VolumeBind;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.VolumeRW;"
}, {
  "name": "[Lcom.github.dockerjava.api.model.VolumesFrom;"
}, {
  "name": "[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
}, {
  "name": "[Ldev.langchain4j.model.anthropic.internal.api.AnthropicTextContent;"
}, {
  "name": "[Ldev.langchain4j.model.googleai.GeminiFunctionDeclaration;"
}, {
  "name": "[Lio.askimo.core.config.ProjectType;"
}, {
  "name": "[Ljava.lang.Object;"
}, {
  "name": "[Ljava.lang.String;"
}, {
  "name": "[Ljava.lang.constant.ClassDesc;"
}, {
  "name": "[Ljava.lang.constant.ConstantDesc;"
}, {
  "name": "[Ljava.sql.Statement;"
}, {
  "name": "[Lnet.bytebuddy.description.enumeration.EnumerationDescription;"
}, {
  "name": "[Lorg.testcontainers.shaded.com.fasterxml.jackson.databind.deser.BeanDeserializerModifier;"
}, {
  "name": "[Lsun.security.pkcs.SignerInfo;"
}, {
  "name": "apple.security.AppleProvider",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "ch.qos.logback.classic.encoder.PatternLayoutEncoder",
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "ch.qos.logback.classic.util.DefaultJoranConfigurator",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "ch.qos.logback.core.ConsoleAppender",
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "ch.qos.logback.core.FileAppender",
  "methods": [ {
    "name": "valueOf",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "ch.qos.logback.core.OutputStreamAppender",
  "methods": [ {
    "name": "setEncoder",
    "parameterTypes": [ "ch.qos.logback.core.encoder.Encoder" ]
  } ]
}, {
  "name": "ch.qos.logback.core.encoder.Encoder",
  "methods": [ {
    "name": "valueOf",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "ch.qos.logback.core.encoder.LayoutWrappingEncoder",
  "methods": [ {
    "name": "setParent",
    "parameterTypes": [ "ch.qos.logback.core.spi.ContextAware" ]
  } ]
}, {
  "name": "ch.qos.logback.core.pattern.PatternLayoutEncoderBase",
  "methods": [ {
    "name": "setPattern",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "ch.qos.logback.core.rolling.RollingFileAppender",
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setFile",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "setRollingPolicy",
    "parameterTypes": [ "ch.qos.logback.core.rolling.RollingPolicy" ]
  } ]
}, {
  "name": "ch.qos.logback.core.rolling.RollingPolicy",
  "methods": [ {
    "name": "valueOf",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "ch.qos.logback.core.rolling.RollingPolicyBase",
  "methods": [ {
    "name": "setFileNamePattern",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "setParent",
    "parameterTypes": [ "ch.qos.logback.core.FileAppender" ]
  } ]
}, {
  "name": "ch.qos.logback.core.rolling.TimeBasedRollingPolicy",
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setMaxHistory",
    "parameterTypes": [ "int" ]
  }, {
    "name": "setTotalSizeCap",
    "parameterTypes": [ "ch.qos.logback.core.util.FileSize" ]
  } ]
}, {
  "name": "ch.qos.logback.core.spi.ContextAware",
  "methods": [ {
    "name": "valueOf",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "ch.qos.logback.core.util.FileSize",
  "methods": [ {
    "name": "valueOf",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "com.fasterxml.jackson.databind.PropertyNamingStrategies$SnakeCaseStrategy",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.fasterxml.jackson.databind.ext.Java7SupportImpl",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.BLCHeader$DrainStatusRef",
  "fields": [ {
    "name": "drainStatus"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueColdProducerFields",
  "fields": [ {
    "name": "producerLimit"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueConsumerFields",
  "fields": [ {
    "name": "consumerIndex"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueProducerFields",
  "fields": [ {
    "name": "producerIndex"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.BoundedLocalCache",
  "fields": [ {
    "name": "refreshes"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.PS",
  "fields": [ {
    "name": "key"
  }, {
    "name": "value"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.PSA",
  "fields": [ {
    "name": "accessTime"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.PSAMS",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.PSW",
  "fields": [ {
    "name": "writeTime"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.PSWMS",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.SSLMS",
  "fields": [ {
    "name": "maximum"
  }, {
    "name": "weightedSize"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.SSLMSA",
  "fields": [ {
    "name": "FACTORY"
  }, {
    "name": "expiresAfterAccessNanos"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.SSLMSW",
  "fields": [ {
    "name": "FACTORY"
  }, {
    "name": "expiresAfterWriteNanos"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.SSMS",
  "fields": [ {
    "name": "maximum"
  }, {
    "name": "weightedSize"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.SSMSW",
  "fields": [ {
    "name": "FACTORY"
  }, {
    "name": "expiresAfterWriteNanos"
  } ]
}, {
  "name": "com.github.benmanes.caffeine.cache.StripedBuffer",
  "fields": [ {
    "name": "tableBusy"
  } ]
}, {
  "name": "com.github.dockerjava.api.command.AsyncDockerCmd",
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.command.CreateContainerCmd",
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.command.CreateContainerResponse",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setId",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "setWarnings",
    "parameterTypes": [ "java.lang.String[]" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.DockerCmd",
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.command.ExecCreateCmd",
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.command.ExecCreateCmdResponse",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.ExecStartCmd",
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.command.GraphData",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.GraphDriver",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.HealthState",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.command.HealthStateLog",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.command.InspectContainerResponse",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.InspectContainerResponse$ContainerState",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "queryAllPublicConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "com.github.dockerjava.api.command.InspectContainerResponse" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.InspectContainerResponse$Mount",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.InspectContainerResponse$Node",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "queryAllPublicConstructors": true
}, {
  "name": "com.github.dockerjava.api.command.InspectExecResponse",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.InspectExecResponse$Container",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "queryAllPublicConstructors": true
}, {
  "name": "com.github.dockerjava.api.command.InspectExecResponse$ProcessConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "queryAllPublicConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "com.github.dockerjava.api.command.InspectExecResponse" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.InspectImageResponse",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.RootFS",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.command.SyncDockerCmd",
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.AccessMode",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.AuthConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "getAuth",
    "parameterTypes": [ ]
  }, {
    "name": "getEmail",
    "parameterTypes": [ ]
  }, {
    "name": "getIdentitytoken",
    "parameterTypes": [ ]
  }, {
    "name": "getPassword",
    "parameterTypes": [ ]
  }, {
    "name": "getRegistryAddress",
    "parameterTypes": [ ]
  }, {
    "name": "getRegistrytoken",
    "parameterTypes": [ ]
  }, {
    "name": "getStackOrchestrator",
    "parameterTypes": [ ]
  }, {
    "name": "getUsername",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.Bind",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.BindOptions",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.BindPropagation",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.Binds",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "fromPrimitive",
    "parameterTypes": [ "java.lang.String[]" ]
  }, {
    "name": "toPrimitive",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.BlkioRateDevice",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.BlkioWeightDevice",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Capability",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.ClusterInfo",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.ContainerConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.ContainerNetwork",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.ContainerNetwork$Ipam",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Device",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.DeviceRequest",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.DockerObject",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "methods": [ {
    "name": "getRawValues",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.Driver",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.ExposedPort",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.ExposedPorts",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "fromPrimitive",
    "parameterTypes": [ "java.util.Map" ]
  }, {
    "name": "toPrimitive",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.ExternalCA",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.ExternalCAProtocol",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.HealthCheck",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.HostConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "getAnnotations",
    "parameterTypes": [ ]
  }, {
    "name": "getAutoRemove",
    "parameterTypes": [ ]
  }, {
    "name": "getBlkioDeviceReadBps",
    "parameterTypes": [ ]
  }, {
    "name": "getBlkioDeviceReadIOps",
    "parameterTypes": [ ]
  }, {
    "name": "getBlkioDeviceWriteBps",
    "parameterTypes": [ ]
  }, {
    "name": "getBlkioDeviceWriteIOps",
    "parameterTypes": [ ]
  }, {
    "name": "getBlkioWeight",
    "parameterTypes": [ ]
  }, {
    "name": "getBlkioWeightDevice",
    "parameterTypes": [ ]
  }, {
    "name": "getCapAdd",
    "parameterTypes": [ ]
  }, {
    "name": "getCapDrop",
    "parameterTypes": [ ]
  }, {
    "name": "getCgroup",
    "parameterTypes": [ ]
  }, {
    "name": "getCgroupParent",
    "parameterTypes": [ ]
  }, {
    "name": "getCgroupnsMode",
    "parameterTypes": [ ]
  }, {
    "name": "getConsoleSize",
    "parameterTypes": [ ]
  }, {
    "name": "getContainerIDFile",
    "parameterTypes": [ ]
  }, {
    "name": "getCpuCount",
    "parameterTypes": [ ]
  }, {
    "name": "getCpuPercent",
    "parameterTypes": [ ]
  }, {
    "name": "getCpuPeriod",
    "parameterTypes": [ ]
  }, {
    "name": "getCpuQuota",
    "parameterTypes": [ ]
  }, {
    "name": "getCpuRealtimePeriod",
    "parameterTypes": [ ]
  }, {
    "name": "getCpuRealtimeRuntime",
    "parameterTypes": [ ]
  }, {
    "name": "getCpuShares",
    "parameterTypes": [ ]
  }, {
    "name": "getCpusetCpus",
    "parameterTypes": [ ]
  }, {
    "name": "getCpusetMems",
    "parameterTypes": [ ]
  }, {
    "name": "getDeviceCgroupRules",
    "parameterTypes": [ ]
  }, {
    "name": "getDeviceRequests",
    "parameterTypes": [ ]
  }, {
    "name": "getDevices",
    "parameterTypes": [ ]
  }, {
    "name": "getDiskQuota",
    "parameterTypes": [ ]
  }, {
    "name": "getDns",
    "parameterTypes": [ ]
  }, {
    "name": "getDnsOptions",
    "parameterTypes": [ ]
  }, {
    "name": "getDnsSearch",
    "parameterTypes": [ ]
  }, {
    "name": "getExtraHosts",
    "parameterTypes": [ ]
  }, {
    "name": "getGroupAdd",
    "parameterTypes": [ ]
  }, {
    "name": "getInit",
    "parameterTypes": [ ]
  }, {
    "name": "getIoMaximumBandwidth",
    "parameterTypes": [ ]
  }, {
    "name": "getIoMaximumIOps",
    "parameterTypes": [ ]
  }, {
    "name": "getIpcMode",
    "parameterTypes": [ ]
  }, {
    "name": "getIsolation",
    "parameterTypes": [ ]
  }, {
    "name": "getKernelMemory",
    "parameterTypes": [ ]
  }, {
    "name": "getLxcConf",
    "parameterTypes": [ ]
  }, {
    "name": "getMemory",
    "parameterTypes": [ ]
  }, {
    "name": "getMemoryReservation",
    "parameterTypes": [ ]
  }, {
    "name": "getMemorySwap",
    "parameterTypes": [ ]
  }, {
    "name": "getMemorySwappiness",
    "parameterTypes": [ ]
  }, {
    "name": "getMounts",
    "parameterTypes": [ ]
  }, {
    "name": "getNanoCPUs",
    "parameterTypes": [ ]
  }, {
    "name": "getNetworkMode",
    "parameterTypes": [ ]
  }, {
    "name": "getOomKillDisable",
    "parameterTypes": [ ]
  }, {
    "name": "getOomScoreAdj",
    "parameterTypes": [ ]
  }, {
    "name": "getPidMode",
    "parameterTypes": [ ]
  }, {
    "name": "getPidsLimit",
    "parameterTypes": [ ]
  }, {
    "name": "getPortBindings",
    "parameterTypes": [ ]
  }, {
    "name": "getPrivileged",
    "parameterTypes": [ ]
  }, {
    "name": "getPublishAllPorts",
    "parameterTypes": [ ]
  }, {
    "name": "getReadonlyRootfs",
    "parameterTypes": [ ]
  }, {
    "name": "getRestartPolicy",
    "parameterTypes": [ ]
  }, {
    "name": "getRuntime",
    "parameterTypes": [ ]
  }, {
    "name": "getSecurityOpts",
    "parameterTypes": [ ]
  }, {
    "name": "getShmSize",
    "parameterTypes": [ ]
  }, {
    "name": "getStorageOpt",
    "parameterTypes": [ ]
  }, {
    "name": "getSysctls",
    "parameterTypes": [ ]
  }, {
    "name": "getTmpFs",
    "parameterTypes": [ ]
  }, {
    "name": "getUlimits",
    "parameterTypes": [ ]
  }, {
    "name": "getUsernsMode",
    "parameterTypes": [ ]
  }, {
    "name": "getUtSMode",
    "parameterTypes": [ ]
  }, {
    "name": "getVolumeDriver",
    "parameterTypes": [ ]
  }, {
    "name": "getVolumesFrom",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.Image",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.ImageOptions",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Info",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.InfoRegistryConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.InfoRegistryConfig$IndexConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.InternetProtocol",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.Isolation",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "methods": [ {
    "name": "fromValue",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.Link",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Links",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "toPrimitive",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.LocalNodeState",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "methods": [ {
    "name": "forValue",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.LogConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setType",
    "parameterTypes": [ "com.github.dockerjava.api.model.LogConfig$LoggingType" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.LogConfig$LoggingType",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "methods": [ {
    "name": "fromValue",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.LxcConf",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Mount",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.MountType",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.NetworkSettings",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.PeerNode",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.Ports",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "fromPrimitive",
    "parameterTypes": [ "java.util.Map" ]
  }, {
    "name": "toPrimitive",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.Ports$Binding",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.PropagationMode",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.ResourceVersion",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.RestartPolicy",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.RuntimeInfo",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setPath",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.SELContext",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "com.github.dockerjava.api.model.SwarmCAConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.SwarmDispatcherConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.SwarmInfo",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.SwarmOrchestration",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.SwarmRaftConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.SwarmSpec",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.TaskDefaults",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.TmpfsOptions",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Ulimit",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Version",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.VersionComponent",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.VersionPlatform",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.Volume",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.VolumeBind",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.VolumeBinds",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.VolumeOptions",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.VolumeRW",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.Volumes",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "toPrimitive",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.github.dockerjava.api.model.VolumesFrom",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.dockerjava.api.model.VolumesRW",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "com.github.luben.zstd.ZstdInputStream"
}, {
  "name": "com.sun.crypto.provider.AESCipher$General",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.AESKeyGenerator",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.ARCFOURCipher",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.DESCipher",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.DESedeCipher",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.DHParameters",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.GaloisCounterMode$AESGCM",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.HmacCore$HmacSHA384",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.crypto.provider.TlsMasterSecretGenerator",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.management.HotSpotDiagnosticMXBean",
  "methods": [ {
    "name": "getVMOption",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "com.sun.management.VMOption",
  "methods": [ {
    "name": "getValue",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "com.sun.tools.attach.VirtualMachine"
}, {
  "name": "com.zaxxer.hikari.HikariConfig",
  "allDeclaredFields": true
}, {
  "name": "com.zaxxer.hikari.pool.PoolBase",
  "fields": [ {
    "name": "catalog"
  } ]
}, {
  "name": "com.zaxxer.hikari.pool.PoolEntry",
  "fields": [ {
    "name": "state"
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicContent",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicCreateMessageRequest",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "getCustomParameters",
    "parameterTypes": [ ]
  }, {
    "name": "getMaxTokens",
    "parameterTypes": [ ]
  }, {
    "name": "getMessages",
    "parameterTypes": [ ]
  }, {
    "name": "getMetadata",
    "parameterTypes": [ ]
  }, {
    "name": "getModel",
    "parameterTypes": [ ]
  }, {
    "name": "getOutputConfig",
    "parameterTypes": [ ]
  }, {
    "name": "getStopSequences",
    "parameterTypes": [ ]
  }, {
    "name": "getSystem",
    "parameterTypes": [ ]
  }, {
    "name": "getTemperature",
    "parameterTypes": [ ]
  }, {
    "name": "getThinking",
    "parameterTypes": [ ]
  }, {
    "name": "getToolChoice",
    "parameterTypes": [ ]
  }, {
    "name": "getTools",
    "parameterTypes": [ ]
  }, {
    "name": "getTopK",
    "parameterTypes": [ ]
  }, {
    "name": "getTopP",
    "parameterTypes": [ ]
  }, {
    "name": "isStream",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicDelta",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicError",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicMessage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicMessageContent",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicResponseMessage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicRole",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "methods": [ {
    "name": "serialize",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicStreamingData",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicTextContent",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicThinking",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicTool",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "customParameters",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicToolSchema",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.anthropic.internal.api.AnthropicUsage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.util.List", "java.lang.String" ]
  }, {
    "name": "parts",
    "parameterTypes": [ ]
  }, {
    "name": "role",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiBlob", "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiFunctionCall", "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiFunctionResponse", "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiFileData", "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiExecutableCode", "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiCodeExecutionResult", "java.lang.Boolean", "java.lang.String", "dev.langchain4j.model.googleai.GeminiMediaResolution" ]
  }, {
    "name": "codeExecutionResult",
    "parameterTypes": [ ]
  }, {
    "name": "executableCode",
    "parameterTypes": [ ]
  }, {
    "name": "fileData",
    "parameterTypes": [ ]
  }, {
    "name": "functionCall",
    "parameterTypes": [ ]
  }, {
    "name": "functionResponse",
    "parameterTypes": [ ]
  }, {
    "name": "inlineData",
    "parameterTypes": [ ]
  }, {
    "name": "mediaResolution",
    "parameterTypes": [ ]
  }, {
    "name": "text",
    "parameterTypes": [ ]
  }, {
    "name": "thought",
    "parameterTypes": [ ]
  }, {
    "name": "thoughtSignature",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiBlob",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiCodeExecutionResult",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiCodeExecutionResult$GeminiOutcome",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiExecutableCode",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiExecutableCode$GeminiLanguage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiFileData",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiFunctionCall",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.util.Map" ]
  }, {
    "name": "args",
    "parameterTypes": [ ]
  }, {
    "name": "name",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiContent$GeminiPart$GeminiFunctionResponse",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "name",
    "parameterTypes": [ ]
  }, {
    "name": "response",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiFunctionDeclaration",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "description",
    "parameterTypes": [ ]
  }, {
    "name": "name",
    "parameterTypes": [ ]
  }, {
    "name": "parameters",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentRequest",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "contents",
    "parameterTypes": [ ]
  }, {
    "name": "generationConfig",
    "parameterTypes": [ ]
  }, {
    "name": "model",
    "parameterTypes": [ ]
  }, {
    "name": "safetySettings",
    "parameterTypes": [ ]
  }, {
    "name": "systemInstruction",
    "parameterTypes": [ ]
  }, {
    "name": "toolConfig",
    "parameterTypes": [ ]
  }, {
    "name": "tools",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentRequest$GeminiTool",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "codeExecution",
    "parameterTypes": [ ]
  }, {
    "name": "functionDeclarations",
    "parameterTypes": [ ]
  }, {
    "name": "googleMaps",
    "parameterTypes": [ ]
  }, {
    "name": "googleSearch",
    "parameterTypes": [ ]
  }, {
    "name": "urlContext",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentRequest$GeminiTool$GeminiCodeExecution",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentRequest$GeminiTool$GeminiGoogleMaps",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentRequest$GeminiTool$GeminiGoogleSearchRetrieval",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentRequest$GeminiTool$GeminiUrlContext",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentRequest$GeminiToolConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentResponse",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.String", "java.util.List", "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiUsageMetadata", "dev.langchain4j.model.googleai.GroundingMetadata" ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiCandidate",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "dev.langchain4j.model.googleai.GeminiContent", "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiCandidate$GeminiFinishReason", "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiUrlContextMetadata", "dev.langchain4j.model.googleai.GroundingMetadata" ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiCandidate$GeminiFinishReason",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiUrlContextMetadata",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiUrlMetadata",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiUrlRetrievalStatus",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerateContentResponse$GeminiUsageMetadata",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Integer", "java.lang.Integer", "java.lang.Integer", "java.lang.Integer", "java.lang.Integer" ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerationConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "candidateCount",
    "parameterTypes": [ ]
  }, {
    "name": "enableEnhancedCivicAnswers",
    "parameterTypes": [ ]
  }, {
    "name": "frequencyPenalty",
    "parameterTypes": [ ]
  }, {
    "name": "imageConfig",
    "parameterTypes": [ ]
  }, {
    "name": "logprobs",
    "parameterTypes": [ ]
  }, {
    "name": "maxOutputTokens",
    "parameterTypes": [ ]
  }, {
    "name": "mediaResolution",
    "parameterTypes": [ ]
  }, {
    "name": "presencePenalty",
    "parameterTypes": [ ]
  }, {
    "name": "responseJsonSchema",
    "parameterTypes": [ ]
  }, {
    "name": "responseLogprobs",
    "parameterTypes": [ ]
  }, {
    "name": "responseMimeType",
    "parameterTypes": [ ]
  }, {
    "name": "responseModalities",
    "parameterTypes": [ ]
  }, {
    "name": "responseSchema",
    "parameterTypes": [ ]
  }, {
    "name": "seed",
    "parameterTypes": [ ]
  }, {
    "name": "stopSequences",
    "parameterTypes": [ ]
  }, {
    "name": "temperature",
    "parameterTypes": [ ]
  }, {
    "name": "thinkingConfig",
    "parameterTypes": [ ]
  }, {
    "name": "topK",
    "parameterTypes": [ ]
  }, {
    "name": "topP",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiGenerationConfig$GeminiImageConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiMediaResolution",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiMediaResolutionLevel",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.googleai.GeminiSchema",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "getAnyOf",
    "parameterTypes": [ ]
  }, {
    "name": "getDescription",
    "parameterTypes": [ ]
  }, {
    "name": "getFormat",
    "parameterTypes": [ ]
  }, {
    "name": "getItems",
    "parameterTypes": [ ]
  }, {
    "name": "getMaxItems",
    "parameterTypes": [ ]
  }, {
    "name": "getNullable",
    "parameterTypes": [ ]
  }, {
    "name": "getProperties",
    "parameterTypes": [ ]
  }, {
    "name": "getRequired",
    "parameterTypes": [ ]
  }, {
    "name": "getType",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiThinkingConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "includeThoughts",
    "parameterTypes": [ ]
  }, {
    "name": "thinkingBudget",
    "parameterTypes": [ ]
  }, {
    "name": "thinkingLevel",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.googleai.GeminiType",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$GroundingChunk",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$GroundingChunk$Maps",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$GroundingChunk$Maps$PlaceAnswerSources",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$GroundingChunk$Maps$ReviewSnippet",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$GroundingChunk$RetrievedContext",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$GroundingChunk$Web",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$GroundingSupport",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$RetrievalMetadata",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$SearchEntryPoint",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.googleai.GroundingMetadata$Segment",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.AssistantMessage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "customParameters",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.AssistantMessage$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.ChatCompletionChoice$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "delta",
    "parameterTypes": [ "dev.langchain4j.model.openai.internal.chat.Delta" ]
  }, {
    "name": "finishReason",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "index",
    "parameterTypes": [ "java.lang.Integer" ]
  }, {
    "name": "logprobs",
    "parameterTypes": [ "dev.langchain4j.model.openai.internal.chat.LogProbs" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.ChatCompletionRequest",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "customParameters",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.ChatCompletionResponse$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "choices",
    "parameterTypes": [ "java.util.List" ]
  }, {
    "name": "created",
    "parameterTypes": [ "java.lang.Long" ]
  }, {
    "name": "id",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "model",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "serviceTier",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "systemFingerprint",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "usage",
    "parameterTypes": [ "dev.langchain4j.model.openai.internal.shared.Usage" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.Delta$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "content",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "reasoningContent",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "role",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "toolCalls",
    "parameterTypes": [ "java.util.List" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.Function",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.FunctionCall",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.FunctionCall$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "arguments",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "name",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.LogProb$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.LogProbs$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.Message",
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.Role",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.SystemMessage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.Tool",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.ToolCall",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.ToolCall$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "function",
    "parameterTypes": [ "dev.langchain4j.model.openai.internal.chat.FunctionCall" ]
  }, {
    "name": "id",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "index",
    "parameterTypes": [ "java.lang.Integer" ]
  }, {
    "name": "type",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.ToolMessage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.ToolType",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "dev.langchain4j.model.openai.internal.chat.UserMessage",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.embedding.Embedding$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "embedding",
    "parameterTypes": [ "java.util.List" ]
  }, {
    "name": "index",
    "parameterTypes": [ "java.lang.Integer" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.embedding.EmbeddingRequest",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "customParameters",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.embedding.EmbeddingResponse$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "data",
    "parameterTypes": [ "java.util.List" ]
  }, {
    "name": "model",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "usage",
    "parameterTypes": [ "dev.langchain4j.model.openai.internal.shared.Usage" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.embedding.OpenAiEmbeddingDeserializer",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.shared.CompletionTokensDetails$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "reasoningTokens",
    "parameterTypes": [ "java.lang.Integer" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.shared.PromptTokensDetails$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "cachedTokens",
    "parameterTypes": [ "java.lang.Integer" ]
  } ]
}, {
  "name": "dev.langchain4j.model.openai.internal.shared.StreamOptions",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "dev.langchain4j.model.openai.internal.shared.Usage$Builder",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "build",
    "parameterTypes": [ ]
  }, {
    "name": "completionTokens",
    "parameterTypes": [ "java.lang.Integer" ]
  }, {
    "name": "completionTokensDetails",
    "parameterTypes": [ "dev.langchain4j.model.openai.internal.shared.CompletionTokensDetails" ]
  }, {
    "name": "promptTokens",
    "parameterTypes": [ "java.lang.Integer" ]
  }, {
    "name": "promptTokensDetails",
    "parameterTypes": [ "dev.langchain4j.model.openai.internal.shared.PromptTokensDetails" ]
  }, {
    "name": "totalTokens",
    "parameterTypes": [ "java.lang.Integer" ]
  } ]
}, {
  "name": "dev.langchain4j.service.UserMessage",
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "delimiter",
    "parameterTypes": [ ]
  }, {
    "name": "fromResource",
    "parameterTypes": [ ]
  }, {
    "name": "value",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "double",
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.cli.UrlContentExtractorTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "should check if URL is supported",
    "parameterTypes": [ ]
  }, {
    "name": "should detect valid URLs",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URLs from text",
    "parameterTypes": [ ]
  }, {
    "name": "should extract content from HTML page",
    "parameterTypes": [ ]
  }, {
    "name": "should extract content from PDF using Tika",
    "parameterTypes": [ ]
  }, {
    "name": "should extract content from plain text",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.commands.CommandHandlerTestBase",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "setUpBase",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownBase",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.commands.CopyCommandHandlerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "description is not empty and mentions copying",
    "parameterTypes": [ ]
  }, {
    "name": "handle with blank response shows warning",
    "parameterTypes": [ ]
  }, {
    "name": "handle with empty response shows warning",
    "parameterTypes": [ ]
  }, {
    "name": "handle with markdown formatted response processes correctly",
    "parameterTypes": [ ]
  }, {
    "name": "handle with multiline response processes correctly",
    "parameterTypes": [ ]
  }, {
    "name": "handle with no response shows warning",
    "parameterTypes": [ ]
  }, {
    "name": "handle with special characters in response processes correctly",
    "parameterTypes": [ ]
  }, {
    "name": "handle with unicode characters in response processes correctly",
    "parameterTypes": [ ]
  }, {
    "name": "handle with valid response on macOS attempts copy",
    "parameterTypes": [ ]
  }, {
    "name": "handle with very long response processes correctly",
    "parameterTypes": [ ]
  }, {
    "name": "keyword returns correct value",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.commands.CreateRecipeCommandHandlerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "description is not empty",
    "parameterTypes": [ ]
  }, {
    "name": "handle expands tilde in template path",
    "parameterTypes": [ ]
  }, {
    "name": "handle with empty name in YAML and no arg shows error",
    "parameterTypes": [ ]
  }, {
    "name": "handle with existing recipe shows warning",
    "parameterTypes": [ ]
  }, {
    "name": "handle with invalid YAML shows error",
    "parameterTypes": [ ]
  }, {
    "name": "handle with missing name field in YAML shows invalid YAML error",
    "parameterTypes": [ ]
  }, {
    "name": "handle with missing template flag shows usage",
    "parameterTypes": [ ]
  }, {
    "name": "handle with non-existent template shows error",
    "parameterTypes": [ ]
  }, {
    "name": "handle with real gitcommit template preserves vars",
    "parameterTypes": [ ]
  }, {
    "name": "handle with valid name and template creates recipe",
    "parameterTypes": [ ]
  }, {
    "name": "keyword returns correct value",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.commands.ListRecipesCommandHandlerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "description is not empty and mentions recipes",
    "parameterTypes": [ ]
  }, {
    "name": "handle count matches actual number of yml files",
    "parameterTypes": [ ]
  }, {
    "name": "handle ignores non-yml files",
    "parameterTypes": [ ]
  }, {
    "name": "handle lists recipes in sorted order",
    "parameterTypes": [ ]
  }, {
    "name": "handle shows separator line",
    "parameterTypes": [ ]
  }, {
    "name": "handle strips yml extension from displayed names",
    "parameterTypes": [ ]
  }, {
    "name": "handle with empty recipes directory shows info message",
    "parameterTypes": [ ]
  }, {
    "name": "handle with empty yml files",
    "parameterTypes": [ ]
  }, {
    "name": "handle with large number of recipes",
    "parameterTypes": [ ]
  }, {
    "name": "handle with multiple recipes lists them all",
    "parameterTypes": [ ]
  }, {
    "name": "handle with no recipes directory shows info message",
    "parameterTypes": [ ]
  }, {
    "name": "handle with numeric recipe names",
    "parameterTypes": [ ]
  }, {
    "name": "handle with recipe names containing spaces",
    "parameterTypes": [ ]
  }, {
    "name": "handle with recipe names containing special characters",
    "parameterTypes": [ ]
  }, {
    "name": "handle with single recipe lists it",
    "parameterTypes": [ ]
  }, {
    "name": "handle with subdirectories in recipes folder",
    "parameterTypes": [ ]
  }, {
    "name": "handle with yml extension in different cases",
    "parameterTypes": [ ]
  }, {
    "name": "keyword returns correct value",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.commands.ListToolsCommandHandlerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "description is not empty and mentions tools",
    "parameterTypes": [ ]
  }, {
    "name": "handle lists all available tools",
    "parameterTypes": [ ]
  }, {
    "name": "keyword returns correct value",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.commands.ModelsCommandHandlerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "description is not empty and mentions models",
    "parameterTypes": [ ]
  }, {
    "name": "handle always shows usage hint",
    "parameterTypes": [ ]
  }, {
    "name": "handle formats model list with dashes when models available",
    "parameterTypes": [ ]
  }, {
    "name": "handle shows appropriate guidance based on provider",
    "parameterTypes": [ ]
  }, {
    "name": "handle shows emoji in output",
    "parameterTypes": [ ]
  }, {
    "name": "handle shows provider name in lowercase",
    "parameterTypes": [ ]
  }, {
    "name": "handle with Anthropic provider shows models or helpful message",
    "parameterTypes": [ ]
  }, {
    "name": "handle with Gemini provider shows models or helpful message",
    "parameterTypes": [ ]
  }, {
    "name": "handle with Ollama and no models shows helpful message",
    "parameterTypes": [ ]
  }, {
    "name": "handle with Ollama provider shows models or helpful message",
    "parameterTypes": [ ]
  }, {
    "name": "handle with OpenAI and no API key shows helpful guidance",
    "parameterTypes": [ ]
  }, {
    "name": "handle with OpenAI provider shows models or helpful message",
    "parameterTypes": [ ]
  }, {
    "name": "handle with custom provider settings uses them",
    "parameterTypes": [ ]
  }, {
    "name": "handle with different providers shows correct provider names",
    "parameterTypes": [ ]
  }, {
    "name": "handle with empty provider settings map uses defaults",
    "parameterTypes": [ ]
  }, {
    "name": "handle with null provider settings does not crash",
    "parameterTypes": [ ]
  }, {
    "name": "handle with unknown provider shows error",
    "parameterTypes": [ ]
  }, {
    "name": "handle with xAI provider shows models or helpful message",
    "parameterTypes": [ ]
  }, {
    "name": "keyword returns correct value",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.recipes.PostAction",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "io.askimo.cli.recipes.VarCall" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "io.askimo.cli.recipes.VarCall", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getCall",
    "parameterTypes": [ ]
  }, {
    "name": "getWhen_",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.recipes.RecipeDef",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "int", "java.lang.String", "java.util.List", "java.util.Map", "java.lang.String", "java.lang.String", "java.util.List", "java.util.Map" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "int", "java.lang.String", "java.util.List", "java.util.Map", "java.lang.String", "java.lang.String", "java.util.List", "java.util.Map", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getAllowedTools",
    "parameterTypes": [ ]
  }, {
    "name": "getDefaults",
    "parameterTypes": [ ]
  }, {
    "name": "getDescription",
    "parameterTypes": [ ]
  }, {
    "name": "getName",
    "parameterTypes": [ ]
  }, {
    "name": "getPostActions",
    "parameterTypes": [ ]
  }, {
    "name": "getSystem",
    "parameterTypes": [ ]
  }, {
    "name": "getUserTemplate",
    "parameterTypes": [ ]
  }, {
    "name": "getVars",
    "parameterTypes": [ ]
  }, {
    "name": "getVersion",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.recipes.VarCall",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.Object" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.Object", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getArgs",
    "parameterTypes": [ ]
  }, {
    "name": "getTool",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.cli.util.CompositeCommandExecutorTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "should correctly parse complex command sequences",
    "parameterTypes": [ ]
  }, {
    "name": "should detect multiple commands",
    "parameterTypes": [ ]
  }, {
    "name": "should execute multiple commands in order",
    "parameterTypes": [ ]
  }, {
    "name": "should handle commands without arguments",
    "parameterTypes": [ ]
  }, {
    "name": "should handle empty arguments array",
    "parameterTypes": [ ]
  }, {
    "name": "should handle multiple instances of same command",
    "parameterTypes": [ ]
  }, {
    "name": "should not detect single command as multiple",
    "parameterTypes": [ ]
  }, {
    "name": "should skip unknown flags",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.domain.SessionMemory"
}, {
  "name": "io.askimo.core.chat.repository.ChatDirectiveRepositoryIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "should allow maximum length content",
    "parameterTypes": [ ]
  }, {
    "name": "should allow maximum length name",
    "parameterTypes": [ ]
  }, {
    "name": "should check if directive exists",
    "parameterTypes": [ ]
  }, {
    "name": "should delete existing directive",
    "parameterTypes": [ ]
  }, {
    "name": "should enforce maximum content length",
    "parameterTypes": [ ]
  }, {
    "name": "should enforce maximum name length",
    "parameterTypes": [ ]
  }, {
    "name": "should get multiple directives by ids",
    "parameterTypes": [ ]
  }, {
    "name": "should get multiple directives by names",
    "parameterTypes": [ ]
  }, {
    "name": "should handle special characters in directive content",
    "parameterTypes": [ ]
  }, {
    "name": "should list all directives ordered by name",
    "parameterTypes": [ ]
  }, {
    "name": "should return empty list when getting directives with empty ids list",
    "parameterTypes": [ ]
  }, {
    "name": "should return empty list when getting directives with empty names list",
    "parameterTypes": [ ]
  }, {
    "name": "should return false when deleting non-existent directive",
    "parameterTypes": [ ]
  }, {
    "name": "should return false when updating non-existent directive",
    "parameterTypes": [ ]
  }, {
    "name": "should return null for non-existent directive",
    "parameterTypes": [ ]
  }, {
    "name": "should save and retrieve a chat directive",
    "parameterTypes": [ ]
  }, {
    "name": "should update existing directive",
    "parameterTypes": [ ]
  }, {
    "name": "should update existing directive on save with same id",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ChatDirectiveRepositoryIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.chat.repository.ChatMessageRepositoryIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "should add and retrieve messages for a session",
    "parameterTypes": [ ]
  }, {
    "name": "should add message with attachments and retrieve them",
    "parameterTypes": [ ]
  }, {
    "name": "should automatically delete attachments when message is deleted via CASCADE",
    "parameterTypes": [ ]
  }, {
    "name": "should delete all messages for a session",
    "parameterTypes": [ ]
  }, {
    "name": "should handle different message roles correctly",
    "parameterTypes": [ ]
  }, {
    "name": "should handle empty messages list",
    "parameterTypes": [ ]
  }, {
    "name": "should handle large number of attachments efficiently",
    "parameterTypes": [ ]
  }, {
    "name": "should handle multiple messages with different attachment counts",
    "parameterTypes": [ ]
  }, {
    "name": "should load attachments with paginated messages",
    "parameterTypes": [ ]
  }, {
    "name": "should load attachments with search results",
    "parameterTypes": [ ]
  }, {
    "name": "should mark message as outdated",
    "parameterTypes": [ ]
  }, {
    "name": "should mark messages as outdated after specific message",
    "parameterTypes": [ ]
  }, {
    "name": "should not duplicate messages across pages",
    "parameterTypes": [ ]
  }, {
    "name": "should paginate messages backward from end",
    "parameterTypes": [ ]
  }, {
    "name": "should paginate messages forward from start",
    "parameterTypes": [ ]
  }, {
    "name": "should paginate through entire message history forward",
    "parameterTypes": [ ]
  }, {
    "name": "should preserve attachment metadata without content field",
    "parameterTypes": [ ]
  }, {
    "name": "should retrieve message without attachments",
    "parameterTypes": [ ]
  }, {
    "name": "should return null cursor when no more messages",
    "parameterTypes": [ ]
  }, {
    "name": "should search messages by content",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ChatMessageRepositoryIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.chat.repository.ChatSessionRepositoryIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "should create and retrieve a chat session",
    "parameterTypes": [ ]
  }, {
    "name": "should create session with default sort order",
    "parameterTypes": [ ]
  }, {
    "name": "should create session with sort order",
    "parameterTypes": [ ]
  }, {
    "name": "should create session with starred flag",
    "parameterTypes": [ ]
  }, {
    "name": "should create session without starred flag by default",
    "parameterTypes": [ ]
  }, {
    "name": "should delete session successfully",
    "parameterTypes": [ ]
  }, {
    "name": "should get all starred sessions",
    "parameterTypes": [ ]
  }, {
    "name": "should get starred sessions ordered by sort order and updated time",
    "parameterTypes": [ ]
  }, {
    "name": "should not affect other sessions when deleting one",
    "parameterTypes": [ ]
  }, {
    "name": "should order sessions by starred, sort order, and updated time",
    "parameterTypes": [ ]
  }, {
    "name": "should retrieve all sessions ordered by updated_at desc",
    "parameterTypes": [ ]
  }, {
    "name": "should return empty list when no starred sessions",
    "parameterTypes": [ ]
  }, {
    "name": "should return false when deleting non-existent session",
    "parameterTypes": [ ]
  }, {
    "name": "should return false when updating title with empty string",
    "parameterTypes": [ ]
  }, {
    "name": "should return false when updating title with only whitespace",
    "parameterTypes": [ ]
  }, {
    "name": "should return null for non-existent session",
    "parameterTypes": [ ]
  }, {
    "name": "should star a session",
    "parameterTypes": [ ]
  }, {
    "name": "should touch session to update timestamp",
    "parameterTypes": [ ]
  }, {
    "name": "should trim whitespace when updating session title",
    "parameterTypes": [ ]
  }, {
    "name": "should truncate title to maximum length when updating",
    "parameterTypes": [ ]
  }, {
    "name": "should unstar a session",
    "parameterTypes": [ ]
  }, {
    "name": "should update session sort order",
    "parameterTypes": [ ]
  }, {
    "name": "should update session title",
    "parameterTypes": [ ]
  }, {
    "name": "should update session updated_at when changing title",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ChatSessionRepositoryIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "cleanUp",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT$GetUnsyncedMessages",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.chat.repository.ConversationSyncRepositoryIT" ]
  }, {
    "name": "does not return outdated messages",
    "parameterTypes": [ ]
  }, {
    "name": "respects limit parameter",
    "parameterTypes": [ ]
  }, {
    "name": "returns locally created messages that have never been pushed",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT$GetUnsyncedSessions",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.chat.repository.ConversationSyncRepositoryIT" ]
  }, {
    "name": "does not return session after markSynced is called",
    "parameterTypes": [ ]
  }, {
    "name": "respects limit parameter",
    "parameterTypes": [ ]
  }, {
    "name": "returns session that was never synced (syncedAt is null)",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT$InsertIfAbsent",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.chat.repository.ConversationSyncRepositoryIT" ]
  }, {
    "name": "calling twice with identical data produces one row",
    "parameterTypes": [ ]
  }, {
    "name": "inserted message has syncedAt set (not returned in getUnsyncedMessages)",
    "parameterTypes": [ ]
  }, {
    "name": "inserts message when it does not exist",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT$MarkMessageSynced",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.chat.repository.ConversationSyncRepositoryIT" ]
  }, {
    "name": "returns false for a non-existent message id",
    "parameterTypes": [ ]
  }, {
    "name": "returns true and message is excluded from getUnsyncedMessages",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT$MarkSessionSynced",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.chat.repository.ConversationSyncRepositoryIT" ]
  }, {
    "name": "returns false for a non-existent session id",
    "parameterTypes": [ ]
  }, {
    "name": "returns true and session is then excluded from getUnsyncedSessions",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ConversationSyncRepositoryIT$UpsertFromServer",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.chat.repository.ConversationSyncRepositoryIT" ]
  }, {
    "name": "does NOT overwrite when server updatedAt equals local updatedAt",
    "parameterTypes": [ ]
  }, {
    "name": "does NOT overwrite when server updatedAt is older than local",
    "parameterTypes": [ ]
  }, {
    "name": "inserts session when it does not exist locally",
    "parameterTypes": [ ]
  }, {
    "name": "is idempotent - calling twice with same data produces one row",
    "parameterTypes": [ ]
  }, {
    "name": "processes a batch of sessions in one call",
    "parameterTypes": [ ]
  }, {
    "name": "sets syncedAt on fresh insert",
    "parameterTypes": [ ]
  }, {
    "name": "updates title when server updatedAt is strictly newer",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ProjectRepositoryIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "should cascade delete sessions when project is deleted",
    "parameterTypes": [ ]
  }, {
    "name": "should create and retrieve a project",
    "parameterTypes": [ ]
  }, {
    "name": "should create project with indexed paths",
    "parameterTypes": [ ]
  }, {
    "name": "should get all projects",
    "parameterTypes": [ ]
  }, {
    "name": "should handle project names with special characters",
    "parameterTypes": [ ]
  }, {
    "name": "should not affect other projects when deleting one",
    "parameterTypes": [ ]
  }, {
    "name": "should order projects by updated_at descending",
    "parameterTypes": [ ]
  }, {
    "name": "should return empty list when no projects exist",
    "parameterTypes": [ ]
  }, {
    "name": "should return false when updating non-existent project",
    "parameterTypes": [ ]
  }, {
    "name": "should update project",
    "parameterTypes": [ ]
  }, {
    "name": "should update project with null description",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.ProjectRepositoryIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.chat.repository.SessionMemoryRepository",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "getBySessionId",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "saveMemory",
    "parameterTypes": [ "io.askimo.core.chat.domain.SessionMemory" ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.SessionMemoryRepositoryIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "should cascade delete memory when session is deleted",
    "parameterTypes": [ ]
  }, {
    "name": "should cleanup old memories older than threshold",
    "parameterTypes": [ ]
  }, {
    "name": "should handle empty JSON objects in summary",
    "parameterTypes": [ ]
  }, {
    "name": "should not affect other session memories when deleting one session",
    "parameterTypes": [ ]
  }, {
    "name": "should override existing memory when saving again",
    "parameterTypes": [ ]
  }, {
    "name": "should preserve createdAt timestamp when updating memory",
    "parameterTypes": [ ]
  }, {
    "name": "should return null for non-existent session memory",
    "parameterTypes": [ ]
  }, {
    "name": "should return zero when cleaning up with no old memories",
    "parameterTypes": [ ]
  }, {
    "name": "should save and retrieve session memory",
    "parameterTypes": [ ]
  }, {
    "name": "should save memory with large JSON content",
    "parameterTypes": [ ]
  }, {
    "name": "should save session memory without summary",
    "parameterTypes": [ ]
  }, {
    "name": "should update lastUpdated timestamp when overriding memory",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.repository.SessionMemoryRepositoryIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.chat.service.ChatSessionServiceIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSession should handle session with attachments",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSession should preserve message order",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSession should return all messages for a session",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSession should return empty list for session with no messages",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should handle large limit",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should handle limit of 1",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should handle non-existent session gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should handle session with fewer messages than limit",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should handle session with no messages",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should maintain consistency with multiple calls",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should return limited messages",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should return most recent messages first",
    "parameterTypes": [ ]
  }, {
    "name": "resumeSessionPaginated should return session directive if present",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "should add message and update session timestamp through service",
    "parameterTypes": [ ]
  }, {
    "name": "should get messages through service",
    "parameterTypes": [ ]
  }, {
    "name": "should manage starred sessions through service",
    "parameterTypes": [ ]
  }, {
    "name": "should rename session through service",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.service.ChatSessionServiceIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.chat.service.UrlExtractionIntentTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "should NOT extract URL when asking unrelated question",
    "parameterTypes": [ ]
  }, {
    "name": "should NOT extract URL when just bookmarking or saving",
    "parameterTypes": [ ]
  }, {
    "name": "should NOT extract URL when just mentioning as reference",
    "parameterTypes": [ ]
  }, {
    "name": "should NOT extract URL when just providing context",
    "parameterTypes": [ ]
  }, {
    "name": "should NOT extract URL when sharing for later",
    "parameterTypes": [ ]
  }, {
    "name": "should correctly identify which URLs need extraction in multi-URL message",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when URL comes before action verb",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when URL is followed by question mark",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when asking to show me URL content",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when asking to tell me about URL",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when asking what URL is about",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when asking what URL says",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when asking what the page says",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when asking what's on the URL",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when user asks to analyze",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when user asks to check content",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when user asks to examine",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when user asks to explain",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when user asks to read",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when user asks to review",
    "parameterTypes": [ ]
  }, {
    "name": "should extract URL when user asks to summarize",
    "parameterTypes": [ ]
  }, {
    "name": "should extract both URLs when both have explicit intent",
    "parameterTypes": [ ]
  }, {
    "name": "should handle URL at different positions in message",
    "parameterTypes": [ ]
  }, {
    "name": "should handle URL with fragments",
    "parameterTypes": [ ]
  }, {
    "name": "should handle URL with query parameters",
    "parameterTypes": [ ]
  }, {
    "name": "should handle case insensitive patterns",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "should handle very long messages with URL",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.chat.service.UrlExtractionIntentTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.config.AnalyticsConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "boolean", "java.lang.String" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "boolean", "java.lang.String", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getEndpoint",
    "parameterTypes": [ ]
  }, {
    "name": "getOptedIn",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.AppConfig",
  "methods": [ {
    "name": "updateChatField",
    "parameterTypes": [ "io.askimo.core.config.ChatConfig", "java.lang.String", "java.lang.Object" ]
  }, {
    "name": "updateDeveloperField",
    "parameterTypes": [ "io.askimo.core.config.DeveloperConfig", "java.lang.String", "java.lang.Object" ]
  }, {
    "name": "updateEmbeddingField",
    "parameterTypes": [ "io.askimo.core.config.EmbeddingConfig", "java.lang.String", "java.lang.Object" ]
  }, {
    "name": "updateModelsField",
    "parameterTypes": [ "io.askimo.core.config.ModelsConfig", "java.lang.String", "java.lang.Object" ]
  }, {
    "name": "updateProxyField",
    "parameterTypes": [ "io.askimo.core.config.ProxyConfig", "java.lang.String", "java.lang.Object" ]
  }, {
    "name": "updateRagField",
    "parameterTypes": [ "io.askimo.core.config.RagConfig", "java.lang.String", "java.lang.Object" ]
  } ]
}, {
  "name": "io.askimo.core.config.AppConfigData",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.config.EmbeddingConfig", "io.askimo.core.config.RetryConfig", "io.askimo.core.config.ThrottleConfig", "io.askimo.core.config.IndexingConfig", "io.askimo.core.config.DeveloperConfig", "io.askimo.core.config.ChatConfig", "io.askimo.core.config.RagConfig", "io.askimo.core.config.ModelsConfig", "io.askimo.core.config.ProxyConfig", "io.askimo.core.config.AnalyticsConfig", "io.askimo.core.context.AppContextParams" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.config.EmbeddingConfig", "io.askimo.core.config.RetryConfig", "io.askimo.core.config.ThrottleConfig", "io.askimo.core.config.IndexingConfig", "io.askimo.core.config.DeveloperConfig", "io.askimo.core.config.ChatConfig", "io.askimo.core.config.RagConfig", "io.askimo.core.config.ModelsConfig", "io.askimo.core.config.ProxyConfig", "io.askimo.core.config.AnalyticsConfig", "io.askimo.core.context.AppContextParams", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getAnalytics",
    "parameterTypes": [ ]
  }, {
    "name": "getChat",
    "parameterTypes": [ ]
  }, {
    "name": "getContext",
    "parameterTypes": [ ]
  }, {
    "name": "getDeveloper",
    "parameterTypes": [ ]
  }, {
    "name": "getEmbedding",
    "parameterTypes": [ ]
  }, {
    "name": "getIndexing",
    "parameterTypes": [ ]
  }, {
    "name": "getModels",
    "parameterTypes": [ ]
  }, {
    "name": "getProxy",
    "parameterTypes": [ ]
  }, {
    "name": "getRag",
    "parameterTypes": [ ]
  }, {
    "name": "getRetry",
    "parameterTypes": [ ]
  }, {
    "name": "getThrottle",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.AppConfigTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "DEFAULT_YAML snake_case fields are correctly deserialized for all providers",
    "parameterTypes": [ ]
  }, {
    "name": "ProxyConfig getStorageKey should be unique per proxy type",
    "parameterTypes": [ ]
  }, {
    "name": "ProxyConfig isActualPassword should detect actual passwords",
    "parameterTypes": [ ]
  }, {
    "name": "ProxyConfig should have placeholder constant",
    "parameterTypes": [ ]
  }, {
    "name": "YAML round-trip preserves snake_case field values after updateField",
    "parameterTypes": [ ]
  }, {
    "name": "saveContext overwrites a previously saved context",
    "parameterTypes": [ ]
  }, {
    "name": "saveContext persists context to YAML config file on disk",
    "parameterTypes": [ ]
  }, {
    "name": "saveContext preserves existing config fields after save",
    "parameterTypes": [ ]
  }, {
    "name": "saveContext sanitizes API key before persisting to disk",
    "parameterTypes": [ ]
  }, {
    "name": "saveContext updates in-memory cache with given params",
    "parameterTypes": [ ]
  }, {
    "name": "saveContext with no-op params stores UNKNOWN provider",
    "parameterTypes": [ ]
  }, {
    "name": "updateChatField should handle all fields",
    "parameterTypes": [ ]
  }, {
    "name": "updateDeveloperField should handle all fields",
    "parameterTypes": [ ]
  }, {
    "name": "updateEmbeddingField should handle all fields",
    "parameterTypes": [ ]
  }, {
    "name": "updateModelsField should handle all provider vision models",
    "parameterTypes": [ ]
  }, {
    "name": "updateModelsField should handle embedding models",
    "parameterTypes": [ ]
  }, {
    "name": "updateProxyField should handle all basic fields",
    "parameterTypes": [ ]
  }, {
    "name": "updateProxyField should handle type changes correctly",
    "parameterTypes": [ ]
  }, {
    "name": "updateProxyField should preserve empty password",
    "parameterTypes": [ ]
  }, {
    "name": "updateProxyField should preserve placeholder when placeholder provided",
    "parameterTypes": [ ]
  }, {
    "name": "updateProxyField should store password as placeholder when actual password provided",
    "parameterTypes": [ ]
  }, {
    "name": "updateRagField should handle all numeric fields",
    "parameterTypes": [ ]
  }, {
    "name": "updateRagField should handle useAbsolutePathInCitations",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ChatConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "double", "boolean", "long", "java.lang.String" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "int", "double", "boolean", "long", "java.lang.String", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getDefaultResponseAILocale",
    "parameterTypes": [ ]
  }, {
    "name": "getEnableAsyncSummarization",
    "parameterTypes": [ ]
  }, {
    "name": "getMaxTokens",
    "parameterTypes": [ ]
  }, {
    "name": "getSummarizationThreshold",
    "parameterTypes": [ ]
  }, {
    "name": "getSummarizationTimeoutSeconds",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.CommaSeparatedSetDeserializer",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.DeveloperConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "boolean", "boolean" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "boolean", "boolean", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getActive",
    "parameterTypes": [ ]
  }, {
    "name": "getEnabled",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.EmbeddingConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "int", "java.lang.Integer" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "int", "int", "java.lang.Integer", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getChunkOverlap",
    "parameterTypes": [ ]
  }, {
    "name": "getMaxCharsPerChunk",
    "parameterTypes": [ ]
  }, {
    "name": "getPreferredDim",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.FilterConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "boolean", "boolean", "boolean", "boolean", "boolean", "boolean" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "boolean", "boolean", "boolean", "boolean", "boolean", "boolean", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getBinary",
    "parameterTypes": [ ]
  }, {
    "name": "getCustom",
    "parameterTypes": [ ]
  }, {
    "name": "getDockerignore",
    "parameterTypes": [ ]
  }, {
    "name": "getFilesize",
    "parameterTypes": [ ]
  }, {
    "name": "getGitignore",
    "parameterTypes": [ ]
  }, {
    "name": "getProjecttype",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.IndexingConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "long", "int", "io.askimo.core.config.FilterConfig", "java.util.Set", "java.util.Set", "java.util.Set", "java.util.Set", "java.util.List", "java.util.Set" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "long", "int", "io.askimo.core.config.FilterConfig", "java.util.Set", "java.util.Set", "java.util.Set", "java.util.Set", "java.util.List", "java.util.Set", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getBinaryExtensions",
    "parameterTypes": [ ]
  }, {
    "name": "getCommonExcludes",
    "parameterTypes": [ ]
  }, {
    "name": "getConcurrentIndexingThreads",
    "parameterTypes": [ ]
  }, {
    "name": "getCustomExcludes",
    "parameterTypes": [ ]
  }, {
    "name": "getExcludeFileNames",
    "parameterTypes": [ ]
  }, {
    "name": "getFilters",
    "parameterTypes": [ ]
  }, {
    "name": "getMaxFileBytes",
    "parameterTypes": [ ]
  }, {
    "name": "getProjectTypes",
    "parameterTypes": [ ]
  }, {
    "name": "getSupportedExtensions",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ModelTimeoutsConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "long", "long" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "long", "long", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getDefaultModelTimeoutSeconds",
    "parameterTypes": [ ]
  }, {
    "name": "getUtilityModelTimeoutSeconds",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ModelsConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.config.ModelTimeoutsConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.config.ModelTimeoutsConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "io.askimo.core.config.ProviderModelConfig", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getAnthropic",
    "parameterTypes": [ ]
  }, {
    "name": "getAskimo_pro",
    "parameterTypes": [ ]
  }, {
    "name": "getDocker",
    "parameterTypes": [ ]
  }, {
    "name": "getGemini",
    "parameterTypes": [ ]
  }, {
    "name": "getLmstudio",
    "parameterTypes": [ ]
  }, {
    "name": "getLocalai",
    "parameterTypes": [ ]
  }, {
    "name": "getOllama",
    "parameterTypes": [ ]
  }, {
    "name": "getOpenai",
    "parameterTypes": [ ]
  }, {
    "name": "getOpenai_compatible",
    "parameterTypes": [ ]
  }, {
    "name": "getTimeouts",
    "parameterTypes": [ ]
  }, {
    "name": "getXai",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ProjectType",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.util.Set", "java.util.Set" ]
  }, {
    "name": "getExcludePaths",
    "parameterTypes": [ ]
  }, {
    "name": "getMarkers",
    "parameterTypes": [ ]
  }, {
    "name": "getName",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ProviderModelConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "int", "int" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String", "int", "int", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getDefaultModel",
    "parameterTypes": [ ]
  }, {
    "name": "getEmbeddingModel",
    "parameterTypes": [ ]
  }, {
    "name": "getImageModel",
    "parameterTypes": [ ]
  }, {
    "name": "getThinkingBudgetTokens",
    "parameterTypes": [ ]
  }, {
    "name": "getThinkingMaxTokens",
    "parameterTypes": [ ]
  }, {
    "name": "getUtilityModel",
    "parameterTypes": [ ]
  }, {
    "name": "getVisionModel",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ProxyConfig",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.config.ProxyType", "java.lang.String", "int", "java.lang.String", "java.lang.String" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.config.ProxyType", "java.lang.String", "int", "java.lang.String", "java.lang.String", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getHost",
    "parameterTypes": [ ]
  }, {
    "name": "getPassword",
    "parameterTypes": [ ]
  }, {
    "name": "getPort",
    "parameterTypes": [ ]
  }, {
    "name": "getType",
    "parameterTypes": [ ]
  }, {
    "name": "getUsername",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ProxyConfig$Companion",
  "methods": [ {
    "name": "getStorageKey",
    "parameterTypes": [ "io.askimo.core.config.ProxyType" ]
  } ]
}, {
  "name": "io.askimo.core.config.ProxyType",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.core.config.RagConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "double", "int", "int", "boolean" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "int", "double", "int", "int", "boolean", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getHybridMaxResults",
    "parameterTypes": [ ]
  }, {
    "name": "getRankFusionConstant",
    "parameterTypes": [ ]
  }, {
    "name": "getUseAbsolutePathInCitations",
    "parameterTypes": [ ]
  }, {
    "name": "getVectorSearchMaxResults",
    "parameterTypes": [ ]
  }, {
    "name": "getVectorSearchMinScore",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.RetryConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "long" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "int", "long", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getAttempts",
    "parameterTypes": [ ]
  }, {
    "name": "getBaseDelayMs",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.config.ThrottleConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "long" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "long", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getPerRequestSleepMs",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.context.AppContext",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.context.AppContextParams", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "buildUserMemoryPrefix",
    "parameterTypes": [ ]
  }, {
    "name": "createUtilityClient",
    "parameterTypes": [ ]
  }, {
    "name": "getActiveProvider",
    "parameterTypes": [ ]
  }, {
    "name": "getParams",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.context.AppContextParams",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.providers.ModelProvider", "java.util.Map" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.providers.ModelProvider", "java.util.Map", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getCurrentProvider",
    "parameterTypes": [ ]
  }, {
    "name": "getModel",
    "parameterTypes": [ ]
  }, {
    "name": "getProviderSettings",
    "parameterTypes": [ ]
  }, {
    "name": "setCurrentProvider",
    "parameterTypes": [ "io.askimo.core.providers.ModelProvider" ]
  }, {
    "name": "setModel",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "io.askimo.core.context.AppContextParams$Companion"
}, {
  "name": "io.askimo.core.db.AbstractSQLiteRepository",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "categoryTestCases",
    "parameterTypes": [ ]
  }, {
    "name": "communicationKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "databaseKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "edgeCaseInputs",
    "parameterTypes": [ ]
  }, {
    "name": "executionKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "fileReadKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "fileWriteKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "monitoringKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "networkKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "noIntentMessages",
    "parameterTypes": [ ]
  }, {
    "name": "resultPropertyCases",
    "parameterTypes": [ ]
  }, {
    "name": "searchKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "transformKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "versionControlKeywords",
    "parameterTypes": [ ]
  }, {
    "name": "visualizationKeywords",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$CategoryCoverageTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "testCategoryDetection",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest$CategoryTestCase" ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$CategoryTestCase",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$EdgeCaseTestInput",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$EdgeCasesTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "handleEmptyToolsList",
    "parameterTypes": [ ]
  }, {
    "name": "testEdgeCaseInputs",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest$EdgeCaseTestInput" ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$McpToolsIntegrationTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "filterMcpToolsByStrategy",
    "parameterTypes": [ ]
  }, {
    "name": "includeMcpTools",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$MultipleToolDetectionTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "detectAllIntents",
    "parameterTypes": [ ]
  }, {
    "name": "detectMultipleIntents",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$NoIntentDetectionTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "testNoIntentDetection",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest$NoIntentTestCase" ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$NoIntentTestCase",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$ParameterizedKeywordTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "testCommunicationKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testDatabaseKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testExecutionKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testFileReadKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testFileWriteKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testMonitoringKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testNetworkKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testSearchKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testTransformKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testVersionControlKeywords",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "testVisualizationKeywords",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$RealWorldScenariosTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "commandExecutionRequest",
    "parameterTypes": [ ]
  }, {
    "name": "complexMultiStepRequest",
    "parameterTypes": [ ]
  }, {
    "name": "contextualAlertUsers",
    "parameterTypes": [ ]
  }, {
    "name": "contextualBuildTheProject",
    "parameterTypes": [ ]
  }, {
    "name": "contextualCallTheApi",
    "parameterTypes": [ ]
  }, {
    "name": "contextualCheckHealthStatus",
    "parameterTypes": [ ]
  }, {
    "name": "contextualCommitTheChanges",
    "parameterTypes": [ ]
  }, {
    "name": "contextualConnectToMysql",
    "parameterTypes": [ ]
  }, {
    "name": "contextualConvertToJson",
    "parameterTypes": [ ]
  }, {
    "name": "contextualCreateNewBranch",
    "parameterTypes": [ ]
  }, {
    "name": "contextualFetchFromTable",
    "parameterTypes": [ ]
  }, {
    "name": "contextualFetchFromUrl",
    "parameterTypes": [ ]
  }, {
    "name": "contextualFileExportToCsv",
    "parameterTypes": [ ]
  }, {
    "name": "contextualFindCodeInRepo",
    "parameterTypes": [ ]
  }, {
    "name": "contextualGetDataFromDb",
    "parameterTypes": [ ]
  }, {
    "name": "contextualGetDataFromFile",
    "parameterTypes": [ ]
  }, {
    "name": "contextualInstallDependencies",
    "parameterTypes": [ ]
  }, {
    "name": "contextualLoadJsonData",
    "parameterTypes": [ ]
  }, {
    "name": "contextualLocateFile",
    "parameterTypes": [ ]
  }, {
    "name": "contextualLogErrorEvents",
    "parameterTypes": [ ]
  }, {
    "name": "contextualLookupInGithub",
    "parameterTypes": [ ]
  }, {
    "name": "contextualMakeRequest",
    "parameterTypes": [ ]
  }, {
    "name": "contextualMergeIntoMain",
    "parameterTypes": [ ]
  }, {
    "name": "contextualMonitorTheSystem",
    "parameterTypes": [ ]
  }, {
    "name": "contextualNotifyTheTeam",
    "parameterTypes": [ ]
  }, {
    "name": "contextualParseXmlFile",
    "parameterTypes": [ ]
  }, {
    "name": "contextualPostToApi",
    "parameterTypes": [ ]
  }, {
    "name": "contextualPostToSlack",
    "parameterTypes": [ ]
  }, {
    "name": "contextualPushToRemote",
    "parameterTypes": [ ]
  }, {
    "name": "contextualQueryTheDatabase",
    "parameterTypes": [ ]
  }, {
    "name": "contextualReadDataFromCsv",
    "parameterTypes": [ ]
  }, {
    "name": "contextualRunTheTests",
    "parameterTypes": [ ]
  }, {
    "name": "contextualSaveDataInFile",
    "parameterTypes": [ ]
  }, {
    "name": "contextualSearchForFiles",
    "parameterTypes": [ ]
  }, {
    "name": "contextualSendEmailToUser",
    "parameterTypes": [ ]
  }, {
    "name": "contextualSerializeToYaml",
    "parameterTypes": [ ]
  }, {
    "name": "contextualShowMeTheFile",
    "parameterTypes": [ ]
  }, {
    "name": "contextualStartTheServer",
    "parameterTypes": [ ]
  }, {
    "name": "contextualTrackPerformanceMetrics",
    "parameterTypes": [ ]
  }, {
    "name": "contextualTransformDataToCsv",
    "parameterTypes": [ ]
  }, {
    "name": "contextualWriteOutputToJson",
    "parameterTypes": [ ]
  }, {
    "name": "dataExportRequest",
    "parameterTypes": [ ]
  }, {
    "name": "gdpDataWithContextualVisualization",
    "parameterTypes": [ ]
  }, {
    "name": "gdpVisualizationRequest",
    "parameterTypes": [ ]
  }, {
    "name": "simpleInformationalQuestion",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$ResultPropertiesTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "correctStage",
    "parameterTypes": [ ]
  }, {
    "name": "reasoningWhenMatched",
    "parameterTypes": [ ]
  }, {
    "name": "reasoningWhenNotMatched",
    "parameterTypes": [ ]
  }, {
    "name": "testConfidenceLevels",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest$ResultPropertyTest" ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$ResultPropertyTest",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandTest$ToolStrategyFilteringTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandTest" ]
  }, {
    "name": "filterFollowUpOnlyTools",
    "parameterTypes": [ ]
  }, {
    "name": "includeBothStrategyTools",
    "parameterTypes": [ ]
  }, {
    "name": "onlyIntentBasedTools",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest$DeduplicationTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest" ]
  }, {
    "name": "keywordToolNotDuplicatedByVector",
    "parameterTypes": [ ]
  }, {
    "name": "vectorOnlyToolAppendedAfterKeywordMatch",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest$NullIndexTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest" ]
  }, {
    "name": "nullVectorIndexDoesNotBreakKeywordDetection",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest$ReIndexTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest" ]
  }, {
    "name": "reIndexReplacesOldTools",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest$ResultMetadataTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest" ]
  }, {
    "name": "distinctByNamePreventsResultDuplication",
    "parameterTypes": [ ]
  }, {
    "name": "reasoningMentionsVectorSearch",
    "parameterTypes": [ ]
  }, {
    "name": "stageIsAlwaysUserInput",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest$StrategyFilteringTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest" ]
  }, {
    "name": "bothStrategyToolIncludedViaVector",
    "parameterTypes": [ ]
  }, {
    "name": "followUpBasedToolExcludedFromVectorResults",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest$VectorOnlyMatchTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.intent.DetectUserIntentCommandVectorIndexTest" ]
  }, {
    "name": "semanticQueryMatchesToolViaVector",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.HttpConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "java.lang.String", "java.util.Map", "long", "kotlinx.serialization.internal.SerializationConstructorMarker" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.util.Map", "long" ]
  }, {
    "name": "getHeadersTemplate",
    "parameterTypes": [ ]
  }, {
    "name": "getTimeoutMs",
    "parameterTypes": [ ]
  }, {
    "name": "getUrlTemplate",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.HttpConfig$$serializer"
}, {
  "name": "io.askimo.core.mcp.HttpConfig$Companion"
}, {
  "name": "io.askimo.core.mcp.McpInstance"
}, {
  "name": "io.askimo.core.mcp.McpInstanceData",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "java.lang.String", "java.lang.String", "java.lang.String", "java.util.Map", "java.util.Set", "boolean", "java.lang.String", "java.lang.String", "kotlinx.serialization.internal.SerializationConstructorMarker" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.String", "java.lang.String", "java.util.Map", "java.util.Set", "boolean", "java.lang.String", "java.lang.String" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.String", "java.lang.String", "java.util.Map", "java.util.Set", "boolean", "java.lang.String", "java.lang.String", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getCreatedAt",
    "parameterTypes": [ ]
  }, {
    "name": "getEnabled",
    "parameterTypes": [ ]
  }, {
    "name": "getId",
    "parameterTypes": [ ]
  }, {
    "name": "getName",
    "parameterTypes": [ ]
  }, {
    "name": "getParameterValues",
    "parameterTypes": [ ]
  }, {
    "name": "getSecretParameterKeys",
    "parameterTypes": [ ]
  }, {
    "name": "getServerId",
    "parameterTypes": [ ]
  }, {
    "name": "getUpdatedAt",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.McpInstanceData$$serializer"
}, {
  "name": "io.askimo.core.mcp.McpInstanceData$Companion"
}, {
  "name": "io.askimo.core.mcp.McpInstanceServiceTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "createInstance successfully creates both server definition and instance",
    "parameterTypes": [ ]
  }, {
    "name": "deleteInstance does not remove server definitions without global tag",
    "parameterTypes": [ ]
  }, {
    "name": "deleteInstance handles non-existent instance gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "deleteInstance removes both instance and associated server definition",
    "parameterTypes": [ ]
  }, {
    "name": "getInstances returns all global instances",
    "parameterTypes": [ ]
  }, {
    "name": "updateInstance modifies instance properties",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.McpServerDefinition",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "java.lang.String", "java.lang.String", "java.lang.String", "io.askimo.core.mcp.TransportType", "io.askimo.core.mcp.StdioConfig", "io.askimo.core.mcp.HttpConfig", "java.util.List", "java.lang.String", "java.lang.String", "java.util.List", "kotlinx.serialization.internal.SerializationConstructorMarker" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.String", "java.lang.String", "io.askimo.core.mcp.TransportType", "io.askimo.core.mcp.StdioConfig", "io.askimo.core.mcp.HttpConfig", "java.util.List", "java.lang.String", "java.lang.String", "java.util.List" ]
  }, {
    "name": "getAuthor",
    "parameterTypes": [ ]
  }, {
    "name": "getDescription",
    "parameterTypes": [ ]
  }, {
    "name": "getHttpConfig",
    "parameterTypes": [ ]
  }, {
    "name": "getId",
    "parameterTypes": [ ]
  }, {
    "name": "getName",
    "parameterTypes": [ ]
  }, {
    "name": "getParameters",
    "parameterTypes": [ ]
  }, {
    "name": "getStdioConfig",
    "parameterTypes": [ ]
  }, {
    "name": "getTags",
    "parameterTypes": [ ]
  }, {
    "name": "getTransportType",
    "parameterTypes": [ ]
  }, {
    "name": "getVersion",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.McpServerDefinition$$serializer"
}, {
  "name": "io.askimo.core.mcp.McpServerDefinition$Companion"
}, {
  "name": "io.askimo.core.mcp.Parameter"
}, {
  "name": "io.askimo.core.mcp.ServerDefinitionSecretManagerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "cleanup",
    "parameterTypes": [ ]
  }, {
    "name": "cleanupSecrets handles non-existent server gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "cleanupSecrets removes all secrets for a server",
    "parameterTypes": [ ]
  }, {
    "name": "isSecretReference correctly identifies secret references",
    "parameterTypes": [ ]
  }, {
    "name": "protect and resolve round-trip maintains original values",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets detects and protects HTTP header secrets",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets detects and protects STDIO env var secrets",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets handles HTTP server with no secrets",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets handles STDIO server with no secrets",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets handles empty env vars",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets handles empty headers",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets handles empty secret values",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets handles various secret keyword patterns",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets is case-insensitive for secret detection",
    "parameterTypes": [ ]
  }, {
    "name": "protectSecrets preserves existing secret references",
    "parameterTypes": [ ]
  }, {
    "name": "resolveSecrets handles missing secrets gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "resolveSecrets replaces references with actual values for HTTP",
    "parameterTypes": [ ]
  }, {
    "name": "resolveSecrets replaces references with actual values for STDIO",
    "parameterTypes": [ ]
  }, {
    "name": "secret key format matches expected namespace pattern",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.StdioConfig",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "int", "java.util.List", "java.util.Map", "java.lang.String", "kotlinx.serialization.internal.SerializationConstructorMarker" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.util.List", "java.util.Map", "java.lang.String" ]
  }, {
    "name": "getCommandTemplate",
    "parameterTypes": [ ]
  }, {
    "name": "getEnvTemplate",
    "parameterTypes": [ ]
  }, {
    "name": "getWorkingDirectory",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.StdioConfig$$serializer"
}, {
  "name": "io.askimo.core.mcp.StdioConfig$Companion"
}, {
  "name": "io.askimo.core.mcp.TemplateResolverTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "extractParameters finds both simple and conditional",
    "parameterTypes": [ ]
  }, {
    "name": "extractParameters finds conditional placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "extractParameters finds simple placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "extractParameters from complex template",
    "parameterTypes": [ ]
  }, {
    "name": "extractParameters handles duplicate parameters",
    "parameterTypes": [ ]
  }, {
    "name": "extractParameters returns empty for empty string",
    "parameterTypes": [ ]
  }, {
    "name": "extractParameters returns empty for plain text",
    "parameterTypes": [ ]
  }, {
    "name": "resolve Docker command with all options",
    "parameterTypes": [ ]
  }, {
    "name": "resolve MongoDB connection string",
    "parameterTypes": [ ]
  }, {
    "name": "resolve command line arguments with optional flags",
    "parameterTypes": [ ]
  }, {
    "name": "resolve complex command with multiple placeholder types",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder when false",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder when missing",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder when true",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder with True capitalized",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder with case insensitive true",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder with complex value",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder with equals sign in value",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional placeholder with spaces in value",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional with empty string treats as false",
    "parameterTypes": [ ]
  }, {
    "name": "resolve conditional with non-boolean value treats as false",
    "parameterTypes": [ ]
  }, {
    "name": "resolve empty template returns empty string",
    "parameterTypes": [ ]
  }, {
    "name": "resolve environment variables for deployment",
    "parameterTypes": [ ]
  }, {
    "name": "resolve handles adjacent placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "resolve handles empty string value",
    "parameterTypes": [ ]
  }, {
    "name": "resolve handles placeholder with numbers",
    "parameterTypes": [ ]
  }, {
    "name": "resolve handles placeholder with underscore",
    "parameterTypes": [ ]
  }, {
    "name": "resolve mix of simple and conditional placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "resolve multiple conditional placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "resolve multiple simple placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "resolve placeholder at end of string",
    "parameterTypes": [ ]
  }, {
    "name": "resolve placeholder at start of string",
    "parameterTypes": [ ]
  }, {
    "name": "resolve placeholder with numeric value",
    "parameterTypes": [ ]
  }, {
    "name": "resolve placeholder with special characters in value",
    "parameterTypes": [ ]
  }, {
    "name": "resolve preserves whitespace around placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "resolve same placeholder multiple times",
    "parameterTypes": [ ]
  }, {
    "name": "resolve simple placeholder with value",
    "parameterTypes": [ ]
  }, {
    "name": "resolve simple placeholder without value returns empty",
    "parameterTypes": [ ]
  }, {
    "name": "resolve template with no placeholders returns original",
    "parameterTypes": [ ]
  }, {
    "name": "resolveList filters out empty results from false conditionals",
    "parameterTypes": [ ]
  }, {
    "name": "resolveList filters out empty results from missing values",
    "parameterTypes": [ ]
  }, {
    "name": "resolveList with all valid templates",
    "parameterTypes": [ ]
  }, {
    "name": "resolveList with empty list returns empty",
    "parameterTypes": [ ]
  }, {
    "name": "resolveList with mixed placeholder types",
    "parameterTypes": [ ]
  }, {
    "name": "resolveMap filters out blank values",
    "parameterTypes": [ ]
  }, {
    "name": "resolveMap handles comma-separated with spaces",
    "parameterTypes": [ ]
  }, {
    "name": "resolveMap splits comma-separated KEY=value pairs",
    "parameterTypes": [ ]
  }, {
    "name": "resolveMap with conditional placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "resolveMap with empty template map returns empty",
    "parameterTypes": [ ]
  }, {
    "name": "resolveMap with simple key-value pairs",
    "parameterTypes": [ ]
  }, {
    "name": "validate detects empty placeholder",
    "parameterTypes": [ ]
  }, {
    "name": "validate detects unmatched closing braces",
    "parameterTypes": [ ]
  }, {
    "name": "validate detects unmatched opening braces",
    "parameterTypes": [ ]
  }, {
    "name": "validate returns valid for correct conditional placeholder",
    "parameterTypes": [ ]
  }, {
    "name": "validate returns valid for correct simple placeholder",
    "parameterTypes": [ ]
  }, {
    "name": "validate returns valid for empty string",
    "parameterTypes": [ ]
  }, {
    "name": "validate returns valid for multiple placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "validate returns valid for nested braces in value",
    "parameterTypes": [ ]
  }, {
    "name": "validate returns valid for plain text",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.TransportType",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.core.mcp.TransportType$Companion"
}, {
  "name": "io.askimo.core.mcp.VariableExtractorTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "extract Filesystem MCP server variables",
    "parameterTypes": [ ]
  }, {
    "name": "extract MongoDB MCP server variables",
    "parameterTypes": [ ]
  }, {
    "name": "extract complex server with multiple variable types",
    "parameterTypes": [ ]
  }, {
    "name": "extract should find variables from command template only",
    "parameterTypes": [ ]
  }, {
    "name": "extract should find variables from environment template only",
    "parameterTypes": [ ]
  }, {
    "name": "extract should find variables from working directory",
    "parameterTypes": [ ]
  }, {
    "name": "extract should handle empty config",
    "parameterTypes": [ ]
  }, {
    "name": "extract should handle malformed placeholders gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "extract should handle nested braces in conditional value",
    "parameterTypes": [ ]
  }, {
    "name": "extract should handle very long variable names",
    "parameterTypes": [ ]
  }, {
    "name": "extract should identify conditional variables",
    "parameterTypes": [ ]
  }, {
    "name": "extract should return sorted results by key",
    "parameterTypes": [ ]
  }, {
    "name": "extract should track variable in multiple locations",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should find both simple and conditional placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should find conditional placeholder",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should find multiple placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should find simple placeholder",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should handle adjacent placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should handle complex conditional with value containing special chars",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should handle conditional with spaces in value",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should handle unicode characters",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should remove duplicates",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should return empty for empty string",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should return empty for no placeholders",
    "parameterTypes": [ ]
  }, {
    "name": "extractFromString should trim whitespace in variable keys",
    "parameterTypes": [ ]
  }, {
    "name": "resolve extension should filter out blank working directory",
    "parameterTypes": [ ]
  }, {
    "name": "resolve extension should handle missing optional variables",
    "parameterTypes": [ ]
  }, {
    "name": "resolve extension should produce resolved config",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.config.InstancesWrapper",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.util.List" ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.util.List", "int", "kotlin.jvm.internal.DefaultConstructorMarker" ]
  }, {
    "name": "getInstances",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.mcp.config.McpServersWrapper",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.util.List" ]
  }, {
    "name": "getServers",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.memory.TokenAwareSummarizingMemoryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setup",
    "parameterTypes": [ ]
  }, {
    "name": "should add messages to memory",
    "parameterTypes": [ ]
  }, {
    "name": "should calculate maxTokens based on model context size",
    "parameterTypes": [ ]
  }, {
    "name": "should clear all messages and summary",
    "parameterTypes": [ ]
  }, {
    "name": "should close executor service properly",
    "parameterTypes": [ ]
  }, {
    "name": "should estimate tokens correctly with default estimator",
    "parameterTypes": [ ]
  }, {
    "name": "should export and import memory state",
    "parameterTypes": [ ]
  }, {
    "name": "should extract text content from different message types",
    "parameterTypes": [ ]
  }, {
    "name": "should handle concurrent message additions safely",
    "parameterTypes": [ ]
  }, {
    "name": "should handle database load failure gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "should handle database save failure gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "should handle empty conversation gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "should handle summarization failure gracefully with fallback",
    "parameterTypes": [ ]
  }, {
    "name": "should handle very long messages",
    "parameterTypes": [ ]
  }, {
    "name": "should initialize empty memory",
    "parameterTypes": [ ]
  }, {
    "name": "should load from database on initialization",
    "parameterTypes": [ ]
  }, {
    "name": "should maintain message order",
    "parameterTypes": [ ]
  }, {
    "name": "should merge summaries when multiple summarizations occur",
    "parameterTypes": [ ]
  }, {
    "name": "should not trigger summarization below threshold",
    "parameterTypes": [ ]
  }, {
    "name": "should persist to database when adding messages",
    "parameterTypes": [ ]
  }, {
    "name": "should preserve system messages during summarization",
    "parameterTypes": [ ]
  }, {
    "name": "should respect synchronous summarization mode",
    "parameterTypes": [ ]
  }, {
    "name": "should serialize and deserialize memory state correctly",
    "parameterTypes": [ ]
  }, {
    "name": "should trigger summarization above threshold",
    "parameterTypes": [ ]
  }, {
    "name": "should use custom token estimator when provided",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.ChatClient",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "sendMessage",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "sendMessageStreaming",
    "parameterTypes": [ "dev.langchain4j.data.message.UserMessage", "dev.langchain4j.model.chat.request.ChatRequestParameters" ]
  } ]
}, {
  "name": "io.askimo.core.providers.ChatClient$MockitoMock$S2BWGxvC",
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.ChatRequestTransformersTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.ChatRequestTransformersTest$EdgeCaseTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.providers.ChatRequestTransformersTest" ]
  }, {
    "name": "shouldHandleLongMessages",
    "parameterTypes": [ ]
  }, {
    "name": "shouldHandleNullSessionId",
    "parameterTypes": [ ]
  }, {
    "name": "shouldHandleOnlyUserMessages",
    "parameterTypes": [ ]
  }, {
    "name": "shouldHandleShortMessages",
    "parameterTypes": [ ]
  }, {
    "name": "shouldPreserveMessageOrder",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.ChatRequestTransformersTest$ModelProviderTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.providers.ChatRequestTransformersTest" ]
  }, {
    "name": "shouldPlaceSystemMessagesBeforeUserMessages",
    "parameterTypes": [ ]
  }, {
    "name": "shouldWorkWithAnthropic",
    "parameterTypes": [ ]
  }, {
    "name": "shouldWorkWithGemini",
    "parameterTypes": [ ]
  }, {
    "name": "shouldWorkWithOllama",
    "parameterTypes": [ ]
  }, {
    "name": "shouldWorkWithOpenAI",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.ChatRequestTransformersTest$TokenBudgetTests",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.providers.ChatRequestTransformersTest" ]
  }, {
    "name": "shouldHandleLargeContextModels",
    "parameterTypes": [ ]
  }, {
    "name": "shouldKeepAllMessagesUnderBudget",
    "parameterTypes": [ ]
  }, {
    "name": "shouldKeepMostRecentMessages",
    "parameterTypes": [ ]
  }, {
    "name": "shouldTruncateOldMessagesWhenExceedingBudget",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.HasApiKey",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.providers.ModelProvider",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.core.providers.ModelProvider$Companion"
}, {
  "name": "io.askimo.core.providers.ProviderConfigField"
}, {
  "name": "io.askimo.core.providers.ProviderSettings",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "getDefaultModel",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.SettingField"
}, {
  "name": "io.askimo.core.providers.TestToolProviderFactory",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.providers.anthropic.AnthropicModelFactoryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "availableModelsReturnsModelsWithApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "canCreateChatServiceAndStream",
    "parameterTypes": [ ]
  }, {
    "name": "defaultSettingsTest",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.anthropic.AnthropicSettings"
}, {
  "name": "io.askimo.core.providers.docker.DockerAiSettings"
}, {
  "name": "io.askimo.core.providers.gemini.GeminiModelFactoryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "availableModelsReturnsModelsWithApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "canCallCountEntriesTool",
    "parameterTypes": [ ]
  }, {
    "name": "canCreateChatServiceAndStream",
    "parameterTypes": [ ]
  }, {
    "name": "defaultSettingsTest",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.gemini.GeminiSettings"
}, {
  "name": "io.askimo.core.providers.lmstudio.LmStudioSettings"
}, {
  "name": "io.askimo.core.providers.localai.LocalAiSettings"
}, {
  "name": "io.askimo.core.providers.ollama.OllamaModelFactoryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "canCallCountEntriesTool",
    "parameterTypes": [ ]
  }, {
    "name": "canCreateChatServiceAndStream",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.ollama.OllamaSettings"
}, {
  "name": "io.askimo.core.providers.openai.OpenAiModelFactoryProxyTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "canConfigureHttpProxy",
    "parameterTypes": [ ]
  }, {
    "name": "canConfigureHttpsProxy",
    "parameterTypes": [ ]
  }, {
    "name": "canConfigureProxyAuth",
    "parameterTypes": [ ]
  }, {
    "name": "canConfigureSocks5Proxy",
    "parameterTypes": [ ]
  }, {
    "name": "modelListRespectsProxy",
    "parameterTypes": [ ]
  }, {
    "name": "proxyConfigPersistsAcrossRequests",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "streamingModelRespectsProxy",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "utilityModelRespectsProxy",
    "parameterTypes": [ ]
  }, {
    "name": "worksWithNoProxy",
    "parameterTypes": [ ]
  }, {
    "name": "worksWithSystemProxy",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.openai.OpenAiModelFactoryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "availableModelsReturnsEmptyListWithoutApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "availableModelsReturnsModelsWithApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "canCallCountEntriesTool",
    "parameterTypes": [ ]
  }, {
    "name": "canCreateChatServiceAndStream",
    "parameterTypes": [ ]
  }, {
    "name": "defaultSettingsTest",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.openai.OpenAiSettings",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.String", "java.lang.String" ]
  }, {
    "name": "getApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "getDefaultModel",
    "parameterTypes": [ ]
  }, {
    "name": "setApiKey",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "io.askimo.core.providers.openaicompatible.OpenAiCompatibleSettings"
}, {
  "name": "io.askimo.core.providers.xai.XAiModelFactoryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "availableModelsReturnsEmptyListWithoutApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "availableModelsReturnsModelsWithApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "canCallCountEntriesTool",
    "parameterTypes": [ ]
  }, {
    "name": "canCreateChatServiceAndStream",
    "parameterTypes": [ ]
  }, {
    "name": "defaultSettingsTest",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.providers.xai.XAiSettings"
}, {
  "name": "io.askimo.core.recipes.DefaultRecipeInitializerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "should create gitcommit template when it doesn't exist",
    "parameterTypes": [ ]
  }, {
    "name": "should not overwrite existing template",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.recipes.IRecipeRegistry",
  "allDeclaredClasses": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.recipes.IToolRegistry",
  "allDeclaredClasses": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.recipes.MiniTpl",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.recipes.RecipeDefinition",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.recipes.RecipeExecutorTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "testExternalArgSubstitution",
    "parameterTypes": [ ]
  }, {
    "name": "testRecipeExecutorWithExternalArg",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.recipes.RecipeExecutorTest$testExternalArgSubstitution$TestRecipeExecutor",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.recipes.RecipeExecutorTest$testRecipeExecutorWithExternalArg$TestRecipeExecutor",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.recipes.RecipeVarCall",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.recipes.TestTools",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "listParam",
    "parameterTypes": [ "java.util.List" ]
  }, {
    "name": "multipleParams",
    "parameterTypes": [ "java.lang.String", "int", "boolean" ]
  }, {
    "name": "noParams",
    "parameterTypes": [ ]
  }, {
    "name": "numericParams",
    "parameterTypes": [ "int", "long", "double", "float" ]
  }, {
    "name": "singleString",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "withDefaults",
    "parameterTypes": [ "java.lang.String", "java.lang.String", "boolean" ]
  } ]
}, {
  "name": "io.askimo.core.recipes.ToolRegistryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "allow filter restricts available tools",
    "parameterTypes": [ ]
  }, {
    "name": "defaults include git and io tools with expected keys",
    "parameterTypes": [ ]
  }, {
    "name": "invoke IoTools readFile returns error for missing file",
    "parameterTypes": [ ]
  }, {
    "name": "invoke git commit with map args uses parameter names correctly",
    "parameterTypes": [ ]
  }, {
    "name": "invoke on missing tool throws error with available list",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with list args for multiple parameters matches by position",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with list args for single list parameter",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with list args handles missing parameters as defaults",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with list args handles type coercion",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args for method with defaults",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args for numeric types",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args handles numeric type coercion from strings",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args handles partial parameters with nulls",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args handles type coercion from strings",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args handles wrong parameter names as null",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args overrides defaults",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with map args resolves parameter names correctly",
    "parameterTypes": [ ]
  }, {
    "name": "invoke with null args calls no-parameter method",
    "parameterTypes": [ ]
  }, {
    "name": "invoke works for IoTools readFile using array args",
    "parameterTypes": [ ]
  }, {
    "name": "invoke works for IoTools writeFile using array args",
    "parameterTypes": [ ]
  }, {
    "name": "multiple tool invocations work correctly",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.recipes.ToolRegistryTestKt",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.search.SessionSearchServiceIT",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "setUpClass",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "should combine multiple filters",
    "parameterTypes": [ ]
  }, {
    "name": "should distinguish between user and assistant messages",
    "parameterTypes": [ ]
  }, {
    "name": "should filter by date range",
    "parameterTypes": [ ]
  }, {
    "name": "should filter by project",
    "parameterTypes": [ ]
  }, {
    "name": "should find messages matching search query",
    "parameterTypes": [ ]
  }, {
    "name": "should find partial word matches",
    "parameterTypes": [ ]
  }, {
    "name": "should handle empty database gracefully",
    "parameterTypes": [ ]
  }, {
    "name": "should handle multiple sessions with same search term",
    "parameterTypes": [ ]
  }, {
    "name": "should include session metadata in results",
    "parameterTypes": [ ]
  }, {
    "name": "should respect limit parameter",
    "parameterTypes": [ ]
  }, {
    "name": "should return empty results for blank query",
    "parameterTypes": [ ]
  }, {
    "name": "should return empty results for non-matching query",
    "parameterTypes": [ ]
  }, {
    "name": "should search case-insensitively",
    "parameterTypes": [ ]
  }, {
    "name": "should sort by DATE_ASC - oldest first",
    "parameterTypes": [ ]
  }, {
    "name": "should sort by DATE_DESC - newest first",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "tearDownClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.search.SessionSearchServiceIT$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.EncryptionManagerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "testBasicEncryptionDecryption",
    "parameterTypes": [ ]
  }, {
    "name": "testCorruptedKeyFileHandling",
    "parameterTypes": [ ]
  }, {
    "name": "testEmptyStringEncryption",
    "parameterTypes": [ ]
  }, {
    "name": "testInvalidCiphertextHandling",
    "parameterTypes": [ ]
  }, {
    "name": "testKeyDeletion",
    "parameterTypes": [ ]
  }, {
    "name": "testKeyDirectoryCreation",
    "parameterTypes": [ ]
  }, {
    "name": "testKeyPersistence",
    "parameterTypes": [ ]
  }, {
    "name": "testLongApiKeyEncryption",
    "parameterTypes": [ ]
  }, {
    "name": "testMultipleEncryptions",
    "parameterTypes": [ ]
  }, {
    "name": "testRandomIVGeneration",
    "parameterTypes": [ ]
  }, {
    "name": "testSpecialCharactersEncryption",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.KeychainManagerLinuxIntegrationTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.KeychainManagerLinuxIntegrationTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.KeychainManagerMacOSIntegrationTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "test edge case empty API key",
    "parameterTypes": [ ]
  }, {
    "name": "test edge case very long API key",
    "parameterTypes": [ ]
  }, {
    "name": "test multiple providers isolation",
    "parameterTypes": [ ]
  }, {
    "name": "test remove API key",
    "parameterTypes": [ ]
  }, {
    "name": "test retrieve non-existent API key",
    "parameterTypes": [ ]
  }, {
    "name": "test store and retrieve API key with special characters",
    "parameterTypes": [ ]
  }, {
    "name": "test store and retrieve long OpenAI API key",
    "parameterTypes": [ ]
  }, {
    "name": "test store and retrieve simple API key",
    "parameterTypes": [ ]
  }, {
    "name": "test update existing API key",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.KeychainManagerMacOSIntegrationTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.KeychainManagerWindowsIntegrationTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.KeychainManagerWindowsIntegrationTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.SecureKeyManagerLinuxIntegrationTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.SecureKeyManagerLinuxIntegrationTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.SecureKeyManagerMacOSIntegrationTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "test SecureApiKeyManager end-to-end with long OpenAI API key",
    "parameterTypes": [ ]
  }, {
    "name": "test remove API key through SecureApiKeyManager",
    "parameterTypes": [ ]
  }, {
    "name": "test retrieve non-existent key through SecureApiKeyManager",
    "parameterTypes": [ ]
  }, {
    "name": "test storage method detection",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.SecureKeyManagerMacOSIntegrationTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.SecureKeyManagerWindowsIntegrationTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.SecureKeyManagerWindowsIntegrationTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.SecureSessionManagerTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "setUp",
    "parameterTypes": [ ]
  }, {
    "name": "tearDown",
    "parameterTypes": [ ]
  }, {
    "name": "testCorruptedEncryptedApiKey",
    "parameterTypes": [ ]
  }, {
    "name": "testEncryptedApiKeyHandling",
    "parameterTypes": [ ]
  }, {
    "name": "testEncryptionFallback",
    "parameterTypes": [ ]
  }, {
    "name": "testKeychainOperationsDirectly",
    "parameterTypes": [ ]
  }, {
    "name": "testKeychainPlaceholderHandling",
    "parameterTypes": [ ]
  }, {
    "name": "testLoadSessionWithEmptyApiKeys",
    "parameterTypes": [ ]
  }, {
    "name": "testMultipleProvidersWithApiKeys",
    "parameterTypes": [ ]
  }, {
    "name": "testPreserveNonApiKeySettings",
    "parameterTypes": [ ]
  }, {
    "name": "testRoundTripSaveAndLoad",
    "parameterTypes": [ ]
  }, {
    "name": "testSaveSessionWithApiKeys",
    "parameterTypes": [ ]
  }, {
    "name": "testSecureSessionLoading",
    "parameterTypes": [ ]
  }, {
    "name": "testSessionParamsCopyBehavior",
    "parameterTypes": [ ]
  }, {
    "name": "testStorageSecurityDescriptions",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.security.SecureSessionManagerTest$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.TestProviderSettings",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.TestProviderSettings$$serializer",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.security.TestProviderSettings$Companion",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest$CountSkills",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.skills.SkillRepositoryTest" ]
  }, {
    "name": "category folder without skills returns 0",
    "parameterTypes": [ ]
  }, {
    "name": "deeply nested category structure counts correctly",
    "parameterTypes": [ ]
  }, {
    "name": "empty directory returns 0",
    "parameterTypes": [ ]
  }, {
    "name": "git directory is excluded",
    "parameterTypes": [ ]
  }, {
    "name": "hidden directories are skipped",
    "parameterTypes": [ ]
  }, {
    "name": "multiple root-level skill folders count individually",
    "parameterTypes": [ ]
  }, {
    "name": "multiple skills across categories",
    "parameterTypes": [ ]
  }, {
    "name": "reserved files alone do not count as skills",
    "parameterTypes": [ ]
  }, {
    "name": "single root-level skill folder counts as 1",
    "parameterTypes": [ ]
  }, {
    "name": "skill nested inside category folder is counted",
    "parameterTypes": [ ]
  }, {
    "name": "skill-md matching is case-insensitive",
    "parameterTypes": [ ]
  }, {
    "name": "sub-folder inside a skill folder is NOT a separate skill",
    "parameterTypes": [ ]
  }, {
    "name": "sub-folder with skill-md inside a skill folder is NOT counted separately",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest$GetAll",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.skills.SkillRepositoryTest" ]
  }, {
    "name": "reserved filenames and entry point are excluded",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest$GetSkillsOnly",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.skills.SkillRepositoryTest" ]
  }, {
    "name": "empty skills dir returns empty list",
    "parameterTypes": [ ]
  }, {
    "name": "multiple skill folders across categories",
    "parameterTypes": [ ]
  }, {
    "name": "plain category folder is transparent - skills inside are found",
    "parameterTypes": [ ]
  }, {
    "name": "plain folder without skill dot md is NOT a skill",
    "parameterTypes": [ ]
  }, {
    "name": "reserved files inside skill folder are NOT merged as context",
    "parameterTypes": [ ]
  }, {
    "name": "root-level skill folder has empty category",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder category is the parent folder not the skill folder itself",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder entry point is case-insensitive",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder name comes from folder when frontmatter name is blank",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder sibling md files are NOT listed as separate skills",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder structure section lists all files",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder supplemental content is merged into skill content",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder with non-md supplemental files includes them in content",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder with skill dot md is returned as single skill",
    "parameterTypes": [ ]
  }, {
    "name": "standalone md file is NOT a skill",
    "parameterTypes": [ ]
  }, {
    "name": "sub-folder of skill folder is NOT a separate skill",
    "parameterTypes": [ ]
  }, {
    "name": "supplemental md files have frontmatter stripped in content",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest$GetTree",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.skills.SkillRepositoryTest" ]
  }, {
    "name": "root-level skill folder has no category wrapper",
    "parameterTypes": [ ]
  }, {
    "name": "skill deeply nested - only immediate parent shown as category",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder children include sibling md files as Leaf nodes",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder children include sub-directories",
    "parameterTypes": [ ]
  }, {
    "name": "skill one level deep - direct parent shown as category",
    "parameterTypes": [ ]
  }, {
    "name": "two skills under same immediate parent grouped under one category",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest$HiddenDirectoryFiltering",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.skills.SkillRepositoryTest" ]
  }, {
    "name": "getAll - files inside dot-git are excluded",
    "parameterTypes": [ ]
  }, {
    "name": "getAll - files inside dot-github are excluded",
    "parameterTypes": [ ]
  }, {
    "name": "getSkillsOnly - skills in dot-hidden dirs are excluded",
    "parameterTypes": [ ]
  }, {
    "name": "getTree - dot-git directory does not appear as Category node",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest$ImportFromDirectory",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.skills.SkillRepositoryTest" ]
  }, {
    "name": "case-insensitive entry point detection on import",
    "parameterTypes": [ ]
  }, {
    "name": "directories with no skills are excluded",
    "parameterTypes": [ ]
  }, {
    "name": "dot git directory is excluded",
    "parameterTypes": [ ]
  }, {
    "name": "multiple skill folders all imported",
    "parameterTypes": [ ]
  }, {
    "name": "reserved files at root are excluded (not skill folders)",
    "parameterTypes": [ ]
  }, {
    "name": "returns correct skill count - only skill folders counted",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder sibling non-md files are imported",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder subdirectory files are imported",
    "parameterTypes": [ ]
  }, {
    "name": "skill folder with skill dot md is imported",
    "parameterTypes": [ ]
  }, {
    "name": "standalone md file is NOT imported (not a skill)",
    "parameterTypes": [ ]
  }, {
    "name": "sub-skill-folder inside skill folder is NOT imported as separate skill",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.skills.SkillRepositoryTest$SaveAndDelete",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "io.askimo.core.skills.SkillRepositoryTest" ]
  }, {
    "name": "delete does NOT prune category parent when sibling skill still exists",
    "parameterTypes": [ ]
  }, {
    "name": "delete partially prunes deep category chain up to surviving sibling",
    "parameterTypes": [ ]
  }, {
    "name": "delete prunes empty category parent after last skill removed",
    "parameterTypes": [ ]
  }, {
    "name": "delete prunes skill folder together with supplemental files",
    "parameterTypes": [ ]
  }, {
    "name": "delete prunes the skill folder itself",
    "parameterTypes": [ ]
  }, {
    "name": "delete removes file",
    "parameterTypes": [ ]
  }, {
    "name": "delete returns false for non-existent file and does not prune",
    "parameterTypes": [ ]
  }, {
    "name": "save persists file and findByPath retrieves the skill",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.util.AskimoHome",
  "fields": [ {
    "name": "impl"
  } ]
}, {
  "name": "io.askimo.core.util.ProcessBuilderExtTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "ProcessBuilderExt should execute common system commands",
    "parameterTypes": [ ]
  }, {
    "name": "ProcessBuilderExt should find executables in PATH",
    "parameterTypes": [ ]
  }, {
    "name": "ProcessBuilderExt should handle List constructor",
    "parameterTypes": [ ]
  }, {
    "name": "ProcessBuilderExt should work with redirectErrorStream",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.util.RetryUtilsTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "OLLAMA_TRANSIENT_ERRORS preset retries correct exceptions",
    "parameterTypes": [ ]
  }, {
    "name": "STREAMING_ERRORS preset retries streaming-related exceptions",
    "parameterTypes": [ ]
  }, {
    "name": "retry calls onRetry callback",
    "parameterTypes": [ ]
  }, {
    "name": "retry fails after max attempts",
    "parameterTypes": [ ]
  }, {
    "name": "retry succeeds on first attempt",
    "parameterTypes": [ ]
  }, {
    "name": "retry succeeds on second attempt",
    "parameterTypes": [ ]
  }, {
    "name": "retry with condition only retries matching exceptions",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.core.util.RetryUtilsTest$STREAMING_ERRORS preset retries streaming-related exceptions$StreamingException",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.test.extensions.AskimoTestHome",
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.test.extensions.AskimoTestHomeExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.test.extensions.RetryOnFailure",
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.test.extensions.RetryOnFailureExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.testcontainers.ModelCachingDemoTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "demonstrateModelCaching",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "io.askimo.testcontainers.SharedOllama",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.testcontainers.TestContainersConfig",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "io.askimo.tools.chart.ChartTools",
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.tools.datetime.DateTimeTools",
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.tools.fs.LocalFsTools",
  "queryAllDeclaredMethods": true,
  "methods": [ {
    "name": "countEntries",
    "parameterTypes": [ "java.lang.String", "java.lang.Boolean", "java.lang.Boolean" ]
  }, {
    "name": "readFile",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "writeFile",
    "parameterTypes": [ "java.lang.String", "java.lang.String" ]
  } ]
}, {
  "name": "io.askimo.tools.fs.LocalFsToolsTest",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "cleanup",
    "parameterTypes": [ ]
  }, {
    "name": "testBackgroundProcessCleanup",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testCountEntries",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testErrorHandling",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testFilesByType",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testGetCommandOutput",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testListBackgroundProcesses",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testReadFile",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testRunCommand",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testSearchFileContent",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testSearchFilesByGlob",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testTotalSizeByType",
    "parameterTypes": [ "java.nio.file.Path" ]
  }, {
    "name": "testWriteFile",
    "parameterTypes": [ "java.nio.file.Path" ]
  } ]
}, {
  "name": "io.askimo.tools.git.GitTools",
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.tools.weather.WeatherTools",
  "queryAllDeclaredMethods": true
}, {
  "name": "io.askimo.tools.web.WebSearchTools",
  "queryAllDeclaredMethods": true
}, {
  "name": "io.github.jbellis.jvector.util.BitSet",
  "allDeclaredFields": true
}, {
  "name": "io.github.jbellis.jvector.util.FixedBitSet",
  "allDeclaredFields": true
}, {
  "name": "io.github.jbellis.jvector.vector.PanamaVectorizationProvider",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.io.Closeable",
  "queryAllDeclaredMethods": true
}, {
  "name": "java.io.ObjectInputStream"
}, {
  "name": "java.io.Serializable",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "java.lang.AutoCloseable",
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.Boolean",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.lang.Class",
  "methods": [ {
    "name": "getAnnotatedInterfaces",
    "parameterTypes": [ ]
  }, {
    "name": "getAnnotatedSuperclass",
    "parameterTypes": [ ]
  }, {
    "name": "getDeclaredMethod",
    "parameterTypes": [ "java.lang.String", "java.lang.Class[]" ]
  }, {
    "name": "getMethod",
    "parameterTypes": [ "java.lang.String", "java.lang.Class[]" ]
  }, {
    "name": "getModule",
    "parameterTypes": [ ]
  }, {
    "name": "getNestHost",
    "parameterTypes": [ ]
  }, {
    "name": "getNestMembers",
    "parameterTypes": [ ]
  }, {
    "name": "getPackageName",
    "parameterTypes": [ ]
  }, {
    "name": "getPermittedSubclasses",
    "parameterTypes": [ ]
  }, {
    "name": "getRecordComponents",
    "parameterTypes": [ ]
  }, {
    "name": "isNestmateOf",
    "parameterTypes": [ "java.lang.Class" ]
  }, {
    "name": "isRecord",
    "parameterTypes": [ ]
  }, {
    "name": "isSealed",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.ClassLoader",
  "methods": [ {
    "name": "getDefinedPackage",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "getUnnamedModule",
    "parameterTypes": [ ]
  }, {
    "name": "registerAsParallelCapable",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.ClassValue"
}, {
  "name": "java.lang.Comparable",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.Deprecated",
  "queryAllDeclaredMethods": true,
  "methods": [ {
    "name": "forRemoval",
    "parameterTypes": [ ]
  }, {
    "name": "since",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.Double",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.lang.Enum",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.Enum$EnumDesc"
}, {
  "name": "java.lang.Exception",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "java.lang.FunctionalInterface"
}, {
  "name": "java.lang.Integer",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.lang.Iterable",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.Long",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.lang.Module",
  "methods": [ {
    "name": "addExports",
    "parameterTypes": [ "java.lang.String", "java.lang.Module" ]
  }, {
    "name": "addOpens",
    "parameterTypes": [ "java.lang.String", "java.lang.Module" ]
  }, {
    "name": "addReads",
    "parameterTypes": [ "java.lang.Module" ]
  }, {
    "name": "canRead",
    "parameterTypes": [ "java.lang.Module" ]
  }, {
    "name": "getClassLoader",
    "parameterTypes": [ ]
  }, {
    "name": "getName",
    "parameterTypes": [ ]
  }, {
    "name": "getPackages",
    "parameterTypes": [ ]
  }, {
    "name": "getResourceAsStream",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "isExported",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "isExported",
    "parameterTypes": [ "java.lang.String", "java.lang.Module" ]
  }, {
    "name": "isNamed",
    "parameterTypes": [ ]
  }, {
    "name": "isOpen",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "isOpen",
    "parameterTypes": [ "java.lang.String", "java.lang.Module" ]
  } ]
}, {
  "name": "java.lang.Number",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.Object",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "clone",
    "parameterTypes": [ ]
  }, {
    "name": "getClass",
    "parameterTypes": [ ]
  }, {
    "name": "toString",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.ProcessHandle",
  "methods": [ {
    "name": "current",
    "parameterTypes": [ ]
  }, {
    "name": "pid",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.Record",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.Runtime",
  "methods": [ {
    "name": "version",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.Runtime$Version",
  "methods": [ {
    "name": "feature",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.RuntimeException",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "java.lang.SecurityManager"
}, {
  "name": "java.lang.StackWalker",
  "methods": [ {
    "name": "getInstance",
    "parameterTypes": [ "java.lang.StackWalker$Option" ]
  }, {
    "name": "walk",
    "parameterTypes": [ "java.util.function.Function" ]
  } ]
}, {
  "name": "java.lang.StackWalker$Option"
}, {
  "name": "java.lang.StackWalker$StackFrame",
  "methods": [ {
    "name": "getDeclaringClass",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.String",
  "allDeclaredFields": true
}, {
  "name": "java.lang.System",
  "methods": [ {
    "name": "getSecurityManager",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.Thread",
  "fields": [ {
    "name": "threadLocalRandomProbe"
  } ]
}, {
  "name": "java.lang.Throwable",
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "java.lang.WeakPairMap"
}, {
  "name": "java.lang.WeakPairMap$Pair"
}, {
  "name": "java.lang.WeakPairMap$Pair$Weak"
}, {
  "name": "java.lang.annotation.Documented",
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.annotation.Retention",
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "value",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.annotation.RetentionPolicy"
}, {
  "name": "java.lang.annotation.Target",
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "value",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.constant.ClassDesc",
  "methods": [ {
    "name": "descriptorString",
    "parameterTypes": [ ]
  }, {
    "name": "ofDescriptor",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "java.lang.constant.Constable",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.constant.ConstantDesc",
  "queryAllDeclaredMethods": true
}, {
  "name": "java.lang.constant.DirectMethodHandleDesc",
  "methods": [ {
    "name": "lookupDescriptor",
    "parameterTypes": [ ]
  }, {
    "name": "methodName",
    "parameterTypes": [ ]
  }, {
    "name": "owner",
    "parameterTypes": [ ]
  }, {
    "name": "refKind",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.constant.DirectMethodHandleDesc$Kind",
  "methods": [ {
    "name": "valueOf",
    "parameterTypes": [ "int", "boolean" ]
  } ]
}, {
  "name": "java.lang.constant.DynamicConstantDesc",
  "methods": [ {
    "name": "bootstrapArgs",
    "parameterTypes": [ ]
  }, {
    "name": "bootstrapMethod",
    "parameterTypes": [ ]
  }, {
    "name": "constantName",
    "parameterTypes": [ ]
  }, {
    "name": "constantType",
    "parameterTypes": [ ]
  }, {
    "name": "ofCanonical",
    "parameterTypes": [ "java.lang.constant.DirectMethodHandleDesc", "java.lang.String", "java.lang.constant.ClassDesc", "java.lang.constant.ConstantDesc[]" ]
  } ]
}, {
  "name": "java.lang.constant.MethodHandleDesc",
  "methods": [ {
    "name": "invocationType",
    "parameterTypes": [ ]
  }, {
    "name": "of",
    "parameterTypes": [ "java.lang.constant.DirectMethodHandleDesc$Kind", "java.lang.constant.ClassDesc", "java.lang.String", "java.lang.String" ]
  } ]
}, {
  "name": "java.lang.constant.MethodTypeDesc",
  "methods": [ {
    "name": "of",
    "parameterTypes": [ "java.lang.constant.ClassDesc", "java.lang.constant.ClassDesc[]" ]
  }, {
    "name": "ofDescriptor",
    "parameterTypes": [ "java.lang.String" ]
  }, {
    "name": "parameterArray",
    "parameterTypes": [ ]
  }, {
    "name": "returnType",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.instrument.Instrumentation",
  "methods": [ {
    "name": "redefineModule",
    "parameterTypes": [ "java.lang.Module", "java.util.Set", "java.util.Map", "java.util.Map", "java.util.Set", "java.util.Map" ]
  } ]
}, {
  "name": "java.lang.invoke.MethodHandle",
  "methods": [ {
    "name": "bindTo",
    "parameterTypes": [ "java.lang.Object" ]
  }, {
    "name": "invokeWithArguments",
    "parameterTypes": [ "java.lang.Object[]" ]
  } ]
}, {
  "name": "java.lang.invoke.MethodHandles",
  "methods": [ {
    "name": "lookup",
    "parameterTypes": [ ]
  }, {
    "name": "privateLookupIn",
    "parameterTypes": [ "java.lang.Class", "java.lang.invoke.MethodHandles$Lookup" ]
  } ]
}, {
  "name": "java.lang.invoke.MethodHandles$Lookup",
  "methods": [ {
    "name": "defineClass",
    "parameterTypes": [ "byte[]" ]
  }, {
    "name": "findVirtual",
    "parameterTypes": [ "java.lang.Class", "java.lang.String", "java.lang.invoke.MethodType" ]
  }, {
    "name": "lookupClass",
    "parameterTypes": [ ]
  }, {
    "name": "lookupModes",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.invoke.MethodType",
  "methods": [ {
    "name": "methodType",
    "parameterTypes": [ "java.lang.Class", "java.lang.Class[]" ]
  } ]
}, {
  "name": "java.lang.management.ManagementFactory",
  "methods": [ {
    "name": "getPlatformMXBean",
    "parameterTypes": [ "java.lang.Class" ]
  }, {
    "name": "getRuntimeMXBean",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.management.RuntimeMXBean",
  "methods": [ {
    "name": "getInputArguments",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.AccessibleObject",
  "methods": [ {
    "name": "setAccessible",
    "parameterTypes": [ "boolean" ]
  } ]
}, {
  "name": "java.lang.reflect.AnnotatedArrayType",
  "methods": [ {
    "name": "getAnnotatedGenericComponentType",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.AnnotatedParameterizedType",
  "methods": [ {
    "name": "getAnnotatedActualTypeArguments",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.AnnotatedType",
  "methods": [ {
    "name": "getType",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.AnnotatedWildcardType",
  "methods": [ {
    "name": "getAnnotatedLowerBounds",
    "parameterTypes": [ ]
  }, {
    "name": "getAnnotatedUpperBounds",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.Executable",
  "methods": [ {
    "name": "getAnnotatedExceptionTypes",
    "parameterTypes": [ ]
  }, {
    "name": "getAnnotatedParameterTypes",
    "parameterTypes": [ ]
  }, {
    "name": "getAnnotatedReceiverType",
    "parameterTypes": [ ]
  }, {
    "name": "getParameterCount",
    "parameterTypes": [ ]
  }, {
    "name": "getParameters",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.Field",
  "methods": [ {
    "name": "getAnnotatedType",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.Method",
  "methods": [ {
    "name": "getAnnotatedReturnType",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.Parameter",
  "methods": [ {
    "name": "getModifiers",
    "parameterTypes": [ ]
  }, {
    "name": "getName",
    "parameterTypes": [ ]
  }, {
    "name": "isNamePresent",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.RecordComponent",
  "methods": [ {
    "name": "getName",
    "parameterTypes": [ ]
  }, {
    "name": "getType",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.lang.reflect.TypeVariable",
  "methods": [ {
    "name": "getAnnotatedBounds",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "java.net.UnixDomainSocketAddress",
  "methods": [ {
    "name": "of",
    "parameterTypes": [ "java.lang.String" ]
  } ]
}, {
  "name": "java.security.AccessController",
  "methods": [ {
    "name": "doPrivileged",
    "parameterTypes": [ "java.security.PrivilegedAction" ]
  }, {
    "name": "doPrivileged",
    "parameterTypes": [ "java.security.PrivilegedExceptionAction" ]
  } ]
}, {
  "name": "java.security.AlgorithmParametersSpi"
}, {
  "name": "java.security.KeyStoreSpi"
}, {
  "name": "java.security.SecureRandomParameters"
}, {
  "name": "java.security.interfaces.ECPrivateKey"
}, {
  "name": "java.security.interfaces.ECPublicKey"
}, {
  "name": "java.security.interfaces.RSAPrivateKey"
}, {
  "name": "java.security.interfaces.RSAPublicKey"
}, {
  "name": "java.sql.Date"
}, {
  "name": "java.sql.SQLException",
  "fields": [ {
    "name": "next"
  } ]
}, {
  "name": "java.sql.Timestamp"
}, {
  "name": "java.util.AbstractCollection",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.AbstractList",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.AbstractMap",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.ArrayList",
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.Arrays$ArrayList",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.Collection",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.Collections$SingletonList",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.Collections$SingletonMap",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.Collections$UnmodifiableCollection",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.Collections$UnmodifiableList",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.Collections$UnmodifiableMap",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.Collections$UnmodifiableRandomAccessList",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.Comparator"
}, {
  "name": "java.util.Date"
}, {
  "name": "java.util.HashMap",
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.HashSet"
}, {
  "name": "java.util.ImmutableCollections$AbstractImmutableCollection",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.ImmutableCollections$AbstractImmutableList",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.ImmutableCollections$AbstractImmutableMap",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.ImmutableCollections$ListN",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.ImmutableCollections$Map1",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.Iterator"
}, {
  "name": "java.util.LinkedHashMap",
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true
}, {
  "name": "java.util.LinkedHashSet"
}, {
  "name": "java.util.List",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.Map",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.Optional"
}, {
  "name": "java.util.RandomAccess",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.SequencedCollection",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.Set",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true
}, {
  "name": "java.util.Spliterator"
}, {
  "name": "java.util.concurrent.ArrayBlockingQueue"
}, {
  "name": "java.util.concurrent.ForkJoinTask",
  "fields": [ {
    "name": "aux"
  }, {
    "name": "status"
  } ]
}, {
  "name": "java.util.concurrent.atomic.AtomicBoolean",
  "fields": [ {
    "name": "value"
  } ]
}, {
  "name": "java.util.concurrent.atomic.AtomicMarkableReference",
  "fields": [ {
    "name": "pair"
  } ]
}, {
  "name": "java.util.concurrent.atomic.AtomicReference",
  "fields": [ {
    "name": "value"
  } ]
}, {
  "name": "java.util.concurrent.atomic.Striped64",
  "fields": [ {
    "name": "base"
  }, {
    "name": "cellsBusy"
  } ]
}, {
  "name": "java.util.concurrent.locks.AbstractOwnableSynchronizer"
}, {
  "name": "java.util.concurrent.locks.AbstractQueuedSynchronizer"
}, {
  "name": "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject"
}, {
  "name": "java.util.concurrent.locks.ReentrantLock"
}, {
  "name": "java.util.concurrent.locks.ReentrantLock$NonfairSync"
}, {
  "name": "java.util.concurrent.locks.ReentrantLock$Sync"
}, {
  "name": "java.util.function.BiConsumer"
}, {
  "name": "java.util.function.BiFunction"
}, {
  "name": "java.util.function.Consumer",
  "queryAllPublicMethods": true
}, {
  "name": "java.util.function.Function"
}, {
  "name": "java.util.function.IntFunction"
}, {
  "name": "java.util.function.Predicate"
}, {
  "name": "java.util.function.UnaryOperator"
}, {
  "name": "java.util.stream.Stream"
}, {
  "name": "javax.security.auth.x500.X500Principal",
  "fields": [ {
    "name": "thisX500Name"
  } ],
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "sun.security.x509.X500Name" ]
  } ]
}, {
  "name": "jdk.incubator.vector.VectorOperators",
  "allPublicFields": true
}, {
  "name": "jdk.internal.ValueBased"
}, {
  "name": "jdk.internal.misc.Unsafe"
}, {
  "name": "kotlin.Any"
}, {
  "name": "kotlin.Array"
}, {
  "name": "kotlin.Boolean"
}, {
  "name": "kotlin.Comparable"
}, {
  "name": "kotlin.Deprecated"
}, {
  "name": "kotlin.Double"
}, {
  "name": "kotlin.Enum"
}, {
  "name": "kotlin.Float"
}, {
  "name": "kotlin.Function1"
}, {
  "name": "kotlin.IgnorableReturnValue"
}, {
  "name": "kotlin.Int"
}, {
  "name": "kotlin.Long"
}, {
  "name": "kotlin.Metadata",
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "bv",
    "parameterTypes": [ ]
  }, {
    "name": "d1",
    "parameterTypes": [ ]
  }, {
    "name": "d2",
    "parameterTypes": [ ]
  }, {
    "name": "k",
    "parameterTypes": [ ]
  }, {
    "name": "mv",
    "parameterTypes": [ ]
  }, {
    "name": "pn",
    "parameterTypes": [ ]
  }, {
    "name": "xi",
    "parameterTypes": [ ]
  }, {
    "name": "xs",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "kotlin.Nothing"
}, {
  "name": "kotlin.SafePublicationLazyImpl",
  "fields": [ {
    "name": "_value"
  } ]
}, {
  "name": "kotlin.SinceKotlin"
}, {
  "name": "kotlin.String"
}, {
  "name": "kotlin.Unit"
}, {
  "name": "kotlin.annotation.AnnotationTarget"
}, {
  "name": "kotlin.annotation.MustBeDocumented",
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true
}, {
  "name": "kotlin.annotation.Retention",
  "queryAllPublicMethods": true
}, {
  "name": "kotlin.annotation.Target",
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "methods": [ {
    "name": "allowedTargets",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "kotlin.collections.Collection"
}, {
  "name": "kotlin.collections.EmptyList",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "getSize",
    "parameterTypes": [ ]
  }, {
    "name": "isEmpty",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "kotlin.collections.EmptyMap",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "getEntries",
    "parameterTypes": [ ]
  }, {
    "name": "getKeys",
    "parameterTypes": [ ]
  }, {
    "name": "getSize",
    "parameterTypes": [ ]
  }, {
    "name": "getValues",
    "parameterTypes": [ ]
  }, {
    "name": "isEmpty",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "kotlin.collections.EmptySet",
  "allDeclaredFields": true,
  "queryAllDeclaredMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "getSize",
    "parameterTypes": [ ]
  }, {
    "name": "isEmpty",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "kotlin.collections.Iterable"
}, {
  "name": "kotlin.collections.Iterator"
}, {
  "name": "kotlin.collections.List"
}, {
  "name": "kotlin.collections.ListIterator"
}, {
  "name": "kotlin.collections.Map"
}, {
  "name": "kotlin.collections.Map.Entry"
}, {
  "name": "kotlin.collections.MutableCollection"
}, {
  "name": "kotlin.collections.MutableIterable"
}, {
  "name": "kotlin.collections.MutableIterator"
}, {
  "name": "kotlin.collections.MutableList"
}, {
  "name": "kotlin.collections.MutableListIterator"
}, {
  "name": "kotlin.collections.MutableMap"
}, {
  "name": "kotlin.collections.MutableMap.MutableEntry"
}, {
  "name": "kotlin.collections.MutableSet"
}, {
  "name": "kotlin.collections.RandomAccess"
}, {
  "name": "kotlin.collections.Set"
}, {
  "name": "kotlin.internal.PlatformDependent"
}, {
  "name": "kotlin.io.Serializable"
}, {
  "name": "kotlin.jvm.JvmInline"
}, {
  "name": "kotlin.jvm.internal.DefaultConstructorMarker"
}, {
  "name": "kotlin.jvm.internal.markers.KMappedMarker",
  "queryAllDeclaredMethods": true
}, {
  "name": "kotlin.reflect.jvm.internal.ReflectionFactoryImpl",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "kotlin.reflect.jvm.internal.impl.resolve.scopes.DescriptorKindFilter",
  "allPublicFields": true
}, {
  "name": "kotlinx.coroutines.CancellableContinuationImpl",
  "fields": [ {
    "name": "_decisionAndIndex$volatile"
  }, {
    "name": "_parentHandle$volatile"
  }, {
    "name": "_state$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.EventLoopImplBase",
  "fields": [ {
    "name": "_delayed$volatile"
  }, {
    "name": "_isCompleted$volatile"
  }, {
    "name": "_queue$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.JobSupport",
  "fields": [ {
    "name": "_parentHandle$volatile"
  }, {
    "name": "_state$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.flow.StateFlowImpl",
  "fields": [ {
    "name": "_state$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.internal.DispatchedContinuation",
  "fields": [ {
    "name": "_reusableCancellableContinuation$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.internal.LimitedDispatcher",
  "fields": [ {
    "name": "runningWorkers$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.internal.LockFreeLinkedListNode",
  "fields": [ {
    "name": "_next$volatile"
  }, {
    "name": "_prev$volatile"
  }, {
    "name": "_removedRef$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.internal.LockFreeTaskQueue",
  "fields": [ {
    "name": "_cur$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.internal.LockFreeTaskQueueCore",
  "fields": [ {
    "name": "_next$volatile"
  }, {
    "name": "_state$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.scheduling.CoroutineScheduler",
  "fields": [ {
    "name": "_isTerminated$volatile"
  }, {
    "name": "controlState$volatile"
  }, {
    "name": "parkedWorkersStack$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.scheduling.CoroutineScheduler$Worker",
  "fields": [ {
    "name": "workerCtl$volatile"
  } ]
}, {
  "name": "kotlinx.coroutines.scheduling.WorkQueue",
  "fields": [ {
    "name": "blockingTasksInBuffer$volatile"
  }, {
    "name": "consumerIndex$volatile"
  }, {
    "name": "lastScheduledTask$volatile"
  }, {
    "name": "producerIndex$volatile"
  } ]
}, {
  "name": "kotlinx.serialization.DeserializationStrategy",
  "allDeclaredClasses": true,
  "queryAllPublicMethods": true
}, {
  "name": "kotlinx.serialization.KSerializer",
  "allDeclaredClasses": true,
  "queryAllPublicMethods": true
}, {
  "name": "kotlinx.serialization.SerializationStrategy",
  "allDeclaredClasses": true,
  "queryAllPublicMethods": true
}, {
  "name": "kotlinx.serialization.descriptors.SerialDescriptor"
}, {
  "name": "kotlinx.serialization.encoding.CompositeEncoder"
}, {
  "name": "kotlinx.serialization.internal.GeneratedSerializer",
  "allDeclaredClasses": true,
  "queryAllPublicMethods": true
}, {
  "name": "kotlinx.serialization.internal.SerializationConstructorMarker"
}, {
  "name": "org.apache.tika.detect.microsoft.POIFSContainerDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.microsoft.ooxml.OPCPackageDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.zip.DefaultZipContainerDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.zip.FrictionlessPackageDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.zip.IPADetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.zip.JarDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.zip.KMZDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.zip.OpenDocumentDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.detect.zip.StarOfficeDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.csv.TextAndCSVParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.html.HtmlEncodingDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.html.JSoupParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.EMFParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.JackcessParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.MSOwnerFileParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.OfficeParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.OldExcelParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.TNEFParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.WMFParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.activemime.ActiveMimeParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.chm.ChmParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.onenote.OneNoteParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.ooxml.OOXMLParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.ooxml.xwpf.ml2006.Word2006MLParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.pst.OutlookPSTParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.pst.PSTMailItemParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.rtf.RTFParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.xml.SpreadsheetMLParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.microsoft.xml.WordMLParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.pdf.PDFParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.tmx.TMXParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.txt.Icu4jEncodingDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.txt.UniversalEncodingDetector",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.xliff.XLIFF12Parser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.xliff.XLZParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.xml.DcXMLParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.apache.tika.parser.xml.FictionBookParser",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "org.apache.tika.config.ServiceLoader" ]
  } ]
}, {
  "name": "org.jline.reader.ParsedLine",
  "allDeclaredFields": true,
  "allDeclaredClasses": true,
  "queryAllDeclaredMethods": true,
  "queryAllPublicMethods": true,
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "cursor",
    "parameterTypes": [ ]
  }, {
    "name": "line",
    "parameterTypes": [ ]
  }, {
    "name": "word",
    "parameterTypes": [ ]
  }, {
    "name": "wordCursor",
    "parameterTypes": [ ]
  }, {
    "name": "wordIndex",
    "parameterTypes": [ ]
  }, {
    "name": "words",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "org.jline.reader.ParsedLine$MockitoMock$Q5vYgTj1",
  "queryAllDeclaredConstructors": true,
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "org.opentest4j.TestAbortedException",
  "queryAllDeclaredMethods": true
}, {
  "name": "org.osgi.framework.FrameworkUtil"
}, {
  "name": "org.slf4j.Logger"
}, {
  "name": "org.sqlite.JDBC",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.misc.SharedSecrets"
}, {
  "name": "sun.misc.Unsafe",
  "fields": [ {
    "name": "theUnsafe"
  } ],
  "methods": [ {
    "name": "invokeCleaner",
    "parameterTypes": [ "java.nio.ByteBuffer" ]
  } ]
}, {
  "name": "sun.security.pkcs12.PKCS12KeyStore",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.DSA$SHA224withDSA",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.DSA$SHA256withDSA",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.JavaKeyStore$DualFormatJKS",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.JavaKeyStore$JKS",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.MD5",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.NativePRNG",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.security.SecureRandomParameters" ]
  } ]
}, {
  "name": "sun.security.provider.NativePRNG$NonBlocking",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  }, {
    "name": "<init>",
    "parameterTypes": [ "java.security.SecureRandomParameters" ]
  } ]
}, {
  "name": "sun.security.provider.SHA",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.SHA2$SHA224",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.SHA2$SHA256",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.SHA5$SHA384",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.SHA5$SHA512",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.X509Factory",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.provider.certpath.PKIXCertPathValidator",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.rsa.PSSParameters",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.rsa.RSAKeyFactory$Legacy",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.rsa.RSAPSSSignature",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.rsa.RSASignature$SHA224withRSA",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.rsa.RSASignature$SHA256withRSA",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.ssl.KeyManagerFactoryImpl$SunX509",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.ssl.SSLContextImpl$DefaultSSLContext",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ ]
  } ]
}, {
  "name": "sun.security.util.ObjectIdentifier"
}, {
  "name": "sun.security.x509.AuthorityInfoAccessExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.AuthorityKeyIdentifierExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.BasicConstraintsExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.CRLDistributionPointsExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.CertificateExtensions"
}, {
  "name": "sun.security.x509.CertificatePoliciesExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.ExtendedKeyUsageExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.KeyUsageExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.NetscapeCertTypeExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.PrivateKeyUsageExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.SubjectAlternativeNameExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
}, {
  "name": "sun.security.x509.SubjectKeyIdentifierExtension",
  "methods": [ {
    "name": "<init>",
    "parameterTypes": [ "java.lang.Boolean", "java.lang.Object" ]
  } ]
} ]
