Compare commits

..

1 Commits

Author SHA1 Message Date
waleed
9697710569 fix(trigger): add isolated-vm support to trigger.dev container builds
Scheduled workflow executions running in trigger.dev containers were
failing to spawn isolated-vm workers because the native module wasn't
available in the container. This caused loop condition evaluation to
silently fail and exit after one iteration.

- Add isolated-vm to build.external and additionalPackages in trigger config
- Include isolated-vm-worker.cjs via additionalFiles for child process spawning
- Add fallback path resolution for worker file in trigger.dev environment

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 11:33:02 -08:00
5 changed files with 29 additions and 39 deletions

View File

@@ -2,7 +2,7 @@
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
import { Command } from 'cmdk'
import { Database, HelpCircle, Layout, Settings } from 'lucide-react'
import { Database, HelpCircle, Layout, Settings, Table } from 'lucide-react'
import { useParams, useRouter } from 'next/navigation'
import { createPortal } from 'react-dom'
import { Library } from '@/components/emcn'
@@ -119,14 +119,13 @@ export function SearchModal({
href: `/workspace/${workspaceId}/knowledge`,
hidden: permissionConfig.hideKnowledgeBaseTab,
},
// TODO: Uncomment when working on tables
// {
// id: 'tables',
// name: 'Tables',
// icon: Table,
// href: `/workspace/${workspaceId}/tables`,
// hidden: permissionConfig.hideTablesTab,
// },
{
id: 'tables',
name: 'Tables',
icon: Table,
href: `/workspace/${workspaceId}/tables`,
hidden: permissionConfig.hideTablesTab,
},
{
id: 'help',
name: 'Help',
@@ -146,6 +145,7 @@ export function SearchModal({
openSettingsModal,
permissionConfig.hideTemplates,
permissionConfig.hideKnowledgeBaseTab,
permissionConfig.hideTablesTab,
]
)

View File

@@ -2,7 +2,7 @@
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'
import { createLogger } from '@sim/logger'
import { Database, HelpCircle, Layout, Plus, Search, Settings } from 'lucide-react'
import { Database, HelpCircle, Layout, Plus, Search, Settings, Table } from 'lucide-react'
import Link from 'next/link'
import { useParams, usePathname, useRouter } from 'next/navigation'
import { Button, Download, FolderPlus, Library, Loader, Tooltip } from '@/components/emcn'
@@ -268,14 +268,13 @@ export const Sidebar = memo(function Sidebar() {
href: `/workspace/${workspaceId}/knowledge`,
hidden: permissionConfig.hideKnowledgeBaseTab,
},
// TODO: Uncomment when working on tables
// {
// id: 'tables',
// label: 'Tables',
// icon: Table,
// href: `/workspace/${workspaceId}/tables`,
// hidden: permissionConfig.hideTablesTab,
// },
{
id: 'tables',
label: 'Tables',
icon: Table,
href: `/workspace/${workspaceId}/tables`,
hidden: permissionConfig.hideTablesTab,
},
{
id: 'help',
label: 'Help',
@@ -289,7 +288,12 @@ export const Sidebar = memo(function Sidebar() {
onClick: () => openSettingsModal(),
},
].filter((item) => !item.hidden),
[workspaceId, permissionConfig.hideTemplates, permissionConfig.hideKnowledgeBaseTab]
[
workspaceId,
permissionConfig.hideTemplates,
permissionConfig.hideKnowledgeBaseTab,
permissionConfig.hideTablesTab,
]
)
const isLoading = workflowsLoading || sessionLoading

View File

@@ -100,19 +100,6 @@ export const JiraServiceManagementBlock: BlockConfig<JsmResponse> = {
title: 'Service Desk ID',
type: 'short-input',
placeholder: 'Enter service desk ID',
required: {
field: 'operation',
value: [
'get_request_types',
'create_request',
'get_customers',
'add_customer',
'get_organizations',
'add_organization',
'get_queues',
'get_request_type_fields',
],
},
condition: {
field: 'operation',
value: [
@@ -220,10 +207,9 @@ Return ONLY the description text - no explanations.`,
},
{
id: 'requestFieldValues',
title: 'Request Field Values',
title: 'Custom Field Values',
type: 'long-input',
placeholder:
'JSON object of field values (e.g., {"summary": "Title", "customfield_10010": "value"})',
placeholder: 'JSON object of custom field values (e.g., {"customfield_10010": "value"})',
condition: { field: 'operation', value: 'create_request' },
},
{
@@ -789,7 +775,7 @@ Return ONLY the comment text - no explanations.`,
description: 'Comma-separated account IDs for request participants',
},
channel: { type: 'string', description: 'Channel (e.g., portal, email)' },
requestFieldValues: { type: 'string', description: 'JSON object of request field values' },
requestFieldValues: { type: 'string', description: 'JSON object of custom field values' },
searchQuery: { type: 'string', description: 'Filter request types by name' },
groupId: { type: 'string', description: 'Filter by request type group ID' },
expand: { type: 'string', description: 'Comma-separated fields to expand' },

View File

@@ -139,6 +139,7 @@ import { StarterBlock } from '@/blocks/blocks/starter'
import { StripeBlock } from '@/blocks/blocks/stripe'
import { SttBlock, SttV2Block } from '@/blocks/blocks/stt'
import { SupabaseBlock } from '@/blocks/blocks/supabase'
import { TableBlock } from '@/blocks/blocks/table'
import { TavilyBlock } from '@/blocks/blocks/tavily'
import { TelegramBlock } from '@/blocks/blocks/telegram'
import { TextractBlock, TextractV2Block } from '@/blocks/blocks/textract'
@@ -330,8 +331,7 @@ export const registry: Record<string, BlockConfig> = {
stt: SttBlock,
stt_v2: SttV2Block,
supabase: SupabaseBlock,
// TODO: Uncomment when working on tables
// table: TableBlock,
table: TableBlock,
tavily: TavilyBlock,
telegram: TelegramBlock,
textract: TextractBlock,

View File

@@ -66,7 +66,7 @@ export const jsmCreateRequestTool: ToolConfig<JsmCreateRequestParams, JsmCreateR
required: false,
visibility: 'user-or-llm',
description:
'Request field values as key-value pairs (overrides summary/description if provided)',
'Custom field values as key-value pairs (overrides summary/description if provided)',
},
requestParticipants: {
type: 'string',