Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions apps/sim/app/api/tools/confluence/pages/route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import { NextResponse } from 'next/server'
import { createLogger } from '@/lib/logs/console-logger'
import { getConfluenceCloudId } from '@/tools/confluence/utils'

const logger = createLogger('ConfluencePages')

export const dynamic = 'force-dynamic'

export async function POST(request: Request) {
Expand Down Expand Up @@ -39,7 +42,7 @@ export async function POST(request: Request) {
const queryString = queryParams.toString()
const url = queryString ? `${baseUrl}?${queryString}` : baseUrl

console.log(`Fetching Confluence pages from: ${url}`)
logger.info(`Fetching Confluence pages from: ${url}`)

// Make the request to Confluence API with OAuth Bearer token
const response = await fetch(url, {
Expand All @@ -50,23 +53,23 @@ export async function POST(request: Request) {
},
})

console.log('Response status:', response.status, response.statusText)
logger.info('Response status:', response.status, response.statusText)

if (!response.ok) {
console.error(`Confluence API error: ${response.status} ${response.statusText}`)
logger.error(`Confluence API error: ${response.status} ${response.statusText}`)
let errorMessage

try {
const errorData = await response.json()
console.error('Error details:', JSON.stringify(errorData, null, 2))
logger.error('Error details:', JSON.stringify(errorData, null, 2))
errorMessage = errorData.message || `Failed to fetch Confluence pages (${response.status})`
} catch (e) {
console.error('Could not parse error response as JSON:', e)
logger.error('Could not parse error response as JSON:', e)

// Try to get the response text for more context
try {
const text = await response.text()
console.error('Response text:', text)
logger.error('Response text:', text)
errorMessage = `Failed to fetch Confluence pages: ${response.status} ${response.statusText}`
} catch (_textError) {
errorMessage = `Failed to fetch Confluence pages: ${response.status} ${response.statusText}`
Expand All @@ -77,13 +80,13 @@ export async function POST(request: Request) {
}

const data = await response.json()
console.log('Confluence API response:', `${JSON.stringify(data, null, 2).substring(0, 300)}...`)
console.log(`Found ${data.results?.length || 0} pages`)
logger.info('Confluence API response:', `${JSON.stringify(data, null, 2).substring(0, 300)}...`)
logger.info(`Found ${data.results?.length || 0} pages`)

if (data.results && data.results.length > 0) {
console.log('First few pages:')
logger.info('First few pages:')
for (const page of data.results.slice(0, 3)) {
console.log(`- ${page.id}: ${page.title}`)
logger.info(`- ${page.id}: ${page.title}`)
}
}

Expand All @@ -99,7 +102,7 @@ export async function POST(request: Request) {
})),
})
} catch (error) {
console.error('Error fetching Confluence pages:', error)
logger.error('Error fetching Confluence pages:', error)
return NextResponse.json(
{ error: (error as Error).message || 'Internal server error' },
{ status: 500 }
Expand Down
13 changes: 8 additions & 5 deletions apps/sim/app/api/workspaces/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@ import crypto from 'crypto'
import { and, desc, eq, isNull } from 'drizzle-orm'
import { NextResponse } from 'next/server'
import { getSession } from '@/lib/auth'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { permissions, workflow, workflowBlocks, workspace } from '@/db/schema'

const logger = createLogger('Workspaces')

// Get all workspaces for the current user
export async function GET() {
const session = await getSession()
Expand Down Expand Up @@ -244,12 +247,12 @@ async function createWorkspace(userId: string, name: string) {
updatedAt: now,
})

console.log(
`Created workspace ${workspaceId} with initial workflow ${workflowId} for user ${userId}`
logger.info(
`Created workspace ${workspaceId} with initial workflow ${workflowId} for user ${userId}`
)
})
} catch (error) {
console.error(`Failed to create workspace ${workspaceId} with initial workflow:`, error)
logger.error(`Failed to create workspace ${workspaceId} with initial workflow:`, error)
throw error
}

Expand All @@ -276,7 +279,7 @@ async function migrateExistingWorkflows(userId: string, workspaceId: string) {
return // No orphaned workflows to migrate
}

console.log(
logger.info(
`Migrating ${orphanedWorkflows.length} workflows to workspace ${workspaceId} for user ${userId}`
)

Expand Down Expand Up @@ -308,6 +311,6 @@ async function ensureWorkflowsHaveWorkspace(userId: string, defaultWorkspaceId:
})
.where(and(eq(workflow.userId, userId), isNull(workflow.workspaceId)))

console.log(`Fixed ${orphanedWorkflows.length} orphaned workflows for user ${userId}`)
logger.info(`Fixed ${orphanedWorkflows.length} orphaned workflows for user ${userId}`)
}
}
11 changes: 7 additions & 4 deletions apps/sim/app/workspace/[workspaceId]/templates/[id]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import { and, eq } from 'drizzle-orm'
import { notFound } from 'next/navigation'
import { getSession } from '@/lib/auth'
import { createLogger } from '@/lib/logs/console-logger'
import { db } from '@/db'
import { templateStars, templates } from '@/db/schema'
import type { Template } from '../templates'
import TemplateDetails from './template'

const logger = createLogger('TemplatePage')

interface TemplatePageProps {
params: Promise<{
workspaceId: string
Expand Down Expand Up @@ -58,7 +61,7 @@ export default async function TemplatePage({ params }: TemplatePageProps) {

// Validate that required fields are present
if (!template.id || !template.name || !template.author) {
console.error('Template missing required fields:', {
logger.error('Template missing required fields:', {
id: template.id,
name: template.name,
author: template.author,
Expand Down Expand Up @@ -100,9 +103,9 @@ export default async function TemplatePage({ params }: TemplatePageProps) {
isStarred,
}

console.log('Template from DB:', template)
console.log('Serialized template:', serializedTemplate)
console.log('Template state from DB:', template.state)
logger.info('Template from DB:', template)
logger.info('Serialized template:', serializedTemplate)
logger.info('Template state from DB:', template.state)

return (
<TemplateDetails
Expand Down
10 changes: 5 additions & 5 deletions apps/sim/app/workspace/[workspaceId]/templates/[id]/template.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ export default function TemplateDetails({
const renderWorkflowPreview = () => {
// Follow the same pattern as deployed-workflow-card.tsx
if (!template?.state) {
console.log('Template has no state:', template)
logger.info('Template has no state:', template)
return (
<div className='flex h-full items-center justify-center text-center'>
<div className='text-muted-foreground'>
Expand All @@ -154,10 +154,10 @@ export default function TemplateDetails({
)
}

console.log('Template state:', template.state)
console.log('Template state type:', typeof template.state)
console.log('Template state blocks:', template.state.blocks)
console.log('Template state edges:', template.state.edges)
logger.info('Template state:', template.state)
logger.info('Template state type:', typeof template.state)
logger.info('Template state blocks:', template.state.blocks)
logger.info('Template state edges:', template.state.edges)

try {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ export default function Templates({ initialTemplates, currentUserId }: Templates

const handleCreateNew = () => {
// TODO: Open create template modal or navigate to create page
console.log('Create new template')
logger.info('Create new template')
}

// Handle star change callback from template card
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,14 @@ import {
import { Input } from '@/components/ui/input'
import { ScrollArea } from '@/components/ui/scroll-area'
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'
import { createLogger } from '@/lib/logs/console-logger'
import { validateName } from '@/lib/utils'
import { useVariablesStore } from '@/stores/panel/variables/store'
import type { Variable, VariableType } from '@/stores/panel/variables/types'
import { useWorkflowRegistry } from '@/stores/workflows/registry/store'

const logger = createLogger('Variables')

export function Variables() {
const { activeWorkflowId, workflows } = useWorkflowRegistry()
const {
Expand Down Expand Up @@ -190,7 +193,7 @@ export function Variables() {

return undefined // Valid object
} catch (e) {
console.log('Object parsing error:', e)
logger.info('Object parsing error:', e)
return 'Invalid object syntax'
}
case 'array':
Expand All @@ -215,7 +218,7 @@ export function Variables() {

return undefined // Valid array
} catch (e) {
console.log('Array parsing error:', e)
logger.info('Array parsing error:', e)
return 'Invalid array syntax'
}
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {
CommandList,
} from '@/components/ui/command'
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'
import { createLogger } from '@/lib/logs/console-logger'
import {
type Credential,
getProviderIdFromServiceId,
Expand All @@ -21,6 +22,8 @@ import {
} from '@/lib/oauth'
import { OAuthRequiredModal } from '../../credential-selector/components/oauth-required-modal'

const logger = createLogger('ConfluenceFileSelector')

export interface ConfluenceFileInfo {
id: string
name: string
Expand Down Expand Up @@ -138,7 +141,7 @@ export function ConfluenceFileSelector({
}
}
} catch (error) {
console.error('Error fetching credentials:', error)
logger.error('Error fetching credentials:', error)
} finally {
setIsLoading(false)
}
Expand Down Expand Up @@ -205,7 +208,7 @@ export function ConfluenceFileSelector({
onFileInfoChange?.(data.file)
}
} catch (error) {
console.error('Error fetching page info:', error)
logger.error('Error fetching page info:', error)
setError((error as Error).message)
} finally {
setIsLoading(false)
Expand Down Expand Up @@ -247,7 +250,7 @@ export function ConfluenceFileSelector({

if (!tokenResponse.ok) {
const errorData = await tokenResponse.json()
console.error('Access token error:', errorData)
logger.error('Access token error:', errorData)

// If there's a token error, we might need to reconnect the account
setError('Authentication failed. Please reconnect your Confluence account.')
Expand All @@ -259,7 +262,7 @@ export function ConfluenceFileSelector({
const accessToken = tokenData.accessToken

if (!accessToken) {
console.error('No access token returned')
logger.error('No access token returned')
setError('Authentication failed. Please reconnect your Confluence account.')
setIsLoading(false)
return
Expand All @@ -281,12 +284,12 @@ export function ConfluenceFileSelector({

if (!response.ok) {
const errorData = await response.json()
console.error('Confluence API error:', errorData)
logger.error('Confluence API error:', errorData)
throw new Error(errorData.error || 'Failed to fetch pages')
}

const data = await response.json()
console.log(`Received ${data.files?.length || 0} files from API`)
logger.info(`Received ${data.files?.length || 0} files from API`)
setFiles(data.files || [])

// If we have a selected file ID, find the file info
Expand All @@ -301,7 +304,7 @@ export function ConfluenceFileSelector({
}
}
} catch (error) {
console.error('Error fetching pages:', error)
logger.error('Error fetching pages:', error)
setError((error as Error).message)
setFiles([])
} finally {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { useCallback, useEffect, useState } from 'react'
import { logger } from '@trigger.dev/sdk/v3'
import { PlusIcon, WrenchIcon, XIcon } from 'lucide-react'
import { Button } from '@/components/ui/button'
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'
Expand Down Expand Up @@ -684,34 +685,25 @@ export function ToolInput({
}

const handleOperationChange = (toolIndex: number, operation: string) => {
console.log('🔄 handleOperationChange called:', { toolIndex, operation, isPreview, disabled })

if (isPreview || disabled) {
console.log('❌ Early return: preview or disabled')
logger.info('❌ Early return: preview or disabled')
return
}

const tool = selectedTools[toolIndex]
console.log('🔧 Current tool:', tool)

const newToolId = getToolIdForOperation(tool.type, operation)
console.log('🆔 getToolIdForOperation result:', { toolType: tool.type, operation, newToolId })

if (!newToolId) {
console.log('❌ Early return: no newToolId')
logger.info('❌ Early return: no newToolId')
return
}

// Get parameters for the new tool
const toolParams = getToolParametersConfig(newToolId, tool.type)
console.log('📋 getToolParametersConfig result:', {
newToolId,
toolType: tool.type,
toolParams,
})

if (!toolParams) {
console.log('❌ Early return: no toolParams')
logger.info('❌ Early return: no toolParams')
return
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -605,9 +605,9 @@ export function useWorkflowExecution() {
}

try {
console.log('Executing debug step with blocks:', pendingBlocks)
logger.info('Executing debug step with blocks:', pendingBlocks)
const result = await executor!.continueExecution(pendingBlocks, debugContext!)
console.log('Debug step execution result:', result)
logger.info('Debug step execution result:', result)

if (isDebugSessionComplete(result)) {
await handleDebugSessionComplete(result)
Expand Down Expand Up @@ -660,7 +660,7 @@ export function useWorkflowExecution() {
let currentContext = { ...debugContext! }
let currentPendingBlocks = [...pendingBlocks]

console.log('Starting resume execution with blocks:', currentPendingBlocks)
logger.info('Starting resume execution with blocks:', currentPendingBlocks)

// Continue execution until there are no more pending blocks
let iterationCount = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,6 @@ const WorkflowContent = React.memo(() => {
}

const { type } = event.detail
console.log('🛠️ Adding block from toolbar:', type)

if (!type) return
if (type === 'connectionBlock') return
Expand Down
Loading