diff --git a/src/agents/model-auth.test.ts b/src/agents/model-auth.test.ts index 1250e6174..5522a12ad 100644 --- a/src/agents/model-auth.test.ts +++ b/src/agents/model-auth.test.ts @@ -1,11 +1,9 @@ import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; - -import { describe, expect, it, vi } from "vitest"; - import type { Api, Model } from "@mariozechner/pi-ai"; import { discoverAuthStorage } from "@mariozechner/pi-coding-agent"; +import { describe, expect, it, vi } from "vitest"; const oauthFixture = { access: "access-token", @@ -17,9 +15,7 @@ const oauthFixture = { describe("getApiKeyForModel", () => { it("migrates legacy oauth.json into auth.json", async () => { const previousStateDir = process.env.CLAWDBOT_STATE_DIR; - const tempDir = await fs.mkdtemp( - path.join(os.tmpdir(), "clawdbot-oauth-"), - ); + const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "clawdbot-oauth-")); try { process.env.CLAWDBOT_STATE_DIR = tempDir; diff --git a/src/agents/model-auth.ts b/src/agents/model-auth.ts index 80c339ddd..55c321c6e 100644 --- a/src/agents/model-auth.ts +++ b/src/agents/model-auth.ts @@ -98,9 +98,15 @@ export function ensureOAuthStorage(): void { importLegacyOAuthIfNeeded(oauthPath); } -function isValidOAuthCredential(entry: OAuthCredentials | undefined): entry is OAuthCredentials { +function isValidOAuthCredential( + entry: OAuthCredentials | undefined, +): entry is OAuthCredentials { if (!entry) return false; - return Boolean(entry.access?.trim() && entry.refresh?.trim() && Number.isFinite(entry.expires)); + return Boolean( + entry.access?.trim() && + entry.refresh?.trim() && + Number.isFinite(entry.expires), + ); } function migrateOAuthStorageToAuthStorage( diff --git a/src/auto-reply/reply.triggers.test.ts b/src/auto-reply/reply.triggers.test.ts index bb1c8543a..19d6f0ff7 100644 --- a/src/auto-reply/reply.triggers.test.ts +++ b/src/auto-reply/reply.triggers.test.ts @@ -798,8 +798,11 @@ describe("trigger handling", () => { workspaceDir: cfg.agent.workspace, }); expect(sandbox).not.toBeNull(); + if (!sandbox) { + throw new Error("Expected sandbox to be set"); + } const stagedFullPath = join( - sandbox!.workspaceDir, + sandbox.workspaceDir, "media", "inbound", basename(mediaPath), diff --git a/src/auto-reply/status.ts b/src/auto-reply/status.ts index 7d9459739..0134a93ff 100644 --- a/src/auto-reply/status.ts +++ b/src/auto-reply/status.ts @@ -14,8 +14,8 @@ import { } from "../agents/usage.js"; import type { ClawdbotConfig } from "../config/config.js"; import { - resolveSessionTranscriptPath, resolveMainSessionKey, + resolveSessionTranscriptPath, type SessionEntry, type SessionScope, } from "../config/sessions.js"; @@ -167,7 +167,9 @@ export function buildStatusMessage(args: StatusArgs): string { args.resolvedVerbose ?? args.agent?.verboseDefault ?? "off"; const elevatedLevel = args.resolvedElevated ?? - args.sessionEntry?.elevatedLevel ?? args.agent?.elevatedDefault ?? "on"; + args.sessionEntry?.elevatedLevel ?? + args.agent?.elevatedDefault ?? + "on"; const runtime = (() => { const sandboxMode = args.agent?.sandbox?.mode ?? "off"; diff --git a/src/wizard/onboarding.ts b/src/wizard/onboarding.ts index 94ee98657..6eda1cc93 100644 --- a/src/wizard/onboarding.ts +++ b/src/wizard/onboarding.ts @@ -2,6 +2,7 @@ import path from "node:path"; import { loginAnthropic, type OAuthCredentials } from "@mariozechner/pi-ai"; import { discoverAuthStorage } from "@mariozechner/pi-coding-agent"; +import { resolveClawdbotAgentDir } from "../agents/agent-paths.js"; import { isRemoteEnvironment, loginAntigravityVpsAware,