This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch NLPCRAFT-108
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-108 by this push:
new 69e0da3 WIP.
69e0da3 is described below
commit 69e0da31ee60e19201bf64f7a48d5de55f3c2e10
Author: Aaron Radzinski <[email protected]>
AuthorDate: Thu Sep 24 20:59:28 2020 -0700
WIP.
---
.../main/scala/org/apache/nlpcraft/NCStart.scala | 2 +-
.../apache/nlpcraft/common/ansi/NCAnsiColor.scala | 8 +++++++
.../nlpcraft/common/ascii/NCAsciiTable.scala | 12 +++++-----
.../org/apache/nlpcraft/common/util/NCUtils.scala | 10 ++++----
.../apache/nlpcraft/model/impl/NCTokenLogger.scala | 4 ++--
.../model/intent/impl/NCIntentSolver.scala | 2 +-
.../model/intent/impl/NCIntentSolverEngine.scala | 6 ++---
.../model/tools/cmdline/NCCommandLine.scala | 8 +++----
.../model/tools/test/NCTestAutoModelValidator.java | 5 +---
.../test/impl/NCTestAutoModelValidatorImpl.scala | 4 ++--
.../probe/mgrs/conn/NCConnectionManager.scala | 28 +++++++++-------------
.../nlpcraft/probe/mgrs/model/NCModelManager.scala | 10 ++++----
.../probe/mgrs/nlp/NCProbeEnrichmentManager.scala | 2 +-
.../nlpcraft/server/probe/NCProbeManager.scala | 11 +++++----
.../nlpcraft/server/query/NCQueryManager.scala | 2 +-
15 files changed, 57 insertions(+), 57 deletions(-)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala
index a4d86af..c0d6f59 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala
@@ -63,7 +63,7 @@ object NCStart extends App with LazyLogging {
for (msg ← msgs)
logger.error(msg)
- logger.info(s"${ansiGreenFg}Usage:$ansiReset")
+ logger.info(ansiGreen("Usage:"))
logger.info(" Use '-server' argument to start server.")
logger.info(" Use '-probe' argument to start probe.")
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala
index 8bced4f..b140b14 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala
@@ -73,6 +73,14 @@ trait NCAnsiColor extends LazyLogging {
def ansiReversed: String = if (isEnabled) REVERSED else ""
def ansiBlink: String = if (isEnabled) BLINK else ""
def ansiInvisible: String = if (isEnabled) INVISIBLE else ""
+
+ def ansiGreen(s: String): String = s"$ansiGreenFg$s$ansiReset"
+ def ansiRed(s: String): String = s"$ansiRedFg$s$ansiReset"
+ def ansiCyan(s: String): String = s"$ansiCyanFg$s$ansiReset"
+ def ansiYellow(s: String): String = s"$ansiYellowFg$s$ansiReset"
+ def ansiBlack(s: String): String = s"$ansiBlackFg$s$ansiReset"
+ def ansiWhite(s: String): String = s"$ansiWhiteFg$s$ansiReset"
+ def ansiBlue(s: String): String = s"$ansiBlueFg$s$ansiReset"
}
object NCAnsiColor extends NCAnsiColor {
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala
index f8d645c..daf586a 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala
@@ -109,12 +109,12 @@ class NCAsciiTable {
)
// Table drawing symbols.
- private val HDR_HOR = s"$ansiCyanFg=$ansiReset"
- private val HDR_VER = s"$ansiCyanFg|$ansiReset"
- private val HDR_CRS = s"$ansiBlueFg+$ansiReset"
- private val ROW_HOR = s"$ansiCyanFg-$ansiReset"
- private val ROW_VER = s"$ansiCyanFg|$ansiReset"
- private val ROW_CRS = s"$ansiBlueFg+$ansiReset"
+ private val HDR_HOR = ansiCyan("=")
+ private val HDR_VER = ansiCyan("|")
+ private val HDR_CRS = ansiBlue("+")
+ private val ROW_HOR = ansiCyan("-")
+ private val ROW_VER = ansiCyan("|")
+ private val ROW_CRS = ansiBlue("+")
// Headers & rows.
private var hdr = IndexedSeq.empty[Cell]
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
index 83ec8a6..96a7e88 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
@@ -1406,7 +1406,7 @@ object NCUtils extends LazyLogging {
s"$errMsg $ansiCyanFg->$ansiReset ($fileName:$lineNum)"
msg.split("\n").foreach(line ⇒ {
- val s = s"${" " * indent}${if (first) s"$ansiRedFg+-
$ansiReset" else " "}${line.trim}"
+ val s = s"${" " * indent}${if (first) ansiRed("+- ") else "
"}${line.trim}"
if (err) logger.error(s) else logger.warn(s)
@@ -1490,12 +1490,12 @@ object NCUtils extends LazyLogging {
for (ch ← json) {
ch match {
- case ':' if !inQuotes ⇒ buf ++= s"$ansiRedFg:$ansiReset"
- case '[' | ']' | '{' | '}' if !inQuotes ⇒ buf ++=
s"$ansiYellowFg$ch$ansiReset"
- case ',' if !inQuotes ⇒ buf ++= s"$ansiGreenFg$ch$ansiReset"
+ case ':' if !inQuotes ⇒ buf ++= ansiRed(":")
+ case '[' | ']' | '{' | '}' if !inQuotes ⇒ buf ++=
ansiYellow(s"$ch")
+ case ',' if !inQuotes ⇒ buf ++= ansiGreen(s"$ch")
case '"' ⇒
if (inQuotes)
- buf ++= s"$ansiBlueFg$ch$ansiReset"
+ buf ++= ansiBlue(s"$ch")
else
buf ++= s"$ansiBlueFg$ch$ansiCyanFg"
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
index fc47ff5..0598912 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
@@ -429,9 +429,9 @@ object NCTokenLogger extends LazyLogging {
val origTxtStr =
if (tok.isStopWord)
- s"$ansiRedFg${tok.origText}$ansiReset"
+ ansiRed(tok.origText)
else if (tok.isFreeWord)
- s"$ansiYellowFg${tok.origText}$ansiReset"
+ ansiYellow(tok.origText)
else
tok.origText
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
index 322856b..267cf91 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
@@ -151,7 +151,7 @@ class NCIntentSolver(intents: List[(NCDslIntent/*Intent*/,
NCIntentMatch ⇒ NCR
if (cbRes.getIntentId == null)
cbRes.setIntentId(res.intentId)
- logger.info(s"Intent '${res.intentId}' for variant
#${res.variantIdx + 1} selected as the $ansiRedFg<<best match>>.$ansiReset")
+ logger.info(s"Intent '${res.intentId}' for variant
#${res.variantIdx + 1} selected as the ${ansiRed("<<best match>>")}")
NCDialogFlowManager.addMatchedIntent(res.intentId,
req.getUser.getId, ctx.getModel.getId, span)
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
index dd7f876..0ca1897 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
@@ -249,11 +249,11 @@ object NCIntentSolverEngine extends LazyLogging with
NCOpenCensusTrace {
tbl += (
Seq(
s"#${m.variantIdx + 1}",
- s"$ansiRedFg<<best match>>$ansiReset"
+ ansiRed("<<best match")
),
Seq(
im.intent.id,
- s"$ansiRedFg<<best match>>$ansiReset"
+ ansiRed("<<best match")
),
mkPickTokens(im)
)
@@ -276,7 +276,7 @@ object NCIntentSolverEngine extends LazyLogging with
NCOpenCensusTrace {
)
})
- tbl.info(logger, Some(s"Found matching intents (sorted
${ansiRedFg}best$ansiReset to worst):"))
+ tbl.info(logger, Some(s"Found matching intents (sorted
${ansiRed("best")} to worst):"))
}
else
logger.info("No matching intent found.")
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
index f7a3cdb..8647df6 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
@@ -367,7 +367,7 @@ object NCCommandLine extends App {
else
s"$T___${param.names.mkString(", ")}"
- lines += s"$ansiCyanFg$line$ansiReset"
+ lines += ansiCyan(line)
if (param.optional)
lines += s"$T___${T___}Optional."
@@ -494,7 +494,7 @@ object NCCommandLine extends App {
// Make sure we exit with non-zero status.
exitStatus = 1
- System.err.println(s"${ansiRedFg}ERR:$ansiReset $msg")
+ System.err.println(s"${ansiRed("ERR")} $msg")
}
/**
@@ -507,13 +507,13 @@ object NCCommandLine extends App {
*
* @param msg
*/
- private def confirm(msg: String): Unit =
System.out.println(s"${ansiGreenFg}>$ansiReset $msg")
+ private def confirm(msg: String): Unit =
System.out.println(s"${ansiGreen(">")} $msg")
/**
*
*/
private def errorHelp(): Unit =
- error(s"Run '$ansiCyanFg$SCRIPT_NAME ${HELP_CMD.mainName}$ansiReset'
to read the manual.")
+ error(s"Run '${ansiCyan("$SCRIPT_NAME ${HELP_CMD.mainName")}' to read
the manual.")
/**
* Prints out the version and copyright title header.
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
index 5596b0a..1f15ff5 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
@@ -66,10 +66,7 @@ public class NCTestAutoModelValidator {
* output will be printed out to the configured logger.
*/
public static void main(String[] args) throws Exception {
- NCTestAutoModelValidatorImpl.isValid();
-
- // TODO: uncomment once the hanging on exit is fixed.
- // System.exit(NCTestAutoModelValidatorImpl.isValid() ? 0 : 1);
+ System.exit(NCTestAutoModelValidatorImpl.isValid() ? 0 : 1);
}
/**
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
index 8c680dd..b6d7d31 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
@@ -110,7 +110,7 @@ private [test] object NCTestAutoModelValidatorImpl extends
LazyLogging {
tbl += (
res.modelId,
res.intentId,
- if (res.pass) s"${ansiGreenFg}OK$ansiReset" else
s"${ansiRedFg}FAIL$ansiReset",
+ if (res.pass) ansiGreen("OK") else ansiRed("FAIL"),
res.text,
res.error.getOrElse("")
)
@@ -119,7 +119,7 @@ private [test] object NCTestAutoModelValidatorImpl extends
LazyLogging {
val failCnt = results.count(!_.pass)
logger.info(s"Model auto-validation results: " +
- s"${ansiGreenFg}OK$ansiReset $passCnt, ${ansiRedFg}FAIL$ansiReset
$failCnt:\n${tbl.toString}"
+ s"${ansiGreen("OK")} $passCnt, ${ansiRed("FAIL")}
$failCnt:\n${tbl.toString}"
)
failCnt == 0
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
index e9bd5e9..22a23f9 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
@@ -319,7 +319,7 @@ object NCConnectionManager extends NCService {
while (!t.isInterrupted)
try {
- logger.info(s"Establishing REST server connection to [" +
+ logger.info(s"Connecting to REST server [" +
s"uplink=${Config.upLinkString}, " +
s"downlink=${Config.downLinkString}" +
s"]")
@@ -356,7 +356,7 @@ object NCConnectionManager extends NCService {
catch {
case _: InterruptedIOException | _:
InterruptedException ⇒ ()
case _: EOFException ⇒ exit(t, s"Uplink REST
server connection closed.")
- case e: Exception ⇒ exit(t, s"Uplink
connection failed: ${e.getMessage}")
+ case e: Exception ⇒ exit(t, s"Uplink
connection failed.", e)
}
}
@@ -391,7 +391,7 @@ object NCConnectionManager extends NCService {
catch {
case _: InterruptedIOException | _:
InterruptedException ⇒ ()
case _: EOFException ⇒ exit(t, s"Downlink REST
server connection closed.")
- case e: Exception ⇒ exit(t, s"Downlink
connection failed: ${e.getMessage}")
+ case e: Exception ⇒ exit(t, s"Downlink
connection failed.", e)
}
}
@@ -402,7 +402,7 @@ object NCConnectionManager extends NCService {
// Indicate that server connection is established.
ctrlLatch.countDown()
- logger.info("REST server connection established.")
+ logger.info("REST server connected.")
// Wait until probe connection is closed.
while (!t.isInterrupted && exitLatch.getCount > 0)
U.ignoreInterrupt {
@@ -412,7 +412,7 @@ object NCConnectionManager extends NCService {
closeAll()
if (!isStopping) {
- logger.warn(s"REST server connection closed (retrying
in ${RETRY_TIMEOUT / 1000}s).")
+ logger.warn(s"REST server connection closed (retry in
${RETRY_TIMEOUT / 1000}s).")
timeout()
}
@@ -424,24 +424,18 @@ object NCConnectionManager extends NCService {
// Clean up.
closeAll()
- if (e.getMessage != null)
- logger.error(e.getMessage)
-
// Ack the handshake error message.
- logger.error(s"Failed during REST server connection
handshake (aborting).")
+ U.prettyError(logger, s"Failed REST server connection
handshake (aborting).", e)
abort()
case e: IOException ⇒
// Clean up.
closeAll()
-
- // Ack the IO error message.
- if (e.getMessage != null)
- logger.error(s"Failed to establish REST server
connection (retrying in ${RETRY_TIMEOUT / 1000}s): ${e.getMessage}")
- else
- logger.error(s"Failed to establish REST server
connection (retrying in ${RETRY_TIMEOUT / 1000}s).")
-
+
+ // Ack the error message.
+ U.prettyError(logger, s"Failed to connect to REST
server (retry in ${RETRY_TIMEOUT / 1000}s).", e)
+
timeout()
case e: Exception ⇒
@@ -449,7 +443,7 @@ object NCConnectionManager extends NCService {
closeAll()
// Ack the error message.
- U.prettyError(logger, "Unexpected error establishing
REST server connection:", e)
+ U.prettyError(logger, "Unexpected error connecting to
REST server.", e)
abort()
}
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
index 05b5210..88bac77 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
@@ -66,16 +66,16 @@ object NCModelManager extends NCService with
DecorateAsScala {
Seq(
s"${mdl.getName}",
s"ID: $ansiBold${mdl.getId}$ansiReset, ver:
${mdl.getVersion}",
- s"Elements: $elmCnt" + (if (elmCnt == 0) s"
$ansiRedFg(!)$ansiReset" else ""),
- s"Synonyms: $synCnt" + (if (synCnt == 0) s"
$ansiRedFg(!)$ansiReset" else ""),
- s"Intents: $intentCnt" + (if (intentCnt == 0) s"
$ansiRedFg(!)$ansiReset" else "")
+ s"Elements: $elmCnt" + (if (elmCnt == 0) s"
${ansiRed("(!)")}" else ""),
+ s"Synonyms: $synCnt" + (if (synCnt == 0) s"
${ansiRed("(!)")}" else ""),
+ s"Intents: $intentCnt" + (if (intentCnt == 0) s"
${ansiRed("(!)")}" else "")
),
w.intents
.map(_.toDslString)
.flatMap(s ⇒
s
- .replaceAll("intent=",
s"${ansiGreenFg}intent$ansiReset=")
- .replaceAll(" term", s"\n
${ansiCyanFg}term$ansiReset").split("\n")
+ .replaceAll("intent=", s"${ansiGreen("intent")}=")
+ .replaceAll(" term", s"\n
${ansiCyan("term")}").split("\n")
)
)
})
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
index 3e6ff92..191e228 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
@@ -227,7 +227,7 @@ object NCProbeEnrichmentManager extends NCService with
NCOpenCensusModelStats {
val tbl = NCAsciiTable()
- tbl += (s"${ansiBlueFg}Text$ansiReset", nlpSens.map(s ⇒
s"$ansiBold$ansiGreenFg${s.text}$ansiReset"))
+ tbl += (s"${ansiBlueFg}Text$ansiReset", nlpSens.map(s ⇒
s"$ansiBold${ansiGreen(s.text)}"))
tbl += (s"${ansiBlueFg}Model ID$ansiReset", mdlId)
tbl += (s"${ansiBlueFg}User ID$ansiReset", usrId)
tbl += (s"$ansiBlueFg First Name$ansiReset",
senMeta.getOrElse("FIRST_NAME", ""))
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
index 0889692..59616a8 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
@@ -43,6 +43,7 @@ import
org.apache.nlpcraft.server.nlp.enrichers.NCServerEnrichmentManager
import org.apache.nlpcraft.server.proclog.NCProcessLogManager
import org.apache.nlpcraft.server.query.NCQueryManager
import org.apache.nlpcraft.server.sql.NCSql
+import org.apache.nlpcraft.common.ansi.NCAnsiColor._
import scala.collection.JavaConverters._
import scala.collection.{Map, mutable}
@@ -465,12 +466,12 @@ object NCProbeManager extends NCService {
case _: SocketTimeoutException | _:
InterruptedException | _: InterruptedIOException ⇒ ()
case _: EOFException ⇒
- logger.error(s"Probe closed downlink connection:
${probeKey.short}")
+ logger.info(s"Probe closed downlink connection:
${probeKey.short}")
t.interrupt()
case e: Throwable ⇒
- logger.error(s"Error reading probe downlink socket
(${e.getMessage}): ${probeKey.short}")
+ U.prettyError(logger, s"Error reading downlink
socket for probe: ${probeKey.short}", e)
t.interrupt()
}
@@ -801,13 +802,13 @@ object NCProbeManager extends NCService {
tbl += (
Seq(
probe.probeId,
- s" guid: ${probe.probeGuid}",
- s" tok: ${probe.probeToken}"
+ s" ${ansiCyan("guid")}: ${probe.probeGuid}",
+ s" ${ansiCyan("tok")}: ${probe.probeToken}"
),
s"${probe.osName} ver. ${probe.osVersion}",
s"${probe.tmzAbbr}, ${probe.tmzId}",
s"${probe.hostName} (${probe.hostAddr})",
- probe.models.map(m ⇒ s"${m.id}, v${m.version}").toSeq
+ probe.models.map(m ⇒ s"${ansiBlue(m.id)}, v${m.version}").toSeq
)
tbl
diff --git
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
index 6eb5e9b..c1d2b26 100644
---
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
+++
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
@@ -261,7 +261,7 @@ object NCQueryManager extends NCService with
NCIgniteInstance with NCOpenCensusS
startScopedSpan("future", parent, "srvReqId" → srvReqId) { span ⇒
val tbl = NCAsciiTable()
- tbl += (s"${ansiBlueFg}Text$ansiReset",
s"$ansiGreenFg$txt0$ansiReset")
+ tbl += (s"${ansiBlueFg}Text$ansiReset", ansiGreen(txt0))
tbl += (s"${ansiBlueFg}User ID$ansiReset", usr.id)
tbl += (s"${ansiBlueFg}Model ID$ansiReset", mdlId)
tbl += (s"${ansiBlueFg}Agent$ansiReset",
usrAgent.getOrElse("<n/a>"))