This procedure is defined in the server but not documented via ad_proc or proc_doc and may be intended as a private interface.

The procedure is defined as:

proc ::nsmcp::questionLogJson {event record last} {
    
    set fields [list event string $event timestamp number [clock seconds]]
    foreach key {server principal backend} {
        lappend fields $key string [dict get $record $key]
    }
    foreach key {conversation id question peerAddress peerSource status requestedModel model} {
        if {[dict exists $last $key]} {
            lappend fields $key string [dict get $last $key]
        }
    }
    if {[dict exists $last submittedAt]} {
        lappend fields submittedAt number [dict get $last submittedAt]
    }
    if {$event eq "finished"} {
        if {[dict exists $last submittedMs]} {
            lappend fields elapsedMs number [expr {[dict exists $last elapsedMs] ? [dict get $last elapsedMs] : max(0,[clock milliseconds]-[dict get $last submittedMs])}]
        }
        lappend fields toolCalls number [llength [dict get $last tools]] monetaryCost null {}  usageAvailable boolean [expr {[dict exists $last usage inputTokens] || [dict exists $last usage outputTokens] || [dict exists $last usage totalTokens]}]
        if {[dict exists $last backendDiagnostic]} {
            set diagnostic {}
            dict for {key value} [dict get $last backendDiagnostic] {
                set type string
                if {$key eq "activeTools"} {
                    set names {}
                    set index 0
                    foreach name $value {
                        lappend names $index string $name
                        incr index
                    }
                    set type array
                    set value $names
                } elseif {$key eq "rpcMilliseconds"} {
                    set timings {}
                    dict for {method duration} $value {
                        lappend timings $method number $duration
                    }
                    set type object
                    set value $timings
                } elseif {$key in {elapsedMs stderrBytes activeToolCount oldestActiveToolMs}} {
                    set type number
                } elseif {$key eq "turnSubmitted"} {
                    set type boolean
                }
                lappend diagnostic $key $type $value
            }
            lappend fields backendDiagnostic object $diagnostic
        }
        if {[dict exists $last questionUsage]} {
            set usage {}
            dict for {key value} [dict get $last questionUsage] {
                if {$key in {scope source reason}} {
                    lappend usage $key string $value
                }  elseif {$key eq "available"} {
                    lappend usage $key boolean $value
                }  else {
                    lappend usage $key number $value
                }
            }
            lappend usage complete boolean [expr {[dict get $last status] eq "complete"
                && [dict get $last questionUsage available]
                && [dict exists $last questionUsage inputTokens]
                && [dict exists $last questionUsage outputTokens]
                && [dict exists $last questionUsage totalTokens]}]
            lappend fields questionUsage object $usage
        }
        if {[dict exists $last usage]} {
            set usage {}
            dict for {key value} [dict get $last usage] {
                if {$key in {scope source}} {
                    lappend usage $key string $value
                }  elseif {$key eq "complete"} {
                    lappend usage $key boolean $value
                }  else {
                    lappend usage $key number $value
                }
            }
            lappend fields usage object $usage
        }
    }
    return [ns_json value -- [list {} object $fields]]

}

Show another procedure: