Warning: session_start(): open(/var/lib/php/sessions/sess_qbfgsov9l4ud93d8oqhficdogm, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static L dm_gazelle_reasonAboutChatInput_v2(S userName, S content, O... _) {
bool debug = boolPar debug(_);
LS preContext = optPar preContext(_);
GazelleEvalContext ctx = optPar ctx(_);
if (ctx == null) ctx = dm_gazelle_stdEvalContext(dm_gazelle_allRulesWithComment(optPar requiredComment(_, "discord")));
// Need input as first condition
ctx.engine.dropRulesWhere(r -> cicOneOf(r.comments, "in 1 = statement", "in = statement"));
if (debug) print("Have rules: " + collect globalID(ctx.engine.rules));
gazelle_addHelperTablesToRules(ctx.engine);
LS allInputs = ll(content);
if (nempty(preContext)) { content = first(preContext); allInputs = concatLists(preContext, allInputs); }
GazelleTree tree1 = new(ctx, content);
L l = dm_gazelle_getChildren(tree1, firstConditionOnly := true);
dm_gazelle_matchAdditionalInput(l);
GazelleTree tree2 = new(ctx, optCurly(userName) + " says: " + content);
l.addAll(dm_gazelle_getChildren(tree2, firstConditionOnly := true));
if (boolPar skipBad(_, true)) l = [GazelleTree t : l | neq(t.prediction, 'bad)];
gazelle_sortChildren(l);
dm_gazelle_matchStatements(l);
// drop unsatisfied entries
l = [GazelleTree t : l | t.mr == null || !t.mr.moreConditions()];
ret l;
}