import "ext:pctx_runtime_snapshot/timers.js";
import { Bash } from "ext:pctx_runtime_snapshot/just-bash/bundle.js";
const core = Deno.core;
const ops = core.ops;
const availableOps = Object.keys(ops).filter((k) => k.startsWith("op_"));
if (availableOps.length === 0) {
console.error(
"WARNING: No ops available! This indicates an extension loading issue.",
);
} else {
const mcpOps = availableOps.filter((k) => k.includes("mcp"));
if (mcpOps.length > 0) {
console.log("Available MCP ops:", mcpOps);
}
}
function formatConsoleArgs(...args) {
return args
.map((arg) => {
if (typeof arg === "string") return arg;
if (arg === null) return "null";
if (arg === undefined) return "undefined";
try {
return JSON.stringify(arg);
} catch {
return String(arg);
}
})
.join(" ");
}
globalThis.__stdout = [];
globalThis.__stderr = [];
console.log = (...args) => {
globalThis.__stdout.push(formatConsoleArgs(...args));
};
console.error = (...args) => {
globalThis.__stderr.push(formatConsoleArgs(...args));
};
console.warn = (...args) => {
globalThis.__stderr.push(formatConsoleArgs(...args));
};
console.info = (...args) => {
globalThis.__stdout.push(formatConsoleArgs(...args));
};
console.debug = (...args) => {
globalThis.__stdout.push(formatConsoleArgs(...args));
};
export async function invokeInternal(call) {
return await ops.op_invoke(call.name, call.arguments);
}
globalThis.invokeInternal = invokeInternal;
globalThis.justBash = Bash;