MCPcopy Create free account
hub / github.com/cortexkit/magic-context / createPiIsolatedEnv

Function createPiIsolatedEnv

packages/e2e-tests/src/pi-runner/spawn.ts:81–106  ·  view source on GitHub ↗
(sharedDataDir?: string)

Source from the content-addressed store, hash-verified

79export type PiSpawnOptions = PiRunnerOptions;
80
81export function createPiIsolatedEnv(sharedDataDir?: string): PiIsolatedEnv {
82 const unique = `pi-e2e-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
83 const baseDirRaw = join(tmpdir(), unique);
84 mkdirSync(baseDirRaw, { recursive: true });
85 const baseDir = realpathSync(baseDirRaw);
86 const configDir = join(baseDir, "config");
87 const dataDir = sharedDataDir ? realpathSync(sharedDataDir) : join(baseDir, "data");
88 const cacheDir = join(baseDir, "cache");
89 const workdir = join(baseDir, "work");
90 const agentDir = join(baseDir, ".pi", "agent");
91 const pluginDir = join(agentDir, "extensions", "pi-magic-context");
92 for (const d of [configDir, dataDir, cacheDir, workdir, agentDir, join(agentDir, "extensions")]) {
93 mkdirSync(d, { recursive: true });
94 }
95
96 // Use real paths consistently to avoid /var vs /private/var identity drift on macOS.
97 return {
98 baseDir: realpathSync(baseDir),
99 configDir: realpathSync(configDir),
100 dataDir: realpathSync(dataDir),
101 cacheDir: realpathSync(cacheDir),
102 workdir: realpathSync(workdir),
103 agentDir: realpathSync(agentDir),
104 pluginDir,
105 };
106}
107
108export function ensurePluginAvailable(env: PiIsolatedEnv): void {
109 const distEntry = join(PI_PLUGIN_ROOT, "dist", "index.js");

Callers 2

createMethod · 0.90
constructorMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected