mirror of
https://github.com/simstudioai/sim.git
synced 2026-09-24 15:45:35 +08:00
refactor(logger): code cleanup for new execution logger (#798)
* refactor(logger): code hygiene with new logger * modify remaining files * simplify code structure --------- Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local>
This commit is contained in:
co-authored by
waleedlatif
parent
727e5e8763
commit
93f68a9092
@@ -15,7 +15,7 @@ import {
|
|||||||
import { Input } from '@/components/ui/input'
|
import { Input } from '@/components/ui/input'
|
||||||
import { Label } from '@/components/ui/label'
|
import { Label } from '@/components/ui/label'
|
||||||
import { client } from '@/lib/auth-client'
|
import { client } from '@/lib/auth-client'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
import { SocialLoginButtons } from '@/app/(auth)/components/social-login-buttons'
|
import { SocialLoginButtons } from '@/app/(auth)/components/social-login-buttons'
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import {
|
|||||||
CardHeader,
|
CardHeader,
|
||||||
CardTitle,
|
CardTitle,
|
||||||
} from '@/components/ui/card'
|
} from '@/components/ui/card'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { SetNewPasswordForm } from './reset-password-form'
|
import { SetNewPasswordForm } from './reset-password-form'
|
||||||
|
|
||||||
const logger = createLogger('ResetPasswordPage')
|
const logger = createLogger('ResetPasswordPage')
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { useEffect, useState } from 'react'
|
|||||||
import { useRouter, useSearchParams } from 'next/navigation'
|
import { useRouter, useSearchParams } from 'next/navigation'
|
||||||
import { client } from '@/lib/auth-client'
|
import { client } from '@/lib/auth-client'
|
||||||
import { env, isTruthy } from '@/lib/env'
|
import { env, isTruthy } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('useVerification')
|
const logger = createLogger('useVerification')
|
||||||
|
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ export function mockExecutionDependencies() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
vi.mock('@/lib/logs/trace-spans', () => ({
|
vi.mock('@/lib/logs/execution/trace-spans/trace-spans', () => ({
|
||||||
buildTraceSpans: vi.fn().mockReturnValue({
|
buildTraceSpans: vi.fn().mockReturnValue({
|
||||||
traceSpans: [],
|
traceSpans: [],
|
||||||
totalDuration: 100,
|
totalDuration: 100,
|
||||||
@@ -375,7 +375,7 @@ export function mockWorkflowAccessValidation(shouldSucceed = true) {
|
|||||||
|
|
||||||
export async function getMockedDependencies() {
|
export async function getMockedDependencies() {
|
||||||
const utilsModule = await import('@/lib/utils')
|
const utilsModule = await import('@/lib/utils')
|
||||||
const traceSpansModule = await import('@/lib/logs/trace-spans')
|
const traceSpansModule = await import('@/lib/logs/execution/trace-spans/trace-spans')
|
||||||
const workflowUtilsModule = await import('@/lib/workflows/utils')
|
const workflowUtilsModule = await import('@/lib/workflows/utils')
|
||||||
const executorModule = await import('@/executor')
|
const executorModule = await import('@/executor')
|
||||||
const serializerModule = await import('@/serializer')
|
const serializerModule = await import('@/serializer')
|
||||||
@@ -655,7 +655,7 @@ export function mockKnowledgeSchemas() {
|
|||||||
* Mock console logger
|
* Mock console logger
|
||||||
*/
|
*/
|
||||||
export function mockConsoleLogger() {
|
export function mockConsoleLogger() {
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ describe('Forget Password API Route', () => {
|
|||||||
expect(response.status).toBe(500)
|
expect(response.status).toBe(500)
|
||||||
expect(data.message).toBe(errorMessage)
|
expect(data.message).toBe(errorMessage)
|
||||||
|
|
||||||
const logger = await import('@/lib/logs/console-logger')
|
const logger = await import('@/lib/logs/console/logger')
|
||||||
const mockLogger = logger.createLogger('ForgetPasswordTest')
|
const mockLogger = logger.createLogger('ForgetPasswordTest')
|
||||||
expect(mockLogger.error).toHaveBeenCalledWith('Error requesting password reset:', {
|
expect(mockLogger.error).toHaveBeenCalledWith('Error requesting password reset:', {
|
||||||
error: expect.any(Error),
|
error: expect.any(Error),
|
||||||
@@ -164,7 +164,7 @@ describe('Forget Password API Route', () => {
|
|||||||
expect(response.status).toBe(500)
|
expect(response.status).toBe(500)
|
||||||
expect(data.message).toBe('Failed to send password reset email. Please try again later.')
|
expect(data.message).toBe('Failed to send password reset email. Please try again later.')
|
||||||
|
|
||||||
const logger = await import('@/lib/logs/console-logger')
|
const logger = await import('@/lib/logs/console/logger')
|
||||||
const mockLogger = logger.createLogger('ForgetPasswordTest')
|
const mockLogger = logger.createLogger('ForgetPasswordTest')
|
||||||
expect(mockLogger.error).toHaveBeenCalled()
|
expect(mockLogger.error).toHaveBeenCalled()
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { auth } from '@/lib/auth'
|
import { auth } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ describe('OAuth Connections API Route', () => {
|
|||||||
jwtDecode: vi.fn(),
|
jwtDecode: vi.fn(),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { eq } from 'drizzle-orm'
|
|||||||
import { jwtDecode } from 'jwt-decode'
|
import { jwtDecode } from 'jwt-decode'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account, user } from '@/db/schema'
|
import { account, user } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ describe('OAuth Credentials API Route', () => {
|
|||||||
jwtDecode: vi.fn(),
|
jwtDecode: vi.fn(),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { and, eq } from 'drizzle-orm'
|
|||||||
import { jwtDecode } from 'jwt-decode'
|
import { jwtDecode } from 'jwt-decode'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import type { OAuthService } from '@/lib/oauth/oauth'
|
import type { OAuthService } from '@/lib/oauth/oauth'
|
||||||
import { parseProvider } from '@/lib/oauth/oauth'
|
import { parseProvider } from '@/lib/oauth/oauth'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ describe('OAuth Disconnect API Route', () => {
|
|||||||
or: vi.fn((...conditions) => ({ conditions, type: 'or' })),
|
or: vi.fn((...conditions) => ({ conditions, type: 'or' })),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, eq, like, or } from 'drizzle-orm'
|
import { and, eq, like, or } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
import { refreshAccessTokenIfNeeded } from '../../utils'
|
import { refreshAccessTokenIfNeeded } from '../../utils'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
import { refreshAccessTokenIfNeeded } from '../../utils'
|
import { refreshAccessTokenIfNeeded } from '../../utils'
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ describe('OAuth Token API Routes', () => {
|
|||||||
refreshTokenIfNeeded: mockRefreshTokenIfNeeded,
|
refreshTokenIfNeeded: mockRefreshTokenIfNeeded,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getCredential, getUserId, refreshTokenIfNeeded } from '../utils'
|
import { getCredential, getUserId, refreshTokenIfNeeded } from '../utils'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ describe('OAuth Utils', () => {
|
|||||||
refreshOAuthToken: mockRefreshOAuthToken,
|
refreshOAuthToken: mockRefreshOAuthToken,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { and, eq } from 'drizzle-orm'
|
import { and, eq } from 'drizzle-orm'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { refreshOAuthToken } from '@/lib/oauth/oauth'
|
import { refreshOAuthToken } from '@/lib/oauth/oauth'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account, workflow } from '@/db/schema'
|
import { account, workflow } from '@/db/schema'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
import { refreshAccessTokenIfNeeded } from '../../utils'
|
import { refreshAccessTokenIfNeeded } from '../../utils'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
import { refreshAccessTokenIfNeeded } from '../../utils'
|
import { refreshAccessTokenIfNeeded } from '../../utils'
|
||||||
|
|||||||
@@ -148,7 +148,7 @@ describe('Reset Password API Route', () => {
|
|||||||
expect(response.status).toBe(500)
|
expect(response.status).toBe(500)
|
||||||
expect(data.message).toBe(errorMessage)
|
expect(data.message).toBe(errorMessage)
|
||||||
|
|
||||||
const logger = await import('@/lib/logs/console-logger')
|
const logger = await import('@/lib/logs/console/logger')
|
||||||
const mockLogger = logger.createLogger('PasswordReset')
|
const mockLogger = logger.createLogger('PasswordReset')
|
||||||
expect(mockLogger.error).toHaveBeenCalledWith('Error during password reset:', {
|
expect(mockLogger.error).toHaveBeenCalledWith('Error during password reset:', {
|
||||||
error: expect.any(Error),
|
error: expect.any(Error),
|
||||||
@@ -181,7 +181,7 @@ describe('Reset Password API Route', () => {
|
|||||||
'Failed to reset password. Please try again or request a new reset link.'
|
'Failed to reset password. Please try again or request a new reset link.'
|
||||||
)
|
)
|
||||||
|
|
||||||
const logger = await import('@/lib/logs/console-logger')
|
const logger = await import('@/lib/logs/console/logger')
|
||||||
const mockLogger = logger.createLogger('PasswordReset')
|
const mockLogger = logger.createLogger('PasswordReset')
|
||||||
expect(mockLogger.error).toHaveBeenCalled()
|
expect(mockLogger.error).toHaveBeenCalled()
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { auth } from '@/lib/auth'
|
import { auth } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { verifyCronAuth } from '@/lib/auth/internal'
|
import { verifyCronAuth } from '@/lib/auth/internal'
|
||||||
import { processDailyBillingCheck } from '@/lib/billing/core/billing'
|
import { processDailyBillingCheck } from '@/lib/billing/core/billing'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('DailyBillingCron')
|
const logger = createLogger('DailyBillingCron')
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { type NextRequest, NextResponse } from 'next/server'
|
|||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { getSimplifiedBillingSummary } from '@/lib/billing/core/billing'
|
import { getSimplifiedBillingSummary } from '@/lib/billing/core/billing'
|
||||||
import { getOrganizationBillingData } from '@/lib/billing/core/organization-billing'
|
import { getOrganizationBillingData } from '@/lib/billing/core/organization-billing'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { member } from '@/db/schema'
|
import { member } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import type Stripe from 'stripe'
|
|||||||
import { requireStripeClient } from '@/lib/billing/stripe-client'
|
import { requireStripeClient } from '@/lib/billing/stripe-client'
|
||||||
import { handleInvoiceWebhook } from '@/lib/billing/webhooks/stripe-invoice-webhooks'
|
import { handleInvoiceWebhook } from '@/lib/billing/webhooks/stripe-invoice-webhooks'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('StripeInvoiceWebhook')
|
const logger = createLogger('StripeInvoiceWebhook')
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import type { NextRequest } from 'next/server'
|
|||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { renderOTPEmail } from '@/components/emails/render-email'
|
import { renderOTPEmail } from '@/components/emails/render-email'
|
||||||
import { sendEmail } from '@/lib/email/mailer'
|
import { sendEmail } from '@/lib/email/mailer'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getRedisClient, markMessageAsProcessed, releaseLock } from '@/lib/redis'
|
import { getRedisClient, markMessageAsProcessed, releaseLock } from '@/lib/redis'
|
||||||
import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/utils'
|
import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ describe('Chat Subdomain API Route', () => {
|
|||||||
executeWorkflowForChat: mockExecuteWorkflowForChat,
|
executeWorkflowForChat: mockExecuteWorkflowForChat,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue({
|
createLogger: vi.fn().mockReturnValue({
|
||||||
debug: vi.fn(),
|
debug: vi.fn(),
|
||||||
info: vi.fn(),
|
info: vi.fn(),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/utils'
|
import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { chat, workflow } from '@/db/schema'
|
import { chat, workflow } from '@/db/schema'
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ describe('Chat Edit API Route', () => {
|
|||||||
chat: { id: 'id', subdomain: 'subdomain', userId: 'userId' },
|
chat: { id: 'id', subdomain: 'subdomain', userId: 'userId' },
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue({
|
createLogger: vi.fn().mockReturnValue({
|
||||||
info: vi.fn(),
|
info: vi.fn(),
|
||||||
error: vi.fn(),
|
error: vi.fn(),
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import type { NextRequest } from 'next/server'
|
|||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { isDev } from '@/lib/environment'
|
import { isDev } from '@/lib/environment'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getEmailDomain } from '@/lib/urls/utils'
|
import { getEmailDomain } from '@/lib/urls/utils'
|
||||||
import { encryptSecret } from '@/lib/utils'
|
import { encryptSecret } from '@/lib/utils'
|
||||||
import { checkChatAccess } from '@/app/api/chat/utils'
|
import { checkChatAccess } from '@/app/api/chat/utils'
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ describe('Chat API Route', () => {
|
|||||||
workflow: { id: 'id', userId: 'userId', isDeployed: 'isDeployed' },
|
workflow: { id: 'id', userId: 'userId', isDeployed: 'isDeployed' },
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue({
|
createLogger: vi.fn().mockReturnValue({
|
||||||
info: vi.fn(),
|
info: vi.fn(),
|
||||||
error: vi.fn(),
|
error: vi.fn(),
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { z } from 'zod'
|
|||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { isDev } from '@/lib/environment'
|
import { isDev } from '@/lib/environment'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { encryptSecret } from '@/lib/utils'
|
import { encryptSecret } from '@/lib/utils'
|
||||||
import { checkWorkflowAccessForChatCreation } from '@/app/api/chat/utils'
|
import { checkWorkflowAccessForChatCreation } from '@/app/api/chat/utils'
|
||||||
import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/utils'
|
import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/utils'
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ describe('Subdomain Validation API Route', () => {
|
|||||||
}))
|
}))
|
||||||
|
|
||||||
// Mock the logger
|
// Mock the logger
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue({
|
createLogger: vi.fn().mockReturnValue({
|
||||||
info: vi.fn(),
|
info: vi.fn(),
|
||||||
error: vi.fn(),
|
error: vi.fn(),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { NextResponse } from 'next/server'
|
import { NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ vi.mock('@/lib/utils', () => ({
|
|||||||
decryptSecret: vi.fn().mockResolvedValue({ decrypted: 'test-secret' }),
|
decryptSecret: vi.fn().mockResolvedValue({ decrypted: 'test-secret' }),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.mock('@/lib/logs/enhanced-logging-session', () => ({
|
vi.mock('@/lib/logs/execution/logging-session', () => ({
|
||||||
EnhancedLoggingSession: vi.fn().mockImplementation(() => ({
|
LoggingSession: vi.fn().mockImplementation(() => ({
|
||||||
safeStart: vi.fn().mockResolvedValue(undefined),
|
safeStart: vi.fn().mockResolvedValue(undefined),
|
||||||
safeComplete: vi.fn().mockResolvedValue(undefined),
|
safeComplete: vi.fn().mockResolvedValue(undefined),
|
||||||
safeCompleteWithError: vi.fn().mockResolvedValue(undefined),
|
safeCompleteWithError: vi.fn().mockResolvedValue(undefined),
|
||||||
@@ -42,7 +42,7 @@ describe('Chat API Utils', () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
vi.resetModules()
|
vi.resetModules()
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue({
|
createLogger: vi.fn().mockReturnValue({
|
||||||
info: vi.fn(),
|
info: vi.fn(),
|
||||||
error: vi.fn(),
|
error: vi.fn(),
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import { eq, sql } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { isDev } from '@/lib/environment'
|
import { isDev } from '@/lib/environment'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { EnhancedLoggingSession } from '@/lib/logs/enhanced-logging-session'
|
import { LoggingSession } from '@/lib/logs/execution/logging-session'
|
||||||
import { buildTraceSpans } from '@/lib/logs/trace-spans'
|
import { buildTraceSpans } from '@/lib/logs/execution/trace-spans/trace-spans'
|
||||||
import { hasAdminPermission } from '@/lib/permissions/utils'
|
import { hasAdminPermission } from '@/lib/permissions/utils'
|
||||||
import { processStreamingBlockLogs } from '@/lib/tokenization'
|
import { processStreamingBlockLogs } from '@/lib/tokenization'
|
||||||
import { getEmailDomain } from '@/lib/urls/utils'
|
import { getEmailDomain } from '@/lib/urls/utils'
|
||||||
@@ -330,8 +330,8 @@ export async function executeWorkflowForChat(
|
|||||||
const workflowId = deployment.workflowId
|
const workflowId = deployment.workflowId
|
||||||
const executionId = uuidv4()
|
const executionId = uuidv4()
|
||||||
|
|
||||||
// Set up enhanced logging for chat execution
|
// Set up logging for chat execution
|
||||||
const loggingSession = new EnhancedLoggingSession(workflowId, executionId, 'chat', requestId)
|
const loggingSession = new LoggingSession(workflowId, executionId, 'chat', requestId)
|
||||||
|
|
||||||
// Check for multi-output configuration in customizations
|
// Check for multi-output configuration in customizations
|
||||||
const customizations = (deployment.customizations || {}) as Record<string, any>
|
const customizations = (deployment.customizations || {}) as Record<string, any>
|
||||||
@@ -494,7 +494,7 @@ export async function executeWorkflowForChat(
|
|||||||
{} as Record<string, Record<string, any>>
|
{} as Record<string, Record<string, any>>
|
||||||
)
|
)
|
||||||
|
|
||||||
// Start enhanced logging session
|
// Start logging session
|
||||||
await loggingSession.safeStart({
|
await loggingSession.safeStart({
|
||||||
userId: deployment.userId,
|
userId: deployment.userId,
|
||||||
workspaceId: '', // TODO: Get from workflow
|
workspaceId: '', // TODO: Get from workflow
|
||||||
@@ -552,7 +552,7 @@ export async function executeWorkflowForChat(
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
// Set up enhanced logging on the executor
|
// Set up logging on the executor
|
||||||
loggingSession.setupExecutor(executor)
|
loggingSession.setupExecutor(executor)
|
||||||
|
|
||||||
let result
|
let result
|
||||||
@@ -624,7 +624,7 @@ export async function executeWorkflowForChat(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Complete enhanced logging session (for both success and failure)
|
// Complete logging session (for both success and failure)
|
||||||
if (result && 'success' in result) {
|
if (result && 'success' in result) {
|
||||||
const { traceSpans } = buildTraceSpans(result)
|
const { traceSpans } = buildTraceSpans(result)
|
||||||
await loggingSession.safeComplete({
|
await loggingSession.safeComplete({
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ describe('Codegen API Route', () => {
|
|||||||
env: mockEnv,
|
env: mockEnv,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { unstable_noStore as noStore } from 'next/cache'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import OpenAI from 'openai'
|
import OpenAI from 'openai'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
export const runtime = 'edge'
|
export const runtime = 'edge'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, eq } from 'drizzle-orm'
|
import { and, eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { copilotCheckpoints, workflow as workflowTable } from '@/db/schema'
|
import { copilotCheckpoints, workflow as workflowTable } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, desc, eq } from 'drizzle-orm'
|
import { and, desc, eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { copilotCheckpoints } from '@/db/schema'
|
import { copilotCheckpoints } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import {
|
|||||||
sendMessage,
|
sendMessage,
|
||||||
updateChat,
|
updateChat,
|
||||||
} from '@/lib/copilot/service'
|
} from '@/lib/copilot/service'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('CopilotAPI')
|
const logger = createLogger('CopilotAPI')
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { searchDocumentation } from '@/lib/copilot/service'
|
import { searchDocumentation } from '@/lib/copilot/service'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('DocsSearchAPI')
|
const logger = createLogger('DocsSearchAPI')
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { eq } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { existsSync } from 'fs'
|
|||||||
import { unlink } from 'fs/promises'
|
import { unlink } from 'fs/promises'
|
||||||
import { join } from 'path'
|
import { join } from 'path'
|
||||||
import type { NextRequest } from 'next/server'
|
import type { NextRequest } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { deleteFile, isUsingCloudStorage } from '@/lib/uploads'
|
import { deleteFile, isUsingCloudStorage } from '@/lib/uploads'
|
||||||
import { UPLOAD_DIR } from '@/lib/uploads/setup'
|
import { UPLOAD_DIR } from '@/lib/uploads/setup'
|
||||||
import '@/lib/uploads/setup.server'
|
import '@/lib/uploads/setup.server'
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import path from 'path'
|
|||||||
import binaryExtensionsList from 'binary-extensions'
|
import binaryExtensionsList from 'binary-extensions'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { isSupportedFileType, parseFile } from '@/lib/file-parsers'
|
import { isSupportedFileType, parseFile } from '@/lib/file-parsers'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { downloadFile, isUsingCloudStorage } from '@/lib/uploads'
|
import { downloadFile, isUsingCloudStorage } from '@/lib/uploads'
|
||||||
import { UPLOAD_DIR } from '@/lib/uploads/setup'
|
import { UPLOAD_DIR } from '@/lib/uploads/setup'
|
||||||
import '@/lib/uploads/setup.server'
|
import '@/lib/uploads/setup.server'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { PutObjectCommand } from '@aws-sdk/client-s3'
|
|||||||
import { getSignedUrl } from '@aws-sdk/s3-request-presigner'
|
import { getSignedUrl } from '@aws-sdk/s3-request-presigner'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getStorageProvider, isUsingCloudStorage } from '@/lib/uploads'
|
import { getStorageProvider, isUsingCloudStorage } from '@/lib/uploads'
|
||||||
import { getBlobServiceClient } from '@/lib/uploads/blob/blob-client'
|
import { getBlobServiceClient } from '@/lib/uploads/blob/blob-client'
|
||||||
import { getS3Client, sanitizeFilenameForMetadata } from '@/lib/uploads/s3/s3-client'
|
import { getS3Client, sanitizeFilenameForMetadata } from '@/lib/uploads/s3/s3-client'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { readFile } from 'fs/promises'
|
import { readFile } from 'fs/promises'
|
||||||
import type { NextRequest, NextResponse } from 'next/server'
|
import type { NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { downloadFile, getStorageProvider, isUsingCloudStorage } from '@/lib/uploads'
|
import { downloadFile, getStorageProvider, isUsingCloudStorage } from '@/lib/uploads'
|
||||||
import { BLOB_KB_CONFIG, S3_KB_CONFIG } from '@/lib/uploads/setup'
|
import { BLOB_KB_CONFIG, S3_KB_CONFIG } from '@/lib/uploads/setup'
|
||||||
import '@/lib/uploads/setup.server'
|
import '@/lib/uploads/setup.server'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { writeFile } from 'fs/promises'
|
|||||||
import { join } from 'path'
|
import { join } from 'path'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { isUsingCloudStorage, uploadFile } from '@/lib/uploads'
|
import { isUsingCloudStorage, uploadFile } from '@/lib/uploads'
|
||||||
import { UPLOAD_DIR } from '@/lib/uploads/setup'
|
import { UPLOAD_DIR } from '@/lib/uploads/setup'
|
||||||
// Import to ensure the uploads directory is created
|
// Import to ensure the uploads directory is created
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, eq } from 'drizzle-orm'
|
import { and, eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, asc, desc, eq, isNull } from 'drizzle-orm'
|
import { and, asc, desc, eq, isNull } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getUserEntityPermissions } from '@/lib/permissions/utils'
|
import { getUserEntityPermissions } from '@/lib/permissions/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { workflowFolder } from '@/db/schema'
|
import { workflowFolder } from '@/db/schema'
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ describe('Function Execute API Route', () => {
|
|||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
@@ -657,7 +657,7 @@ describe('Function Execute API - Template Variable Edge Cases', () => {
|
|||||||
vi.resetModules()
|
vi.resetModules()
|
||||||
vi.resetAllMocks()
|
vi.resetAllMocks()
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue(mockLogger),
|
createLogger: vi.fn().mockReturnValue(mockLogger),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { createContext, Script } from 'vm'
|
import { createContext, Script } from 'vm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
export const runtime = 'nodejs'
|
export const runtime = 'nodejs'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { type NextRequest, NextResponse } from 'next/server'
|
|||||||
import { Resend } from 'resend'
|
import { Resend } from 'resend'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getEmailDomain } from '@/lib/urls/utils'
|
import { getEmailDomain } from '@/lib/urls/utils'
|
||||||
|
|
||||||
const resend = env.RESEND_API_KEY ? new Resend(env.RESEND_API_KEY) : null
|
const resend = env.RESEND_API_KEY ? new Resend(env.RESEND_API_KEY) : null
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { runs } from '@trigger.dev/sdk/v3'
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { eq, sql } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { and, asc, eq, ilike, inArray, sql } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { eq } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { and, desc, eq, inArray, isNull, sql } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getUserId } from '@/app/api/auth/oauth/utils'
|
import { getUserId } from '@/app/api/auth/oauth/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { document } from '@/db/schema'
|
import { document } from '@/db/schema'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { and, eq, isNull } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { checkKnowledgeBaseAccess, checkKnowledgeBaseWriteAccess } from '@/app/api/knowledge/utils'
|
import { checkKnowledgeBaseAccess, checkKnowledgeBaseWriteAccess } from '@/app/api/knowledge/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { knowledgeBase } from '@/db/schema'
|
import { knowledgeBase } from '@/db/schema'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { and, count, eq, isNotNull, isNull, or } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getUserEntityPermissions } from '@/lib/permissions/utils'
|
import { getUserEntityPermissions } from '@/lib/permissions/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { document, knowledgeBase, permissions } from '@/db/schema'
|
import { document, knowledgeBase, permissions } from '@/db/schema'
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { type NextRequest, NextResponse } from 'next/server'
|
|||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { retryWithExponentialBackoff } from '@/lib/documents/utils'
|
import { retryWithExponentialBackoff } from '@/lib/documents/utils'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { estimateTokenCount } from '@/lib/tokenization/estimators'
|
import { estimateTokenCount } from '@/lib/tokenization/estimators'
|
||||||
import { getUserId } from '@/app/api/auth/oauth/utils'
|
import { getUserId } from '@/app/api/auth/oauth/utils'
|
||||||
import { checkKnowledgeBaseAccess } from '@/app/api/knowledge/utils'
|
import { checkKnowledgeBaseAccess } from '@/app/api/knowledge/utils'
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { and, eq, isNull } from 'drizzle-orm'
|
|||||||
import { processDocument } from '@/lib/documents/document-processor'
|
import { processDocument } from '@/lib/documents/document-processor'
|
||||||
import { retryWithExponentialBackoff } from '@/lib/documents/utils'
|
import { retryWithExponentialBackoff } from '@/lib/documents/utils'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getUserEntityPermissions } from '@/lib/permissions/utils'
|
import { getUserEntityPermissions } from '@/lib/permissions/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { document, embedding, knowledgeBase } from '@/db/schema'
|
import { document, embedding, knowledgeBase } from '@/db/schema'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { workflowExecutionLogs, workflowExecutionSnapshots } from '@/db/schema'
|
import { workflowExecutionLogs, workflowExecutionSnapshots } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import { and, eq, inArray, lt, sql } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { verifyCronAuth } from '@/lib/auth/internal'
|
import { verifyCronAuth } from '@/lib/auth/internal'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { snapshotService } from '@/lib/logs/snapshot-service'
|
import { snapshotService } from '@/lib/logs/execution/snapshot/service'
|
||||||
import { getS3Client } from '@/lib/uploads/s3/s3-client'
|
import { getS3Client } from '@/lib/uploads/s3/s3-client'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { subscription, user, workflow, workflowExecutionLogs } from '@/db/schema'
|
import { subscription, user, workflow, workflowExecutionLogs } from '@/db/schema'
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import { and, desc, eq, gte, inArray, lte, or, type SQL, sql } from 'drizzle-orm
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { permissions, workflow, workflowExecutionLogs } from '@/db/schema'
|
import { permissions, workflow, workflowExecutionLogs } from '@/db/schema'
|
||||||
|
|
||||||
const logger = createLogger('EnhancedLogsAPI')
|
const logger = createLogger('LogsAPI')
|
||||||
|
|
||||||
// Helper function to extract block executions from trace spans
|
// Helper function to extract block executions from trace spans
|
||||||
function extractBlockExecutionsFromTraceSpans(traceSpans: any[]): any[] {
|
function extractBlockExecutionsFromTraceSpans(traceSpans: any[]): any[] {
|
||||||
@@ -65,7 +65,7 @@ export async function GET(request: NextRequest) {
|
|||||||
try {
|
try {
|
||||||
const session = await getSession()
|
const session = await getSession()
|
||||||
if (!session?.user?.id) {
|
if (!session?.user?.id) {
|
||||||
logger.warn(`[${requestId}] Unauthorized enhanced logs access attempt`)
|
logger.warn(`[${requestId}] Unauthorized logs access attempt`)
|
||||||
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
|
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@ export async function GET(request: NextRequest) {
|
|||||||
return NextResponse.json({ data: [], total: 0 }, { status: 200 })
|
return NextResponse.json({ data: [], total: 0 }, { status: 200 })
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build conditions for enhanced logs
|
// Build conditions for logs
|
||||||
let conditions: SQL | undefined = inArray(workflowExecutionLogs.workflowId, userWorkflowIds)
|
let conditions: SQL | undefined = inArray(workflowExecutionLogs.workflowId, userWorkflowIds)
|
||||||
|
|
||||||
// Filter by level
|
// Filter by level
|
||||||
@@ -271,7 +271,7 @@ export async function GET(request: NextRequest) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transform to clean enhanced log format
|
// Transform to clean log format
|
||||||
const enhancedLogs = logs.map((log) => {
|
const enhancedLogs = logs.map((log) => {
|
||||||
const blockExecutions = blockExecutionsByExecution[log.executionId] || []
|
const blockExecutions = blockExecutionsByExecution[log.executionId] || []
|
||||||
|
|
||||||
@@ -396,7 +396,7 @@ export async function GET(request: NextRequest) {
|
|||||||
)
|
)
|
||||||
} catch (validationError) {
|
} catch (validationError) {
|
||||||
if (validationError instanceof z.ZodError) {
|
if (validationError instanceof z.ZodError) {
|
||||||
logger.warn(`[${requestId}] Invalid enhanced logs request parameters`, {
|
logger.warn(`[${requestId}] Invalid logs request parameters`, {
|
||||||
errors: validationError.errors,
|
errors: validationError.errors,
|
||||||
})
|
})
|
||||||
return NextResponse.json(
|
return NextResponse.json(
|
||||||
@@ -410,7 +410,7 @@ export async function GET(request: NextRequest) {
|
|||||||
throw validationError
|
throw validationError
|
||||||
}
|
}
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
logger.error(`[${requestId}] Enhanced logs fetch error`, error)
|
logger.error(`[${requestId}] logs fetch error`, error)
|
||||||
return NextResponse.json({ error: error.message }, { status: 500 })
|
return NextResponse.json({ error: error.message }, { status: 500 })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { and, eq } from 'drizzle-orm'
|
import { and, eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { memory } from '@/db/schema'
|
import { memory } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { and, eq, isNull, like } from 'drizzle-orm'
|
import { and, eq, isNull, like } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { memory } from '@/db/schema'
|
import { memory } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import {
|
|||||||
import { sendEmail } from '@/lib/email/mailer'
|
import { sendEmail } from '@/lib/email/mailer'
|
||||||
import { validateAndNormalizeEmail } from '@/lib/email/utils'
|
import { validateAndNormalizeEmail } from '@/lib/email/utils'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { hasWorkspaceAdminAccess } from '@/lib/permissions/utils'
|
import { hasWorkspaceAdminAccess } from '@/lib/permissions/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { invitation, member, organization, user, workspace, workspaceInvitation } from '@/db/schema'
|
import { invitation, member, organization, user, workspace, workspaceInvitation } from '@/db/schema'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, eq } from 'drizzle-orm'
|
import { and, eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { member, user, userStats } from '@/db/schema'
|
import { member, user, userStats } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { validateSeatAvailability } from '@/lib/billing/validation/seat-manageme
|
|||||||
import { sendEmail } from '@/lib/email/mailer'
|
import { sendEmail } from '@/lib/email/mailer'
|
||||||
import { validateAndNormalizeEmail } from '@/lib/email/utils'
|
import { validateAndNormalizeEmail } from '@/lib/email/utils'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { invitation, member, organization, user, userStats } from '@/db/schema'
|
import { invitation, member, organization, user, userStats } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
getOrganizationSeatInfo,
|
getOrganizationSeatInfo,
|
||||||
updateOrganizationSeats,
|
updateOrganizationSeats,
|
||||||
} from '@/lib/billing/validation/seat-management'
|
} from '@/lib/billing/validation/seat-management'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, eq, or } from 'drizzle-orm'
|
import { and, eq, or } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { member, permissions, user, workspace } from '@/db/schema'
|
import { member, permissions, user, workspace } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { and, eq } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { invitation, member, permissions, workspaceInvitation } from '@/db/schema'
|
import { invitation, member, permissions, workspaceInvitation } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import type { StreamingExecution } from '@/executor/types'
|
import type { StreamingExecution } from '@/executor/types'
|
||||||
import { executeProviderRequest } from '@/providers'
|
import { executeProviderRequest } from '@/providers'
|
||||||
import { getApiKey } from '@/providers/utils'
|
import { getApiKey } from '@/providers/utils'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('ImageProxyAPI')
|
const logger = createLogger('ImageProxyAPI')
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { NextResponse } from 'next/server'
|
import { NextResponse } from 'next/server'
|
||||||
import { isDev } from '@/lib/environment'
|
import { isDev } from '@/lib/environment'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { executeTool } from '@/tools'
|
import { executeTool } from '@/tools'
|
||||||
import { getTool, validateToolRequest } from '@/tools/utils'
|
import { getTool, validateToolRequest } from '@/tools/utils'
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { NextResponse } from 'next/server'
|
import { NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { uploadFile } from '@/lib/uploads/storage-client'
|
import { uploadFile } from '@/lib/uploads/storage-client'
|
||||||
import { getBaseUrl } from '@/lib/urls/utils'
|
import { getBaseUrl } from '@/lib/urls/utils'
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { NextRequest } from 'next/server'
|
import type { NextRequest } from 'next/server'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('ProxyTTSStreamAPI')
|
const logger = createLogger('ProxyTTSStreamAPI')
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import crypto from 'crypto'
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { workflow, workflowSchedule } from '@/db/schema'
|
import { workflow, workflowSchedule } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ const mockSchedule = {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
vi.resetModules()
|
vi.resetModules()
|
||||||
|
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: () => ({ info: vi.fn(), warn: vi.fn(), error: vi.fn(), debug: vi.fn() }),
|
createLogger: () => ({ info: vi.fn(), warn: vi.fn(), error: vi.fn(), debug: vi.fn() }),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
export const dynamic = 'force-dynamic'
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import { NextResponse } from 'next/server'
|
|||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { checkServerSideUsageLimits } from '@/lib/billing'
|
import { checkServerSideUsageLimits } from '@/lib/billing'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { EnhancedLoggingSession } from '@/lib/logs/enhanced-logging-session'
|
import { LoggingSession } from '@/lib/logs/execution/logging-session'
|
||||||
import { buildTraceSpans } from '@/lib/logs/trace-spans'
|
import { buildTraceSpans } from '@/lib/logs/execution/trace-spans/trace-spans'
|
||||||
import {
|
import {
|
||||||
type BlockState,
|
type BlockState,
|
||||||
calculateNextRunTime as calculateNextTime,
|
calculateNextRunTime as calculateNextTime,
|
||||||
@@ -173,7 +173,7 @@ export async function GET() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// Error logging handled by enhanced logging session
|
// Error logging handled by logging session
|
||||||
|
|
||||||
const retryDelay = 24 * 60 * 60 * 1000 // 24 hour delay for exceeded limits
|
const retryDelay = 24 * 60 * 60 * 1000 // 24 hour delay for exceeded limits
|
||||||
const nextRetryAt = new Date(now.getTime() + retryDelay)
|
const nextRetryAt = new Date(now.getTime() + retryDelay)
|
||||||
@@ -202,7 +202,7 @@ export async function GET() {
|
|||||||
try {
|
try {
|
||||||
const executionSuccess = await (async () => {
|
const executionSuccess = await (async () => {
|
||||||
// Create logging session inside the execution callback
|
// Create logging session inside the execution callback
|
||||||
const loggingSession = new EnhancedLoggingSession(
|
const loggingSession = new LoggingSession(
|
||||||
schedule.workflowId,
|
schedule.workflowId,
|
||||||
executionId,
|
executionId,
|
||||||
'schedule',
|
'schedule',
|
||||||
@@ -386,7 +386,7 @@ export async function GET() {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start enhanced logging with environment variables
|
// Start logging with environment variables
|
||||||
await loggingSession.safeStart({
|
await loggingSession.safeStart({
|
||||||
userId: workflowRecord.userId,
|
userId: workflowRecord.userId,
|
||||||
workspaceId: workflowRecord.workspaceId || '',
|
workspaceId: workflowRecord.workspaceId || '',
|
||||||
@@ -401,7 +401,7 @@ export async function GET() {
|
|||||||
workflowVariables
|
workflowVariables
|
||||||
)
|
)
|
||||||
|
|
||||||
// Set up enhanced logging on the executor
|
// Set up logging on the executor
|
||||||
loggingSession.setupExecutor(executor)
|
loggingSession.setupExecutor(executor)
|
||||||
|
|
||||||
const result = await executor.execute(
|
const result = await executor.execute(
|
||||||
@@ -437,7 +437,7 @@ export async function GET() {
|
|||||||
|
|
||||||
const { traceSpans, totalDuration } = buildTraceSpans(executionResult)
|
const { traceSpans, totalDuration } = buildTraceSpans(executionResult)
|
||||||
|
|
||||||
// Complete enhanced logging
|
// Complete logging
|
||||||
await loggingSession.safeComplete({
|
await loggingSession.safeComplete({
|
||||||
endedAt: new Date().toISOString(),
|
endedAt: new Date().toISOString(),
|
||||||
totalDurationMs: totalDuration || 0,
|
totalDurationMs: totalDuration || 0,
|
||||||
@@ -534,7 +534,7 @@ export async function GET() {
|
|||||||
error
|
error
|
||||||
)
|
)
|
||||||
|
|
||||||
// Error logging handled by enhanced logging session inside sync executor
|
// Error logging handled by logging session inside sync executor
|
||||||
|
|
||||||
let nextRunAt: Date
|
let nextRunAt: Date
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { and, eq } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import {
|
import {
|
||||||
type BlockState,
|
type BlockState,
|
||||||
calculateNextRunTime,
|
calculateNextRunTime,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { env } from '@/lib/env'
|
import { env } from '@/lib/env'
|
||||||
import { isProd } from '@/lib/environment'
|
import { isProd } from '@/lib/environment'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
const logger = createLogger('TelemetryAPI')
|
const logger = createLogger('TelemetryAPI')
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq, sql } from 'drizzle-orm'
|
import { eq, sql } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { templates } from '@/db/schema'
|
import { templates } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { and, eq, sql } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { templateStars, templates } from '@/db/schema'
|
import { templateStars, templates } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { eq, sql } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { templates, workflow, workflowBlocks, workflowEdges } from '@/db/schema'
|
import { templates, workflow, workflowBlocks, workflowEdges } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { type NextRequest, NextResponse } from 'next/server'
|
|||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { templateStars, templates, workflow } from '@/db/schema'
|
import { templateStars, templates, workflow } from '@/db/schema'
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { NextResponse } from 'next/server'
|
import { NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getConfluenceCloudId } from '@/tools/confluence/utils'
|
import { getConfluenceCloudId } from '@/tools/confluence/utils'
|
||||||
|
|
||||||
const logger = createLogger('ConfluencePages')
|
const logger = createLogger('ConfluencePages')
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ describe('Custom Tools API Routes', () => {
|
|||||||
}))
|
}))
|
||||||
|
|
||||||
// Mock logger
|
// Mock logger
|
||||||
vi.doMock('@/lib/logs/console-logger', () => ({
|
vi.doMock('@/lib/logs/console/logger', () => ({
|
||||||
createLogger: vi.fn().mockReturnValue({
|
createLogger: vi.fn().mockReturnValue({
|
||||||
info: vi.fn(),
|
info: vi.fn(),
|
||||||
error: vi.fn(),
|
error: vi.fn(),
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { eq } from 'drizzle-orm'
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { z } from 'zod'
|
import { z } from 'zod'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { getUserId } from '@/app/api/auth/oauth/utils'
|
import { getUserId } from '@/app/api/auth/oauth/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { customTools } from '@/db/schema'
|
import { customTools } from '@/db/schema'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { NextResponse } from 'next/server'
|
import { NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
interface DiscordChannel {
|
interface DiscordChannel {
|
||||||
id: string
|
id: string
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { NextResponse } from 'next/server'
|
import { NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
|
||||||
interface DiscordServer {
|
interface DiscordServer {
|
||||||
id: string
|
id: string
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { refreshAccessTokenIfNeeded } from '@/app/api/auth/oauth/utils'
|
import { refreshAccessTokenIfNeeded } from '@/app/api/auth/oauth/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { refreshAccessTokenIfNeeded } from '@/app/api/auth/oauth/utils'
|
import { refreshAccessTokenIfNeeded } from '@/app/api/auth/oauth/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { autoLayoutWorkflow } from '@/lib/autolayout/service'
|
import { autoLayoutWorkflow } from '@/lib/autolayout/service'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import {
|
import {
|
||||||
loadWorkflowFromNormalizedTables,
|
loadWorkflowFromNormalizedTables,
|
||||||
saveWorkflowToNormalizedTables,
|
saveWorkflowToNormalizedTables,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { registry as blockRegistry } from '@/blocks/registry'
|
import { registry as blockRegistry } from '@/blocks/registry'
|
||||||
|
|
||||||
const logger = createLogger('GetAllBlocksAPI')
|
const logger = createLogger('GetAllBlocksAPI')
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { existsSync, readFileSync } from 'fs'
|
import { existsSync, readFileSync } from 'fs'
|
||||||
import { join } from 'path'
|
import { join } from 'path'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { registry as blockRegistry } from '@/blocks/registry'
|
import { registry as blockRegistry } from '@/blocks/registry'
|
||||||
import { tools as toolsRegistry } from '@/tools/registry'
|
import { tools as toolsRegistry } from '@/tools/registry'
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { eq } from 'drizzle-orm'
|
import { eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { loadWorkflowFromNormalizedTables } from '@/lib/workflows/db-helpers'
|
import { loadWorkflowFromNormalizedTables } from '@/lib/workflows/db-helpers'
|
||||||
import { generateWorkflowYaml } from '@/lib/workflows/yaml-generator'
|
import { generateWorkflowYaml } from '@/lib/workflows/yaml-generator'
|
||||||
import { getBlock } from '@/blocks'
|
import { getBlock } from '@/blocks'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { and, eq } from 'drizzle-orm'
|
import { and, eq } from 'drizzle-orm'
|
||||||
import { type NextRequest, NextResponse } from 'next/server'
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
import { getSession } from '@/lib/auth'
|
import { getSession } from '@/lib/auth'
|
||||||
import { createLogger } from '@/lib/logs/console-logger'
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
import { refreshAccessTokenIfNeeded } from '@/app/api/auth/oauth/utils'
|
import { refreshAccessTokenIfNeeded } from '@/app/api/auth/oauth/utils'
|
||||||
import { db } from '@/db'
|
import { db } from '@/db'
|
||||||
import { account } from '@/db/schema'
|
import { account } from '@/db/schema'
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user