Skip to content

Commit e87f2fa

Browse files
committed
feat(readme): added deepwiki to readme, consolidated utils
1 parent ce3ddb6 commit e87f2fa

File tree

12 files changed

+39
-40
lines changed

12 files changed

+39
-40
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<a href="https://sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/sim.ai-6F3DFA" alt="Sim.ai"></a>
1111
<a href="https://discord.gg/Hr4UWYEcTT" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Discord-Join%20Server-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
1212
<a href="https://x.com/simdotai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/twitter/follow/simstudioai?style=social" alt="Twitter"></a>
13-
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-6F3DFA.svg" alt="Documentation"></a>
13+
<a href="https://docs.sim.ai" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/Docs-6F3DFA.svg" alt="Documentation"></a> <a href="https://deepwiki.com/simstudioai/sim" target="_blank" rel="noopener noreferrer"><img src="https://img.shields.io/badge/DeepWiki-1E90FF.svg" alt="DeepWiki"></a>
1414
</p>
1515

1616
<p align="center">

apps/sim/app/api/form/[identifier]/route.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { preprocessExecution } from '@/lib/execution/preprocessing'
1111
import { LoggingSession } from '@/lib/logs/execution/logging-session'
1212
import { normalizeInputFormatValue } from '@/lib/workflows/input-format'
1313
import { createStreamingResponse } from '@/lib/workflows/streaming/streaming'
14+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
1415
import { setFormAuthCookie, validateFormAuth } from '@/app/api/form/utils'
1516
import { createErrorResponse, createSuccessResponse } from '@/app/api/workflows/utils'
1617

@@ -35,10 +36,7 @@ async function getWorkflowInputSchema(workflowId: string): Promise<any[]> {
3536
.from(workflowBlocks)
3637
.where(eq(workflowBlocks.workflowId, workflowId))
3738

38-
const startBlock = blocks.find(
39-
(block) =>
40-
block.type === 'starter' || block.type === 'start_trigger' || block.type === 'input_trigger'
41-
)
39+
const startBlock = blocks.find((block) => isValidStartBlockType(block.type))
4240

4341
if (!startBlock) {
4442
return []

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/action-bar/action-bar.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { memo, useCallback } from 'react'
22
import { ArrowLeftRight, ArrowUpDown, Circle, CircleOff, LogOut } from 'lucide-react'
33
import { Button, Copy, Tooltip, Trash2 } from '@/components/emcn'
44
import { cn } from '@/lib/core/utils/cn'
5+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
56
import { useUserPermissionsContext } from '@/app/workspace/[workspaceId]/providers/workspace-permissions-provider'
67
import { useCollaborativeWorkflow } from '@/hooks/use-collaborative-workflow'
78
import { useWorkflowRegistry } from '@/stores/workflows/registry/store'
@@ -97,7 +98,7 @@ export const ActionBar = memo(
9798

9899
const userPermissions = useUserPermissionsContext()
99100

100-
const isStartBlock = blockType === 'starter' || blockType === 'start_trigger'
101+
const isStartBlock = isValidStartBlockType(blockType)
101102
const isResponseBlock = blockType === 'response'
102103
const isNoteBlock = blockType === 'note'
103104
const isSubflowBlock = blockType === 'loop' || blockType === 'parallel'

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/block-menu/block-menu.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
PopoverDivider,
99
PopoverItem,
1010
} from '@/components/emcn'
11+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
1112

1213
/**
1314
* Block information for context menu actions
@@ -73,9 +74,7 @@ export function BlockMenu({
7374
const allEnabled = selectedBlocks.every((b) => b.enabled)
7475
const allDisabled = selectedBlocks.every((b) => !b.enabled)
7576

76-
const hasStarterBlock = selectedBlocks.some(
77-
(b) => b.type === 'starter' || b.type === 'start_trigger'
78-
)
77+
const hasStarterBlock = selectedBlocks.some((b) => isValidStartBlockType(b.type))
7978
const allNoteBlocks = selectedBlocks.every((b) => b.type === 'note')
8079
const isSubflow =
8180
isSingleBlock && (selectedBlocks[0]?.type === 'loop' || selectedBlocks[0]?.type === 'parallel')

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/form/form.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { Skeleton } from '@/components/ui'
1717
import { isDev } from '@/lib/core/config/feature-flags'
1818
import { cn } from '@/lib/core/utils/cn'
1919
import { getBaseUrl, getEmailDomain } from '@/lib/core/utils/urls'
20+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
2021
import {
2122
type FieldConfig,
2223
useCreateForm,
@@ -146,7 +147,7 @@ export function FormDeploy({
146147

147148
useEffect(() => {
148149
const blocks = Object.values(useWorkflowStore.getState().blocks)
149-
const startBlock = blocks.find((b) => b.type === 'starter' || b.type === 'start_trigger')
150+
const startBlock = blocks.find((b) => isValidStartBlockType(b.type))
150151

151152
if (startBlock) {
152153
const inputFormat = useSubBlockStore.getState().getValue(startBlock.id, 'inputFormat')

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/mcp/mcp.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
import { Skeleton } from '@/components/ui'
1616
import { generateToolInputSchema, sanitizeToolName } from '@/lib/mcp/workflow-tool-schema'
1717
import { normalizeInputFormatValue } from '@/lib/workflows/input-format'
18-
import { isValidStartBlockType } from '@/lib/workflows/triggers/trigger-utils'
18+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
1919
import type { InputFormatField } from '@/lib/workflows/types'
2020
import {
2121
useAddWorkflowMcpTool,

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-accessible-reference-prefixes.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { useMemo } from 'react'
22
import { useShallow } from 'zustand/react/shallow'
33
import { BlockPathCalculator } from '@/lib/workflows/blocks/block-path-calculator'
44
import { SYSTEM_REFERENCE_PREFIXES } from '@/lib/workflows/sanitization/references'
5+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
56
import { normalizeName } from '@/executor/constants'
67
import { useWorkflowStore } from '@/stores/workflows/workflow/store'
78
import type { Loop, Parallel } from '@/stores/workflows/workflow/types'
@@ -26,9 +27,7 @@ export function useAccessibleReferencePrefixes(blockId?: string | null): Set<str
2627
const accessibleIds = new Set<string>(ancestorIds)
2728
accessibleIds.add(blockId)
2829

29-
const starterBlock = Object.values(blocks).find(
30-
(block) => block.type === 'starter' || block.type === 'start_trigger'
31-
)
30+
const starterBlock = Object.values(blocks).find((block) => isValidStartBlockType(block.type))
3231
if (starterBlock && ancestorIds.includes(starterBlock.id)) {
3332
accessibleIds.add(starterBlock.id)
3433
}

apps/sim/lib/copilot/tools/client/workflow/get-block-upstream-references.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
type GetBlockUpstreamReferencesResultType,
1818
} from '@/lib/copilot/tools/shared/schemas'
1919
import { BlockPathCalculator } from '@/lib/workflows/blocks/block-path-calculator'
20+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
2021
import { useWorkflowRegistry } from '@/stores/workflows/registry/store'
2122
import { useWorkflowStore } from '@/stores/workflows/workflow/store'
2223
import type { Loop, Parallel } from '@/stores/workflows/workflow/types'
@@ -140,9 +141,7 @@ export class GetBlockUpstreamReferencesClientTool extends BaseClientTool {
140141
const accessibleIds = new Set<string>(ancestorIds)
141142
accessibleIds.add(blockId)
142143

143-
const starterBlock = Object.values(blocks).find(
144-
(b) => b.type === 'starter' || b.type === 'start_trigger'
145-
)
144+
const starterBlock = Object.values(blocks).find((b) => isValidStartBlockType(b.type))
146145
if (starterBlock && ancestorIds.includes(starterBlock.id)) {
147146
accessibleIds.add(starterBlock.id)
148147
}

apps/sim/lib/mcp/workflow-tool-schema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { z } from 'zod'
22
import { normalizeInputFormatValue } from '@/lib/workflows/input-format'
3-
import { isValidStartBlockType } from '@/lib/workflows/triggers/trigger-utils'
3+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
44
import type { InputFormatField } from '@/lib/workflows/types'
55
import type { McpToolSchema } from './types'
66

apps/sim/lib/workflows/input-format.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { isValidStartBlockType } from '@/lib/workflows/triggers/start-block-types'
12
import type { InputFormatField } from '@/lib/workflows/types'
23

34
/**
@@ -23,7 +24,7 @@ export function extractInputFieldsFromBlocks(
2324
// Find trigger block
2425
const triggerEntry = Object.entries(blocks).find(([, block]) => {
2526
const b = block as Record<string, unknown>
26-
return b.type === 'start_trigger' || b.type === 'input_trigger' || b.type === 'starter'
27+
return typeof b.type === 'string' && isValidStartBlockType(b.type)
2728
})
2829

2930
if (!triggerEntry) return []

0 commit comments

Comments
 (0)