SilverBullet pivot to become an offline-first PWA (#403)

This commit is contained in:
Zef Hemel
2023-05-23 20:53:53 +02:00
committed by GitHub
parent b256269897
commit 5f484bed57
389 changed files with 4484 additions and 291129 deletions
+34
View File
@@ -0,0 +1,34 @@
import { HttpSpacePrimitives } from "../../common/spaces/http_space_primitives.ts";
import { SysCallMapping } from "../../plugos/system.ts";
export function shellSyscalls(
httpSpacePrimitives?: HttpSpacePrimitives,
): SysCallMapping {
return {
"shell.run": async (
_ctx,
cmd: string,
args: string[],
): Promise<{ stdout: string; stderr: string; code: number }> => {
if (!httpSpacePrimitives) {
throw new Error("Not supported in fully local mode");
}
const resp = httpSpacePrimitives.authenticatedFetch(
httpSpacePrimitives.url,
{
method: "POST",
body: JSON.stringify({
operation: "shell",
cmd,
args,
}),
},
);
const { code, stderr, stdout } = await (await resp).json();
if (code !== 0) {
throw new Error(stderr);
}
return { code, stderr, stdout };
},
};
}