improvement(imports): changed relative to absolute imports (#681)

* improvement(imports): replace relative imports with aliases

* replace console.log with logger
This commit is contained in:
Waleed Latif
2025-07-14 15:55:04 -07:00
committed by GitHub
parent 29d0732002
commit d13a06e2c5
47 changed files with 111 additions and 105 deletions

View File

@@ -500,7 +500,7 @@ const WorkflowContent = React.memo(() => {
let autoConnectEdge
if (isAutoConnectEnabled && type !== 'starter') {
const closestBlock = findClosestOutput(centerPosition)
console.log('🎯 Closest block found:', closestBlock)
logger.info('🎯 Closest block found:', closestBlock)
if (closestBlock) {
// Get appropriate source handle
const sourceHandle = determineSourceHandle(closestBlock)
@@ -513,7 +513,7 @@ const WorkflowContent = React.memo(() => {
targetHandle: 'target',
type: 'workflowEdge',
}
console.log('✅ Auto-connect edge created:', autoConnectEdge)
logger.info('✅ Auto-connect edge created:', autoConnectEdge)
}
}

View File

@@ -1,8 +1,8 @@
import { stripeClient } from '@better-auth/stripe/client'
import { emailOTPClient, genericOAuthClient, organizationClient } from 'better-auth/client/plugins'
import { createAuthClient } from 'better-auth/react'
import { env } from './env'
import { isDev, isProd } from './environment'
import { env } from '@/lib/env'
import { isDev, isProd } from '@/lib/environment'
export function getBaseURL() {
let baseURL

View File

@@ -19,13 +19,13 @@ import {
renderOTPEmail,
renderPasswordResetEmail,
} from '@/components/emails/render-email'
import { getBaseURL } from '@/lib/auth-client'
import { env, isTruthy } from '@/lib/env'
import { isProd } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console-logger'
import { getEmailDomain } from '@/lib/urls/utils'
import { db } from '@/db'
import * as schema from '@/db/schema'
import { getBaseURL } from './auth-client'
const logger = createLogger('Auth')

View File

@@ -1,9 +1,9 @@
import { eq } from 'drizzle-orm'
import { getUserUsageLimit } from '@/lib/billing/core/usage'
import { isProd } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { userStats } from '@/db/schema'
import { getUserUsageLimit } from '../core/usage'
const logger = createLogger('UsageMonitor')

View File

@@ -1,11 +1,14 @@
import { and, eq } from 'drizzle-orm'
import {
resetOrganizationBillingPeriod,
resetUserBillingPeriod,
} from '@/lib/billing/core/billing-periods'
import { getHighestPrioritySubscription } from '@/lib/billing/core/subscription'
import { getUserUsageData } from '@/lib/billing/core/usage'
import { requireStripeClient } from '@/lib/billing/stripe-client'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { member, organization, subscription, user, userStats } from '@/db/schema'
import { requireStripeClient } from '../stripe-client'
import { resetOrganizationBillingPeriod, resetUserBillingPeriod } from './billing-periods'
import { getHighestPrioritySubscription } from './subscription'
import { getUserUsageData } from './usage'
const logger = createLogger('Billing')

View File

@@ -1,9 +1,9 @@
import { and, eq } from 'drizzle-orm'
import { getPlanPricing } from '@/lib/billing/core/billing'
import { getHighestPrioritySubscription } from '@/lib/billing/core/subscription'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { member, organization, user, userStats } from '@/db/schema'
import { getPlanPricing } from './billing'
import { getHighestPrioritySubscription } from './subscription'
const logger = createLogger('OrganizationBilling')

View File

@@ -1,16 +1,16 @@
import { and, eq, inArray } from 'drizzle-orm'
import { isProd } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { member, subscription, userStats } from '@/db/schema'
import { client } from '../../auth-client'
import { client } from '@/lib/auth-client'
import {
calculateDefaultUsageLimit,
checkEnterprisePlan,
checkProPlan,
checkTeamPlan,
} from '../subscriptions/utils'
import type { UserSubscriptionState } from '../types'
} from '@/lib/billing/subscriptions/utils'
import type { UserSubscriptionState } from '@/lib/billing/types'
import { isProd } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { member, subscription, userStats } from '@/db/schema'
const logger = createLogger('SubscriptionCore')

View File

@@ -1,10 +1,10 @@
import { and, eq } from 'drizzle-orm'
import { getHighestPrioritySubscription } from '@/lib/billing/core/subscription'
import { calculateDefaultUsageLimit, canEditUsageLimit } from '@/lib/billing/subscriptions/utils'
import type { BillingData, UsageData, UsageLimitInfo } from '@/lib/billing/types'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { member, user, userStats } from '@/db/schema'
import { calculateDefaultUsageLimit, canEditUsageLimit } from '../subscriptions/utils'
import type { BillingData, UsageData, UsageLimitInfo } from '../types'
import { getHighestPrioritySubscription } from './subscription'
const logger = createLogger('UsageManagement')

View File

@@ -1,8 +1,8 @@
import { and, count, eq } from 'drizzle-orm'
import { getHighestPrioritySubscription } from '@/lib/billing/core/subscription'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { invitation, member, organization, subscription, user, userStats } from '@/db/schema'
import { getHighestPrioritySubscription } from '../core/subscription'
const logger = createLogger('SeatManagement')

View File

@@ -1,4 +1,4 @@
import type { SerializedWorkflow } from '../serializer/types'
import type { SerializedWorkflow } from '@/serializer/types'
/**
* Shared utility for calculating block paths and accessible connections.

View File

@@ -1,10 +1,10 @@
import fs from 'fs/promises'
import path from 'path'
import { TextChunker } from '@/lib/documents/chunker'
import type { DocChunk, DocsChunkerOptions, HeaderInfo } from '@/lib/documents/types'
import { isDev } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console-logger'
import { generateEmbeddings } from '@/app/api/knowledge/utils'
import { TextChunker } from './chunker'
import type { DocChunk, DocsChunkerOptions, HeaderInfo } from './types'
interface Frontmatter {
title?: string

View File

@@ -1,11 +1,11 @@
import { type Chunk, TextChunker } from '@/lib/documents/chunker'
import { retryWithExponentialBackoff } from '@/lib/documents/utils'
import { env } from '@/lib/env'
import { parseBuffer, parseFile } from '@/lib/file-parsers'
import { createLogger } from '@/lib/logs/console-logger'
import { getPresignedUrlWithConfig, getStorageProvider, uploadFile } from '@/lib/uploads'
import { BLOB_KB_CONFIG, S3_KB_CONFIG } from '@/lib/uploads/setup'
import { mistralParserTool } from '@/tools/mistral/parser'
import { retryWithExponentialBackoff } from './utils'
const logger = createLogger('DocumentProcessor')

View File

@@ -1,8 +1,8 @@
import { Resend } from 'resend'
import { generateUnsubscribeToken, isUnsubscribed } from '@/lib/email/unsubscribe'
import { env } from '@/lib/env'
import { createLogger } from '@/lib/logs/console-logger'
import { env } from '../env'
import { getEmailDomain } from '../urls/utils'
import { generateUnsubscribeToken, isUnsubscribed } from './unsubscribe'
import { getEmailDomain } from '@/lib/urls/utils'
const logger = createLogger('Mailer')

View File

@@ -1,10 +1,10 @@
import { describe, expect, it, vi } from 'vitest'
import type { EmailType } from './mailer'
import {
generateUnsubscribeToken,
isTransactionalEmail,
verifyUnsubscribeToken,
} from './unsubscribe'
} from '@/lib/email/unsubscribe'
import type { EmailType } from './mailer'
vi.mock('../env', () => ({
env: {

View File

@@ -1,10 +1,10 @@
import { createHash, randomBytes } from 'crypto'
import { eq } from 'drizzle-orm'
import type { EmailType } from '@/lib/email/mailer'
import { env } from '@/lib/env'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { settings, user } from '@/db/schema'
import { env } from '../env'
import type { EmailType } from './mailer'
const logger = createLogger('Unsubscribe')

View File

@@ -1,4 +1,4 @@
import { validateAndNormalizeEmail } from './utils'
import { validateAndNormalizeEmail } from '@/lib/email/utils'
describe('validateAndNormalizeEmail', () => {
describe('valid emails', () => {

View File

@@ -1,8 +1,8 @@
import { createReadStream, existsSync } from 'fs'
import { Readable } from 'stream'
import csvParser from 'csv-parser'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import type { FileParseResult, FileParser } from './types'
const logger = createLogger('CsvParser')

View File

@@ -1,7 +1,7 @@
import { readFile } from 'fs/promises'
import mammoth from 'mammoth'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import type { FileParseResult, FileParser } from './types'
const logger = createLogger('DocxParser')

View File

@@ -5,7 +5,7 @@ import path from 'path'
* @vitest-environment node
*/
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import type { FileParseResult, FileParser } from './types'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
// Mock file system modules
const mockExistsSync = vi.fn().mockReturnValue(true)

View File

@@ -1,9 +1,9 @@
import { existsSync } from 'fs'
import { readFile } from 'fs/promises'
import path from 'path'
import { RawPdfParser } from '@/lib/file-parsers/raw-pdf-parser'
import type { FileParseResult, FileParser, SupportedFileType } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import { RawPdfParser } from './raw-pdf-parser'
import type { FileParseResult, FileParser, SupportedFileType } from './types'
const logger = createLogger('FileParser')

View File

@@ -1,6 +1,6 @@
import { readFile } from 'fs/promises'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import type { FileParseResult, FileParser } from './types'
const logger = createLogger('MdParser')

View File

@@ -1,8 +1,8 @@
import { readFile } from 'fs/promises'
// @ts-ignore
import * as pdfParseLib from 'pdf-parse/lib/pdf-parse.js'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import type { FileParseResult, FileParser } from './types'
const logger = createLogger('PdfParser')

View File

@@ -1,8 +1,8 @@
import { readFile } from 'fs/promises'
import { promisify } from 'util'
import zlib from 'zlib'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import type { FileParseResult, FileParser } from './types'
const logger = createLogger('RawPdfParser')

View File

@@ -1,6 +1,6 @@
import { readFile } from 'fs/promises'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import type { FileParseResult, FileParser } from './types'
const logger = createLogger('TxtParser')

View File

@@ -1,7 +1,7 @@
import { existsSync } from 'fs'
import * as XLSX from 'xlsx'
import type { FileParseResult, FileParser } from '@/lib/file-parsers/types'
import { createLogger } from '@/lib/logs/console-logger'
import type { FileParseResult, FileParser } from './types'
const logger = createLogger('XlsxParser')

View File

@@ -5,7 +5,7 @@
* It is separate from the user-facing logging system in logging.ts.
*/
import chalk from 'chalk'
import { env } from '../env'
import { env } from '@/lib/env'
/**
* LogLevel enum defines the severity levels for logging

View File

@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, test } from 'vitest'
import { EnhancedExecutionLogger } from './enhanced-execution-logger'
import { EnhancedExecutionLogger } from '@/lib/logs/enhanced-execution-logger'
describe('EnhancedExecutionLogger', () => {
let logger: EnhancedExecutionLogger

View File

@@ -1,10 +1,10 @@
import { eq, sql } from 'drizzle-orm'
import { v4 as uuidv4 } from 'uuid'
import { getCostMultiplier } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console-logger'
import { snapshotService } from '@/lib/logs/snapshot-service'
import { db } from '@/db'
import { userStats, workflow, workflowExecutionBlocks, workflowExecutionLogs } from '@/db/schema'
import { createLogger } from './console-logger'
import { snapshotService } from './snapshot-service'
import type {
BlockExecutionLog,
BlockInputData,

View File

@@ -1,5 +1,5 @@
import type { ExecutionEnvironment, ExecutionTrigger, WorkflowState } from '@/lib/logs/types'
import { loadWorkflowFromNormalizedTables } from '@/lib/workflows/db-helpers'
import type { ExecutionEnvironment, ExecutionTrigger, WorkflowState } from './types'
export function createTriggerObject(
type: ExecutionTrigger['type'],

View File

@@ -1,12 +1,12 @@
import { createLogger } from '@/lib/logs/console-logger'
import { enhancedExecutionLogger } from './enhanced-execution-logger'
import { enhancedExecutionLogger } from '@/lib/logs/enhanced-execution-logger'
import {
calculateCostSummary,
createEnvironmentObject,
createTriggerObject,
loadWorkflowStateForExecution,
} from './enhanced-logging-factory'
import type { ExecutionEnvironment, ExecutionTrigger, WorkflowState } from './types'
} from '@/lib/logs/enhanced-logging-factory'
import type { ExecutionEnvironment, ExecutionTrigger, WorkflowState } from '@/lib/logs/types'
const logger = createLogger('EnhancedLoggingSession')

View File

@@ -3,11 +3,11 @@ import { v4 as uuidv4 } from 'uuid'
import { getCostMultiplier } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console-logger'
import { redactApiKeys } from '@/lib/utils'
import { stripCustomToolPrefix } from '@/lib/workflows/utils'
import { db } from '@/db'
import { userStats, workflow, workflowLogs } from '@/db/schema'
import type { ExecutionResult as ExecutorResult } from '@/executor/types'
import { calculateCost } from '@/providers/utils'
import { stripCustomToolPrefix } from '../workflows/utils'
const logger = createLogger('ExecutionLogger')

View File

@@ -1,6 +1,6 @@
import { beforeEach, describe, expect, test } from 'vitest'
import { SnapshotService } from './snapshot-service'
import type { WorkflowState } from './types'
import { SnapshotService } from '@/lib/logs/snapshot-service'
import type { WorkflowState } from '@/lib/logs/types'
describe('SnapshotService', () => {
let service: SnapshotService

View File

@@ -1,16 +1,16 @@
import { createHash } from 'crypto'
import { and, eq, lt } from 'drizzle-orm'
import { v4 as uuidv4 } from 'uuid'
import { db } from '@/db'
import { workflowExecutionSnapshots } from '@/db/schema'
import { createLogger } from './console-logger'
import { createLogger } from '@/lib/logs/console-logger'
import type {
SnapshotService as ISnapshotService,
SnapshotCreationResult,
WorkflowExecutionSnapshot,
WorkflowExecutionSnapshotInsert,
WorkflowState,
} from './types'
} from '@/lib/logs/types'
import { db } from '@/db'
import { workflowExecutionSnapshots } from '@/db/schema'
const logger = createLogger('SnapshotService')

View File

@@ -1,6 +1,6 @@
import { describe, expect, test } from 'vitest'
import { buildTraceSpans, stripCustomToolPrefix } from '@/lib/logs/trace-spans'
import type { ExecutionResult } from '@/executor/types'
import { buildTraceSpans, stripCustomToolPrefix } from './trace-spans'
describe('buildTraceSpans', () => {
test('should extract sequential segments from timeSegments data', () => {

View File

@@ -1,5 +1,5 @@
import { createLogger } from '@/lib/logs/console-logger'
import type { TraceSpan } from '@/app/workspace/[workspaceId]/logs/stores/types'
import type { TraceSpan } from '@/lib/logs/types'
import type { ExecutionResult } from '@/executor/types'
const logger = createLogger('TraceSpans')

View File

@@ -1 +1 @@
export * from './oauth'
export * from '@/lib/oauth/oauth'

View File

@@ -1,5 +1,9 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { getUserEntityPermissions, getUsersWithPermissions, hasAdminPermission } from './utils'
import {
getUserEntityPermissions,
getUsersWithPermissions,
hasAdminPermission,
} from '@/lib/permissions/utils'
vi.mock('@/db', () => ({
db: {

View File

@@ -11,7 +11,7 @@ import {
getSubBlockValue,
parseCronToHumanReadable,
parseTimeString,
} from './utils'
} from '@/lib/schedules/utils'
describe('Schedule Utilities', () => {
describe('parseTimeString', () => {

View File

@@ -3,15 +3,24 @@
*/
import { createLogger } from '@/lib/logs/console-logger'
import { calculateCost } from '@/providers/utils'
import { createTokenizationError } from './errors'
import { estimateInputTokens, estimateOutputTokens, estimateTokenCount } from './estimators'
import type { CostBreakdown, StreamingCostResult, TokenizationInput, TokenUsage } from './types'
import { createTokenizationError } from '@/lib/tokenization/errors'
import {
estimateInputTokens,
estimateOutputTokens,
estimateTokenCount,
} from '@/lib/tokenization/estimators'
import type {
CostBreakdown,
StreamingCostResult,
TokenizationInput,
TokenUsage,
} from '@/lib/tokenization/types'
import {
getProviderForTokenization,
logTokenizationDetails,
validateTokenizationInput,
} from './utils'
} from '@/lib/tokenization/utils'
import { calculateCost } from '@/providers/utils'
const logger = createLogger('TokenizationCalculators')

View File

@@ -2,7 +2,7 @@
* Configuration constants for tokenization functionality
*/
import type { ProviderTokenizationConfig } from './types'
import type { ProviderTokenizationConfig } from '@/lib/tokenization/types'
export const TOKENIZATION_CONFIG = {
providers: {

View File

@@ -3,9 +3,9 @@
*/
import { createLogger } from '@/lib/logs/console-logger'
import { MIN_TEXT_LENGTH_FOR_ESTIMATION, TOKENIZATION_CONFIG } from './constants'
import type { TokenEstimate } from './types'
import { createTextPreview, getProviderConfig } from './utils'
import { MIN_TEXT_LENGTH_FOR_ESTIMATION, TOKENIZATION_CONFIG } from '@/lib/tokenization/constants'
import type { TokenEstimate } from '@/lib/tokenization/types'
import { createTextPreview, getProviderConfig } from '@/lib/tokenization/utils'
const logger = createLogger('TokenizationEstimators')

View File

@@ -1,25 +1,16 @@
/**
* Main tokenization module exports
*
* This module provides token estimation and cost calculation functionality
* for streaming LLM executions where actual token counts are not available.
*/
// Core calculation functions
export {
calculateStreamingCost,
calculateTokenizationCost,
createCostResultFromProviderData,
} from './calculators'
// Constants
export { LLM_BLOCK_TYPES, TOKENIZATION_CONFIG } from './constants'
// Error handling
export { createTokenizationError, TokenizationError } from './errors'
// Token estimation functions
export { estimateInputTokens, estimateOutputTokens, estimateTokenCount } from './estimators'
// Streaming-specific helpers
export { processStreamingBlockLog, processStreamingBlockLogs } from './streaming'
// Types
} from '@/lib/tokenization/calculators'
export { LLM_BLOCK_TYPES, TOKENIZATION_CONFIG } from '@/lib/tokenization/constants'
export { createTokenizationError, TokenizationError } from '@/lib/tokenization/errors'
export {
estimateInputTokens,
estimateOutputTokens,
estimateTokenCount,
} from '@/lib/tokenization/estimators'
export { processStreamingBlockLog, processStreamingBlockLogs } from '@/lib/tokenization/streaming'
export type {
CostBreakdown,
ProviderTokenizationConfig,
@@ -27,8 +18,7 @@ export type {
TokenEstimate,
TokenizationInput,
TokenUsage,
} from './types'
// Utility functions
} from '@/lib/tokenization/types'
export {
createTextPreview,
extractTextContent,
@@ -40,4 +30,4 @@ export {
isTokenizableBlockType,
logTokenizationDetails,
validateTokenizationInput,
} from './utils'
} from '@/lib/tokenization/utils'

View File

@@ -3,16 +3,16 @@
*/
import { createLogger } from '@/lib/logs/console-logger'
import type { BlockLog } from '@/executor/types'
import { calculateStreamingCost } from './calculators'
import { TOKENIZATION_CONFIG } from './constants'
import { calculateStreamingCost } from '@/lib/tokenization/calculators'
import { TOKENIZATION_CONFIG } from '@/lib/tokenization/constants'
import {
extractTextContent,
hasRealCostData,
hasRealTokenData,
isTokenizableBlockType,
logTokenizationDetails,
} from './utils'
} from '@/lib/tokenization/utils'
import type { BlockLog } from '@/executor/types'
const logger = createLogger('StreamingTokenization')

View File

@@ -4,7 +4,7 @@ import {
generateBlobSASQueryParameters,
StorageSharedKeyCredential,
} from '@azure/storage-blob'
import { BLOB_CONFIG } from '../setup'
import { BLOB_CONFIG } from '@/lib/uploads/setup'
// Lazily create a single Blob service client instance.
let _blobServiceClient: BlobServiceClient | null = null

View File

@@ -5,7 +5,7 @@ import {
getStorageProvider,
USE_BLOB_STORAGE,
USE_S3_STORAGE,
} from './setup'
} from '@/lib/uploads/setup'
const logger = createLogger('UploadsSetup')

View File

@@ -7,7 +7,7 @@ import {
getPresignedUrl as getBlobPresignedUrl,
getPresignedUrlWithConfig as getBlobPresignedUrlWithConfig,
uploadToBlob,
} from './blob/blob-client'
} from '@/lib/uploads/blob/blob-client'
import {
type CustomS3Config,
deleteFromS3,
@@ -16,8 +16,8 @@ import {
getPresignedUrlWithConfig as getS3PresignedUrlWithConfig,
type FileInfo as S3FileInfo,
uploadToS3,
} from './s3/s3-client'
import { USE_BLOB_STORAGE, USE_S3_STORAGE } from './setup'
} from '@/lib/uploads/s3/s3-client'
import { USE_BLOB_STORAGE, USE_S3_STORAGE } from '@/lib/uploads/setup'
const logger = createLogger('StorageClient')

View File

@@ -1,5 +1,5 @@
import { describe, expect, it } from 'vitest'
import { VariableManager } from './variable-manager'
import { VariableManager } from '@/lib/variables/variable-manager'
describe('VariableManager', () => {
describe('parseInputForStorage', () => {