Pi-CLI-Web / src /main.js
Mike0021's picture
Deploy pi cli web docker server
aab0173 verified
import { createPiCli } from "./piCli.js";
import { createSandbox } from "./sandbox.js";
import "./styles.css";
import { createWebTerminal } from "./webTerminal.js";
const nodes = {
status: document.querySelector("#status"),
modelStatus: document.querySelector("#model-status"),
sandboxStatus: document.querySelector("#sandbox-status"),
modelLabel: document.querySelector("#model-label"),
terminal: document.querySelector("#terminal"),
modelGate: document.querySelector("#model-gate"),
gateStatus: document.querySelector("#gate-status"),
gateDevice: document.querySelector("#gate-device"),
confirmLoadModel: document.querySelector("#confirm-load-model"),
useTestModel: document.querySelector("#use-test-model"),
};
const params = new URLSearchParams(window.location.search);
const terminal = await createWebTerminal(nodes.terminal);
const sandbox = createSandbox({
onStatus: (text) => {
nodes.sandboxStatus.textContent = text;
},
});
const cli = createPiCli({
terminal,
sandbox,
nodes,
params,
});
window.__piCliWeb = cli;
window.__piWebAgent = {
get transcript() {
return cli.transcript;
},
get terminalText() {
return cli.outputText;
},
get modelReady() {
return cli.modelReady;
},
get status() {
return cli.status;
},
runInput(text) {
return cli.handleLine(text);
},
loadModel() {
return cli.loadModel();
},
};