nsmcp::CodexQuestionRun method prepareUsage (protected)

 <instance of nsmcp::CodexQuestionRun[i]> prepareUsage state \
    resuming

Defined in /usr/local/ns/tcl/nsmcp/question-backend.tcl

Parameters:
state (required)
resuming (required)

Testcases:
No testcase defined.
Source code:
set :usageBaseline {}
set :usageBaselineKnown false
set :usageTotals {}
set :usageIssue {}
if {!$resuming} {
    # A newly created thread has no earlier inference usage.
    set :usageBaselineKnown true
    foreach key {inputTokens outputTokens totalTokens cachedInputTokens cacheWriteInputTokens reasoningOutputTokens} {
        dict set :usageBaseline $key 0
    }
} elseif {[dict exists $state thread] && [dict get $state thread] eq ${:thread}
          && [dict exists $state tokenUsageBaselineValid]
          && [dict get $state tokenUsageBaselineValid]
          && [dict exists $state tokenUsage]} {
    set :usageBaseline [dict get $state tokenUsage]
    set :usageBaselineKnown true
}
# A fresh pre-turn snapshot is preferable to a saved observation,
# including after a previous failed or cancelled question.
if {[dict exists ${:usageBeforeTurn} thread]
    && [dict get ${:usageBeforeTurn} thread] eq ${:thread}} {
    set :usageBaseline [dict get ${:usageBeforeTurn} counters]
    set :usageBaselineKnown true
}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: