mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-22 09:12:44 +00:00
* fix(opencode): reuse servers across agent sessions Paseo's always-present per-agent environment forced every OpenCode session onto a dedicated helper, multiplying cold starts and memory use. Route ordinary sessions through one shared helper while a daemon-owned session bridge preserves exact environment and caller-scoped tools; keep custom process environment and MCP configuration isolated. * fix(build): bundle the agent bridge from existing dependencies The helper package duplicated Zod and changed the fixed-output desktop dependency graph even though its tool wrapper was identity-only. Use the server's existing Zod runtime directly so packaged daemons can materialize the bridge without extra traced dependencies. * refactor(server): isolate provider runtime composition Keep provider-specific lifecycle and tool-catalog wiring behind an agent-owned runtime boundary so the generic daemon bootstrap remains provider-agnostic. The runtime now owns bridge startup, snapshot injection, and idempotent cleanup. * fix(desktop): prebundle the agent bridge plugin Packaged daemons run from an application archive where esbuild cannot spawn its binary. Produce the self-contained plugin during the server build and make compiled runtimes read that artifact; source-mode tests retain a gated compiler fallback.
26 lines
634 B
JavaScript
26 lines
634 B
JavaScript
import { mkdir } from "node:fs/promises";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
import { build } from "esbuild";
|
|
|
|
const sourcePath = fileURLToPath(
|
|
new URL("../src/server/agent/providers/opencode/bridge-plugin.mjs", import.meta.url),
|
|
);
|
|
const outputPath = fileURLToPath(
|
|
new URL(
|
|
"../dist/server/server/agent/providers/opencode/bridge-plugin.bundle.mjs",
|
|
import.meta.url,
|
|
),
|
|
);
|
|
|
|
await mkdir(path.dirname(outputPath), { recursive: true });
|
|
await build({
|
|
entryPoints: [sourcePath],
|
|
bundle: true,
|
|
format: "esm",
|
|
platform: "neutral",
|
|
target: "es2022",
|
|
outfile: outputPath,
|
|
});
|