diff --git a/adapters/acp-adapter/package.json b/adapters/acp-adapter/package.json index 9b4d1bb..6cdf8c9 100644 --- a/adapters/acp-adapter/package.json +++ b/adapters/acp-adapter/package.json @@ -18,9 +18,7 @@ "@grey/pipeline": "workspace:*", "@grey/x402-middleware": "workspace:*", "@virtuals-protocol/acp-node-v2": "^0.0.4", + "tsx": "^4.22.4", "viem": "^2.53.1" - }, - "devDependencies": { - "tsx": "^4.22.4" } } diff --git a/infra/systemd/grey-acp-adapter.service b/infra/systemd/grey-acp-adapter.service index 6353a0e..fc98c40 100644 --- a/infra/systemd/grey-acp-adapter.service +++ b/infra/systemd/grey-acp-adapter.service @@ -12,7 +12,10 @@ Wants=network-online.target Type=simple User=grey WorkingDirectory=/opt/grey/grey -ExecStart=/usr/bin/node adapters/acp-adapter/dist/main.js +# FDQ-70: the @virtuals-protocol/acp-node-v2 SDK ships ESM with EXTENSIONLESS relative +# imports (bun-authored; bun tolerates them, strict Node ESM does not). The tsx loader +# resolves them, so the adapter runs under `node --import tsx`. tsx is a runtime dependency. +ExecStart=/usr/bin/node --import tsx adapters/acp-adapter/dist/main.js EnvironmentFile=/etc/grey/acp-adapter.env Restart=on-failure RestartSec=5 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c8dcf4..bf1a085 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,13 +59,12 @@ importers: '@virtuals-protocol/acp-node-v2': specifier: ^0.0.4 version: 0.0.4(@solana/web3.js@1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6))(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3) - viem: - specifier: ^2.53.1 - version: 2.53.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3) - devDependencies: tsx: specifier: ^4.22.4 version: 4.22.4 + viem: + specifier: ^2.53.1 + version: 2.53.1(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6)(zod@4.4.3) adapters/x402-middleware: dependencies: