cat()
with message()
for console
output, with proper verbose controltempdir()
by default instead
of userโs workspace.GlobalEnv
modifications - now using
package-private environmentcache_dir
now defaults to tempdir()
instead of โconsensus_cacheโlog_dir
now defaults to tempdir()
instead
of โlogsโclusters_to_analyze
:
Allows users to specify exactly which clusters to analyze
force_rerun
: Forces
fresh analysis of controversial clusters
clusters_to_analyze
for
targeted workflowsnormalize_annotation()
: Handles annotation variations
(e.g., โT cellsโ vs โT lymphocytesโ)calculate_simple_consensus()
: Fast local consensus
calculation with CP and entropy metricsBaseAPIProcessor
with consistent
make_api_call()
and extract_response_content()
methodsapi_logs/
subdirectories within each sessionEnhanced directory structure:
logs/
โโโ mllm_YYYYMMDD_HHMMSS.log # Main session log
โโโ YYYYMMDD_HHMMSS/ # Session directory
โ โโโ cluster_X_discussion.md # Discussion logs (fixed format)
โ โโโ api_logs/ # Complete API call logs (NEW)
โ โโโ provider_model_timestamp.json
โ โโโ provider_model_timestamp.md
DiscussionLogger
class
and scattered write_log
callsUnifiedLogger
R6 class with
structured JSON output, multi-level logging, and performance
monitoringconfigure_logger()
,
get_logger()
, log_info()
,
log_warn()
, log_error()
,
log_debug()
logger
parameters from interactive_consensus_annotation()
and
related functionsDiscussionLogger
class (still exported for backward
compatibility but not recommended)gemini-2.0-flash-lite
to supported models
listgemini-2.0-flash
or gemini-2.0-flash-lite
for
better performance and continued supportgemini-1.5-pro
and
gemini-1.5-flash
will continue to work until September 24,
2025as.logical(from)
error:
Resolved critical error that occurred when processing large numbers of
clusters (60+ clusters), which was caused by non-character data being
passed to strsplit()
functionstryCatch()
blocks around all
strsplit()
operations in API processing functionsprocess_openrouter.R
,
process_anthropic.R
, process_openai.R
,
process_deepseek.R
, process_qwen.R
,
process_stepfun.R
, process_minimax.R
,
process_zhipu.R
, process_gemini.R
,
process_grok.R
) now include improved error handlingunlist()
operations to filter out NULL values and handle
errors gracefullycheck_consensus.R
to handle edge cases with malformed
responsesprompt_templates.R
consensus_annotation.R
to
ensure cluster indices start from 0