overseer v2 1

This commit is contained in:
legop3
2026-05-03 22:51:50 -04:00
parent 32e4afdbe8
commit 850f89c8ed
26 changed files with 929 additions and 128 deletions
@@ -0,0 +1,42 @@
const chatSay = require('./chatSay');
const memoryRead = require('./memoryRead');
const memoryWrite = require('./memoryWrite');
const liftUp = require('./liftUp');
const liftDown = require('./liftDown');
const neatoStart = require('./neatoStart');
const neatoSendHome = require('./neatoSendHome');
const neatoLocate = require('./neatoLocate');
const neatoClearErrors = require('./neatoClearErrors');
const haSetEntity = require('./haSetEntity');
const TOOL_DEFINITIONS = [
chatSay,
memoryRead,
memoryWrite,
liftUp,
liftDown,
neatoStart,
neatoSendHome,
neatoLocate,
neatoClearErrors,
haSetEntity,
];
function evaluateTools(context = {}) {
const available = [];
const blocked = [];
TOOL_DEFINITIONS.forEach((tool) => {
const result = typeof tool.availability === 'function' ? tool.availability(context) : { available: false, reason: 'unavailable' };
if (result?.available) {
available.push(tool.signature);
return;
}
blocked.push({ tool: tool.signature, reason: result?.reason || 'unavailable' });
});
return { available, blocked };
}
module.exports = {
TOOL_DEFINITIONS,
evaluateTools,
};