Address Greptile review: trim version, remove redundant fs/promises import, use fixed .tmp suffix

This commit is contained in:
2026-04-12 14:22:00 -04:00
parent ddf36667f9
commit aed1a886a9
3 changed files with 18 additions and 4 deletions
@@ -2,6 +2,21 @@ import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
vi.mock("hermes-paperclip-adapter/server", () => ({
execute: vi.fn(),
testEnvironment: vi.fn(),
sessionCodec: vi.fn(),
listSkills: vi.fn(async () => []),
syncSkills: vi.fn(async () => []),
detectModel: vi.fn(),
}));
vi.mock("hermes-paperclip-adapter", () => ({
agentConfigurationDoc: vi.fn(),
models: [],
}));
import { withAdapterMutex } from "../routes/adapters.js";
// ---------------------------------------------------------------------------
+2 -3
View File
@@ -232,7 +232,7 @@ export function adapterRoutes() {
// Strip version suffix if the UI sends "pkg@1.2.3" instead of separating it
// e.g. "@henkey/hermes-paperclip-adapter@0.3.0" → packageName + version
let canonicalName = packageName.trim();
let explicitVersion = version;
let explicitVersion = typeof version === "string" ? version.trim() : version;
const versionSuffix = packageName.match(/@(\d+\.\d+\.\d+.*)$/);
if (versionSuffix) {
// For scoped packages: "@scope/name@1.2.3" → "@scope/name" + "1.2.3"
@@ -264,8 +264,7 @@ export function adapterRoutes() {
// Read installed version from package.json
try {
const pkgJsonPath = path.join(pluginsDir, "node_modules", canonicalName, "package.json");
const pkgContent = await import("node:fs/promises");
const pkgRaw = await pkgContent.readFile(pkgJsonPath, "utf-8");
const pkgRaw = await readFile(pkgJsonPath, "utf-8");
const pkg = JSON.parse(pkgRaw);
const v = pkg.version;
installedVersion =
+1 -1
View File
@@ -89,7 +89,7 @@ function writeStore(records: AdapterPluginRecord[]): void {
// Atomic write: write to a temp file in the same directory then rename.
// rename() is atomic on POSIX when source and target are on the same
// filesystem, preventing partial/corrupted reads from concurrent processes.
const tmpPath = `${ADAPTER_PLUGINS_STORE_PATH}.${process.pid}.tmp`;
const tmpPath = `${ADAPTER_PLUGINS_STORE_PATH}.tmp`;
fs.writeFileSync(tmpPath, JSON.stringify(records, null, 2), "utf-8");
fs.renameSync(tmpPath, ADAPTER_PLUGINS_STORE_PATH);
storeCache = records;