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 {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 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: