feat: assistant reads, lists and writes files and runs commands on any of the user's machines; agent mode does the steps itself, asking before each command and write

This commit is contained in:
redtea committed 2026-10-15 22:21:54 +03:00
1 parent d9c7c2dd42
commit a7e43ab700
5 files changed
+207 -31

No files matched your search

+15 -1
View File
@@ -44,6 +44,20 @@
};
}
const api = {shellQuote, shellQuoteAll, dropAction, fmtSize, scope};
// parseActions finds what an assistant's answer asks the panel to do:
// closed ``` blocks headed run [machine], read|ls [machine:]path or
// write [machine:]path (its body the file's text).
function parseActions(text) {
const out = [], re = /```(run|read|ls|write)([^\n]*)\n([\s\S]*?)```/g;
for (let m; (m = re.exec(text));) {
const kind = m[1], head = m[2].trim(), body = m[3].replace(/\n$/, '');
if (kind === 'run') { out.push({kind, machine: head, path: '', body}); continue; }
const c = head.indexOf(':');
const machine = c > 0 && !head.startsWith('/') ? head.slice(0, c) : '';
out.push({kind, machine, path: machine ? head.slice(c + 1) : head, body: kind === 'write' ? body : ''});
}
return out;
}
const api = {shellQuote, shellQuoteAll, dropAction, fmtSize, scope, parseActions};
if (typeof module !== 'undefined') module.exports = api; else root.WSUtil = api;
})(this);