Fix process.cwd() error when running from deleted directory

- Defer process.cwd() call in logger to avoid initialization errors
- Resolve log file path only when actually writing logs
- Bump version to 0.5.2
This commit is contained in:
Mario Zechner 2025-08-09 18:05:28 +02:00
parent d304f377d7
commit 42dc46a513
8 changed files with 29 additions and 19 deletions

10
package-lock.json generated
View file

@ -778,10 +778,10 @@
},
"packages/agent": {
"name": "@mariozechner/pi-agent",
"version": "0.5.1",
"version": "0.5.2",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-tui": "^0.5.0",
"@mariozechner/pi-tui": "^0.5.1",
"@types/glob": "^8.1.0",
"chalk": "^5.5.0",
"glob": "^11.0.3",
@ -1222,10 +1222,10 @@
},
"packages/pods": {
"name": "@mariozechner/pi",
"version": "0.5.1",
"version": "0.5.2",
"license": "MIT",
"dependencies": {
"@mariozechner/pi-agent": "^0.5.0",
"@mariozechner/pi-agent": "^0.5.1",
"chalk": "^5.5.0"
},
"bin": {
@ -1238,7 +1238,7 @@
},
"packages/tui": {
"name": "@mariozechner/pi-tui",
"version": "0.5.1",
"version": "0.5.2",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",

View file

@ -1,12 +1,12 @@
{
"name": "@mariozechner/pi-agent",
"version": "0.5.1",
"version": "0.5.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@mariozechner/pi-agent",
"version": "0.5.1",
"version": "0.5.2",
"license": "MIT",
"dependencies": {
"@mariozechner/tui": "^0.1.1",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-agent",
"version": "0.5.1",
"version": "0.5.2",
"description": "General-purpose agent with tool calling and session persistence",
"type": "module",
"bin": {
@ -18,7 +18,7 @@
"prepublishOnly": "npm run clean && npm run build"
},
"dependencies": {
"@mariozechner/pi-tui": "^0.5.1",
"@mariozechner/pi-tui": "^0.5.2",
"@types/glob": "^8.1.0",
"chalk": "^5.5.0",
"glob": "^11.0.3",

View file

@ -1,12 +1,12 @@
{
"name": "@mariozechner/pi",
"version": "0.5.1",
"version": "0.5.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@mariozechner/pi",
"version": "0.5.1",
"version": "0.5.2",
"license": "MIT",
"dependencies": {
"@ai-sdk/openai": "^2.0.5",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi",
"version": "0.5.1",
"version": "0.5.2",
"description": "CLI tool for managing vLLM deployments on GPU pods",
"type": "module",
"bin": {
@ -33,7 +33,7 @@
"node": ">=20.0.0"
},
"dependencies": {
"@mariozechner/pi-agent": "^0.5.1",
"@mariozechner/pi-agent": "^0.5.2",
"chalk": "^5.5.0"
},
"devDependencies": {}

View file

@ -1,12 +1,12 @@
{
"name": "@mariozechner/tui",
"version": "0.5.1",
"version": "0.5.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@mariozechner/tui",
"version": "0.5.1",
"version": "0.5.2",
"license": "MIT",
"dependencies": {
"@types/mime-types": "^2.1.4",

View file

@ -1,6 +1,6 @@
{
"name": "@mariozechner/pi-tui",
"version": "0.5.1",
"version": "0.5.2",
"description": "Terminal User Interface library with differential rendering for efficient text-based applications",
"type": "module",
"main": "dist/index.js",

View file

@ -10,7 +10,7 @@ export interface LoggerConfig {
class Logger {
private config: LoggerConfig = {
enabled: false,
logFile: join(process.cwd(), "tui-debug.log"),
logFile: "tui-debug.log", // Will be resolved when needed
logLevel: "debug",
};
@ -20,7 +20,12 @@ class Logger {
if (this.config.enabled) {
// Clear log file on startup
try {
writeFileSync(this.config.logFile, `=== TUI Debug Log Started ${new Date().toISOString()} ===\n`);
// Resolve log file path when needed
const logFile = this.config.logFile.startsWith("/")
? this.config.logFile
: join(process.cwd(), this.config.logFile);
writeFileSync(logFile, `=== TUI Debug Log Started ${new Date().toISOString()} ===\n`);
} catch (error) {
// Silently fail if we can't write to log file
}
@ -45,7 +50,12 @@ class Logger {
const dataStr = data ? ` | Data: ${JSON.stringify(data)}` : "";
const logLine = `[${timestamp}] ${level.toUpperCase()} [${component}] ${message}${dataStr}\n`;
appendFileSync(this.config.logFile, logLine);
// Resolve log file path when needed
const logFile = this.config.logFile.startsWith("/")
? this.config.logFile
: join(process.cwd(), this.config.logFile);
appendFileSync(logFile, logLine);
} catch (error) {
// Silently fail if we can't write to log file
}