fix(workers): replaced file-URL import pattern with compiled-binary-aware spawn
- Replaced `with { type: "file" }` worker imports with `isCompiledBinary()` hybrid: literal string for `--compile` static analysis, `new URL(import.meta.url)` for dev portability.
- Added worker entrypoints as explicit `--compile` args in `build-binary.ts` so Bun emits them into bunfs.
- Added `smokeTestSyncWorker` and `omp --smoke-test` to catch silent worker-load failures in compiled binaries (fixes #1011, #1027).
- Added `isCompiledBinary()` utility to `@oh-my-pi/pi-utils` detecting bunfs path markers.
This commit is contained in:
@@ -40,6 +40,17 @@ async function main(): Promise<void> {
|
||||
"--root",
|
||||
"../..",
|
||||
"./src/cli.ts",
|
||||
// Worker entrypoints. Bun's `--compile` discovers the literal in
|
||||
// `new Worker("…", …)` at each spawn site, but only actually
|
||||
// emits the worker into the bunfs root when it is listed here as
|
||||
// an explicit additional entry. Paths are relative to this
|
||||
// script's cwd (packages/coding-agent) and the `--root` above
|
||||
// (../..) makes them appear inside the binary at
|
||||
// `/$bunfs/root/packages/<pkg>/src/<worker>.js`, which is
|
||||
// exactly what the literals at the spawn sites resolve to.
|
||||
"../stats/src/sync-worker.ts",
|
||||
"./src/tools/browser/tab-worker-entry.ts",
|
||||
"./src/eval/js/worker-entry.ts",
|
||||
"--outfile",
|
||||
"dist/omp",
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user