Skip to content

Commit 30ef5bc

Browse files
authored
Merge pull request #1 from navapbc/hotfix/linting-type-errors
fix: fix type errors + run biome
2 parents cd30422 + a505675 commit 30ef5bc

33 files changed

Lines changed: 72 additions & 90 deletions

app/(auth)/auth.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ export const {
4747
trustHost: true,
4848
providers: [
4949
Google({
50-
clientId: process.env.GOOGLE_CLIENT_ID!,
51-
clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
50+
clientId: process.env.GOOGLE_CLIENT_ID ?? "",
51+
clientSecret: process.env.GOOGLE_CLIENT_SECRET ?? "",
5252
}),
5353
MicrosoftEntraID({
5454
clientId: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
@@ -137,7 +137,7 @@ export const {
137137
}
138138

139139
const dbUser = await upsertOAuthUser({
140-
email: user.email!,
140+
email: user.email ?? "",
141141
name: user.name,
142142
image: user.image,
143143
});

app/(chat)/home/page.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export default function LandingPage() {
4444
{/* Start Application Button */}
4545
<div className="mt-4 md:mt-6">
4646
<button
47+
type="button"
4748
onClick={() => router.push('/')}
4849
className="bg-primary text-primary-foreground font-inter font-medium text-sm leading-6 px-6 sm:px-7 py-2 sm:py-2.5 rounded-lg hover:bg-primary/90 transition-colors cursor-pointer"
4950
>

app/api/link/route.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import { Redis } from '@upstash/redis';
2-
import { createCipheriv, createDecipheriv, randomBytes } from 'crypto';
3-
import { createLinkRequestSchema, type CreateLinkResponse } from './schema';
2+
import { createCipheriv, randomBytes } from 'node:crypto';
3+
import { createLinkRequestSchema, type CreateLinkRequest, type CreateLinkResponse } from './schema';
44

55
const redis = new Redis({
6-
url: process.env.UPSTASH_REDIS_REST_URL!,
7-
token: process.env.UPSTASH_REDIS_REST_TOKEN!,
6+
url: process.env.UPSTASH_REDIS_REST_URL ?? "",
7+
token: process.env.UPSTASH_REDIS_REST_TOKEN ?? "",
88
});
99

1010
// AES-256-GCM encryption using AUTH_SECRET
1111
function encrypt(text: string): string {
12-
const key = Buffer.from(process.env.AUTH_SECRET!).subarray(0, 32);
12+
const key = Buffer.from(process.env.AUTH_SECRET ?? "").subarray(0, 32);
1313
const iv = randomBytes(12);
1414
const cipher = createCipheriv('aes-256-gcm', key, iv);
1515
const encrypted = Buffer.concat([cipher.update(text, 'utf8'), cipher.final()]);
@@ -29,7 +29,7 @@ function generateId(length = 8): string {
2929
export async function POST(request: Request) {
3030
try {
3131
// Parse and validate request body
32-
let requestBody;
32+
let requestBody: CreateLinkRequest | undefined;
3333
try {
3434
const json = await request.json();
3535
requestBody = createLinkRequestSchema.parse(json);

app/link/[token]/route.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { NextResponse } from 'next/server';
22
import { Redis } from '@upstash/redis';
3-
import { createDecipheriv } from 'crypto';
3+
import { createDecipheriv } from 'node:crypto';
44
import { auth } from '@/app/(auth)/auth';
55

66
const redis = new Redis({
7-
url: process.env.UPSTASH_REDIS_REST_URL!,
8-
token: process.env.UPSTASH_REDIS_REST_TOKEN!,
7+
url: process.env.UPSTASH_REDIS_REST_URL ?? "",
8+
token: process.env.UPSTASH_REDIS_REST_TOKEN ?? "",
99
});
1010

1111
// AES-256-GCM decryption using AUTH_SECRET
1212
function decrypt(encryptedData: string): string {
13-
const key = Buffer.from(process.env.AUTH_SECRET!).subarray(0, 32);
13+
const key = Buffer.from(process.env.AUTH_SECRET ?? "").subarray(0, 32);
1414
const data = Buffer.from(encryptedData, 'base64url');
1515
const iv = data.subarray(0, 12);
1616
const tag = data.subarray(12, 28);

components/ai-elements/context.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function getUsage({ modelId, usage }: {
3030
usage: { input?: number; output?: number; cacheReads?: number; reasoningTokens?: number };
3131
}): { costUSD?: { totalUSD: number } } {
3232
// Strip provider prefix (e.g. "anthropic:claude-sonnet-4-6" → "claude-sonnet-4-6")
33-
const model = modelId.includes(':') ? modelId.split(':').pop()! : modelId;
33+
const model = modelId.includes(':') ? modelId.split(':').pop() ?? modelId : modelId;
3434
const pricing = MODEL_PRICING[model];
3535
if (!pricing) return {};
3636

components/ai-elements/form-summary-card.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,8 +288,8 @@ export function FormSummaryCard({
288288

289289
<div>
290290
<div className="px-6">
291-
{allFields.map((item, i) => (
292-
<div key={i} className="py-4 border-b border-border last:border-b-0">
291+
{allFields.map((item) => (
292+
<div key={item.field} className="py-4 border-b border-border last:border-b-0">
293293
<div className="flex items-center justify-between gap-4 mb-1">
294294
<span className="text-sm font-bold text-card-foreground leading-snug font-source-serif">
295295
{item.field}

components/ai-elements/user-action-confirmation.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import {
88
ConfirmationRejected,
99
ConfirmationActions,
1010
ConfirmationAction,
11-
ConfirmationState,
12-
ApprovalState,
11+
type ConfirmationState,
12+
type ApprovalState,
1313
} from './confirmation';
1414

1515
interface UserActionConfirmationProps {

components/app-sidebar.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import {
1919
useSidebar,
2020
} from '@/components/ui/sidebar';
2121
import Link from 'next/link';
22-
import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip';
2322
import { useBrowserSessionExit } from '@/hooks/use-browser-session-exit';
2423
import { ExitWarningModal } from '@/components/exit-warning-modal';
2524

components/artifact-actions.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Button } from './ui/button';
22
import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip';
3-
import { artifactDefinitions, UIArtifact } from './artifact';
4-
import { Dispatch, memo, SetStateAction, useState } from 'react';
5-
import { ArtifactActionContext } from './create-artifact';
3+
import { artifactDefinitions, type UIArtifact } from './artifact';
4+
import { type Dispatch, memo, type SetStateAction, useState } from 'react';
5+
import type { ArtifactActionContext } from './create-artifact';
66
import { cn } from '@/lib/utils';
77
import { toast } from 'sonner';
88

components/artifact.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { formatDistance } from 'date-fns';
1+
22
import { AnimatePresence, motion } from 'framer-motion';
33
import {
44
type Dispatch,
@@ -8,15 +8,13 @@ import {
88
useEffect,
99
useState,
1010
} from 'react';
11-
import useSWR, { useSWRConfig } from 'swr';
11+
import { useSWRConfig } from 'swr';
1212
import { useDebounceCallback, useWindowSize } from 'usehooks-ts';
1313
import type { Document, Vote } from '@/lib/db/schema';
14-
import { fetcher } from '@/lib/utils';
1514
import { MultimodalInput } from './multimodal-input';
1615
import { Toolbar } from './toolbar';
1716
import { VersionFooter } from './version-footer';
1817
import { ArtifactActions } from './artifact-actions';
19-
import { ArtifactCloseButton } from './artifact-close-button';
2018
import { ArtifactMessages } from './artifact-messages';
2119
import type { CheckpointData } from './chat';
2220
import { useSidebar } from './ui/sidebar';

0 commit comments

Comments
 (0)