feat(coding-agent/eval): added local python-runner subprocess execution

- Replaced Python execution with a local `python -u runner.py` subprocess and NDJSON stdin/stdout framing.
- Removed shared-gateway architecture, including coordinator lifecycle APIs, `useSharedGateway` wiring, and `jupyter` CLI/actions.
- Simplified setup checks to a plain Python 3 availability probe and removed automatic dependency-install fallbacks.
- Updated kernel cancellation and display processing to use status frames, SIGINT/SIGTERM escalation, and normalized output coercion.
- Added `python-runner` integration and display tests while deleting legacy websocket and kernel lifecycle test suites.
This commit is contained in:
can1357
2026-05-12 09:09:24 +02:00
parent dcf3f1c8a3
commit 8d144e17ec
26 changed files with 1735 additions and 3004 deletions
@@ -1,32 +0,0 @@
/**
* Manage the shared Jupyter gateway.
*/
import { Args, Command } from "@oh-my-pi/pi-utils/cli";
import { type JupyterAction, type JupyterCommandArgs, runJupyterCommand } from "../cli/jupyter-cli";
import { initTheme } from "../modes/theme/theme";
const ACTIONS: JupyterAction[] = ["kill", "status"];
export default class Jupyter extends Command {
static description = "Manage the shared Jupyter gateway";
static args = {
action: Args.string({
description: "Jupyter action",
required: false,
options: ACTIONS,
}),
};
async run(): Promise<void> {
const { args } = await this.parse(Jupyter);
const action = (args.action ?? "status") as JupyterAction;
const cmd: JupyterCommandArgs = {
action,
};
await initTheme();
await runJupyterCommand(cmd);
}
}