11import { McpServer , Tool , Toolkit } from '@effect/ai' ;
22import { NodeContext , NodeRuntime , NodeSink , NodeStream } from '@effect/platform-node' ;
33import { Cause , Effect , Layer , Logger , Option , Schema } from 'effect' ;
4- import { readFileSync } from 'node:fs' ;
4+ import { existsSync , readFileSync } from 'node:fs' ;
55import { dirname , resolve } from 'node:path' ;
66import { fileURLToPath } from 'node:url' ;
77
@@ -15,10 +15,12 @@ import { GithubReleaseLayer, Release } from './services/release.js';
1515
1616import type { FileSystem , Path } from '@effect/platform' ;
1717
18- // dist/src/mcp.js → ../../package.json resolves to the package root
19- const { version } = JSON . parse (
20- readFileSync ( resolve ( dirname ( fileURLToPath ( import . meta. url ) ) , '../../package.json' ) , 'utf8' ) ,
21- ) as { version : string } ;
18+ // Resolve package.json from either dist/src/ (compiled) or src/ (Vitest).
19+ const __dir = dirname ( fileURLToPath ( import . meta. url ) ) ;
20+ const pkgPath = existsSync ( resolve ( __dir , '../../package.json' ) )
21+ ? resolve ( __dir , '../../package.json' )
22+ : resolve ( __dir , '../package.json' ) ;
23+ const { version } = JSON . parse ( readFileSync ( pkgPath , 'utf8' ) ) as { version : string } ;
2224
2325// ── Shared error formatter ────────────────────────────────────────────────────
2426
0 commit comments