BBS:      TELESC.NET.BR
Assunto:  src/sbbs3/chat.cpp js_console.cpp sbbs.h src/sbbs3/scfg/scfgchat.c scf
De:       Rob Swindell (on Windows 11)
Data:     Fri, 29 May 2026 00:55:35 -0700
-----------------------------------------------------------
https://gitlab.synchro.net/main/sbbs/-/commit/683147f9c66adf9e7e17c3f5
Modified Files:
	src/sbbs3/chat.cpp js_console.cpp sbbs.h src/sbbs3/scfg/scfgchat.c scfgindex.h src/sbbs3/scfgdefs.h scfglib2.c scfgsave.c
Log Message:
chat.cpp/scfg: dispatch guru paging to a JS module

Adds infrastructure for a JS-driven guru chat engine, gated on a new
per-guru "module" config field:

  src/sbbs3/scfgdefs.h        new guru_t.module field (LEN_CODE+1)
  src/sbbs3/scfglib2.c        read module= from chat.ini's [guru:CODE]
  src/sbbs3/scfgsave.c        write module= back to chat.ini
  src/sbbs3/scfg/scfgchat.c   "Module" line in SCFG's guru menu + helpbuf
  src/sbbs3/scfg/scfgindex.h  register the option in SCFG's option index
  src/sbbs3/sbbs.h            declarations for the dispatch methods
  src/sbbs3/chat.cpp          dispatch + simulate_type
  src/sbbs3/js_console.cpp    console.simulate_type() JS binding

When cfg.guru[gurunum]->module is empty (the default for every existing
install), the legacy guruchat() loop runs unchanged.  When module is
set, sbbs_t::chat_llm_session(gurunum) takes over 1:1 paging by
load()ing exec/.js and invoking its chat_session(input, ctx)
function.  Channel-guru turns route to chat_llm_multinode_turn() (one-
shot per user line, no session state).

Both engines log to data/logs/guru.log in the legacy format, so sysops
see all guru conversations together regardless of which engine handled
them.

Also adds sbbs_t::simulate_type() with optional fat-finger /
transposition typo simulation, plus a console.simulate_type() JS
binding (with UTF-8 -> CP437 inplace conversion for non-UTF8
terminals) so a JS module can stream tokens out as they arrive in the
streaming response without typing them out of order.

Co-Authored-By: Claude Opus 4.7 (1M context) 
n
---
  mSynchronetn  hgVertrauen n hHome of Synchronet n gh[vert/cvs/bbs].synchro.net

-----------------------------------------------------------
[Voltar]