@@ -21,9 +21,6 @@ import com.ossuminc.riddl.passes.stats.{StatsOutput, StatsPass}
2121import com .ossuminc .riddl .passes .symbols .{SymbolsOutput , SymbolsPass }
2222import com .ossuminc .riddl .passes .validate .{HandlerCompleteness , ValidationOutput , ValidationPass }
2323
24- import java .time .Instant
25- import java .util .UUID
26-
2724/** Unique token identifying a cached AnalysisResult.
2825 *
2926 * Tokens are opaque handles used by MCP tools to reference previously
@@ -32,8 +29,13 @@ import java.util.UUID
3229opaque type AnalysisToken = String
3330
3431object AnalysisToken :
32+ private val counter = new java.util.concurrent.atomic.AtomicLong (0 )
33+
3534 /** Generate a new unique token */
36- def generate (): AnalysisToken = UUID .randomUUID().toString
35+ def generate (): AnalysisToken =
36+ val time = System .currentTimeMillis()
37+ val count = counter.incrementAndGet()
38+ f " $time%x- $count%04x "
3739
3840 /** Create token from string (for deserialization) */
3941 def fromString (s : String ): AnalysisToken = s
@@ -43,8 +45,8 @@ end AnalysisToken
4345
4446/** Metadata about the analysis */
4547case class AnalysisMetadata (
46- /** When the analysis was performed */
47- analyzedAt : Instant ,
48+ /** When the analysis was performed (epoch millis) */
49+ analyzedAt : Long ,
4850
4951 /** Name of the root domain (primary identifier) */
5052 rootDomainName : Option [String ],
@@ -63,7 +65,7 @@ object AnalysisMetadata:
6365 def apply (root : Root ): AnalysisMetadata =
6466 val rootDomainName = root.domains.headOption.map(_.id.value)
6567 AnalysisMetadata (
66- analyzedAt = Instant .now (),
68+ analyzedAt = System .currentTimeMillis (),
6769 rootDomainName = rootDomainName,
6870 sourceLocation = None ,
6971 sourceHash = None ,
@@ -75,7 +77,7 @@ object AnalysisMetadata:
7577 case root : Root => apply(root)
7678 case other =>
7779 AnalysisMetadata (
78- analyzedAt = Instant .now (),
80+ analyzedAt = System .currentTimeMillis (),
7981 rootDomainName = Some (other.id.value),
8082 sourceLocation = None ,
8183 sourceHash = None ,
0 commit comments