Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/ArnasDon/wacrm
/ functions
Functions
1,053 in github.com/ArnasDon/wacrm
⨍
Functions
1,053
◇
Types & classes
317
↓ 171 callers
Function
cn
(...inputs: ClassValue[])
src/lib/utils.ts:4
↓ 76 callers
Function
createClient
()
src/lib/supabase/client.ts:9
↓ 39 callers
Function
fail
( code: string, message: string, status: number, headers?: Record<string, string> )
src/lib/api/v1/respond.ts:107
↓ 36 callers
Function
checkRateLimit
( key: string, { limit, windowMs }: RateLimitOptions, )
src/lib/rate-limit.ts:60
↓ 36 callers
Function
decrypt
(encryptedText: string)
src/lib/whatsapp/encryption.ts:50
↓ 33 callers
Function
useAuth
()
src/hooks/use-auth.tsx:359
↓ 28 callers
Function
validateFlowForActivation
( flow: FlowInput, nodes: NodeInput[], )
src/lib/flows/validate.ts:51
↓ 27 callers
Function
logEvent
( db: AdminClient, flowRunId: string, event_type: | "started" | "node_entered" | "message_se
src/lib/flows/engine.ts:247
↓ 25 callers
Function
requireApiKey
( request: Request, scope?: ApiScope )
src/lib/auth/api-context.ts:80
↓ 25 callers
Function
supabaseAdmin
()
src/app/api/whatsapp/webhook/route.ts:26
↓ 25 callers
Function
toErrorResponse
(err: unknown)
src/lib/auth/account.ts:69
↓ 23 callers
Function
rateLimitResponse
(result: RateLimitResult)
src/lib/rate-limit.ts:96
↓ 21 callers
Function
buildSendComponents
( template: MessageTemplate, params: SendTimeParams = {}, )
src/lib/whatsapp/template-send-builder.ts:219
↓ 21 callers
Function
createClient
()
src/lib/supabase/server.ts:4
↓ 21 callers
Function
isValidE164
(phone: string)
src/lib/whatsapp/phone-utils.ts:39
↓ 20 callers
Function
row
(overrides: Partial<MessageTemplate> = {})
src/lib/whatsapp/template-send-builder.test.ts:5
↓ 18 callers
Function
encrypt
(text: string)
src/lib/whatsapp/encryption.ts:37
↓ 18 callers
Function
requireRole
(min: AccountRole)
src/lib/auth/account.ts:182
↓ 18 callers
Function
validateStepsForActivation
(steps: StepLike[])
src/lib/automations/validate.ts:29
↓ 17 callers
Function
formatCurrency
( value: number, currency: string = DEFAULT_CURRENCY, )
src/lib/currency.ts:60
↓ 17 callers
Function
set
(patch: Record<string, unknown>)
src/components/automations/automation-builder.tsx:1174
↓ 16 callers
Function
ago
(ms: number)
src/lib/presence.test.ts:13
↓ 16 callers
Function
matchesKeywordTrigger
( text: string, cfg: KeywordTriggerConfig, )
src/lib/flows/engine.ts:95
↓ 16 callers
Function
sanitizePhoneForMeta
(phone: string)
src/lib/whatsapp/phone-utils.ts:6
↓ 16 callers
Function
supabaseAdmin
()
src/lib/ai/admin-client.ts:9
↓ 16 callers
Function
toApiErrorResponse
(err: unknown)
src/lib/api/v1/respond.ts:121
↓ 16 callers
Function
validateButtons
(buttons: TemplateButton[] | undefined)
src/lib/whatsapp/template-validators.ts:182
↓ 15 callers
Function
extractVariableIndices
(text: string)
src/lib/whatsapp/template-validators.ts:64
↓ 15 callers
Function
supabaseAdmin
()
src/lib/automations/admin-client.ts:8
↓ 15 callers
Function
throwMetaError
(response: Response, fallback: string)
src/lib/whatsapp/meta-api.ts:30
↓ 14 callers
Function
deriveCanvasEdges
(nodes: BuilderNode[])
src/lib/flows/edges.ts:40
↓ 14 callers
Function
endRun
( db: AdminClient, runId: string, status: "completed" | "handed_off" | "timed_out" | "failed", reason:
src/lib/flows/engine.ts:524
↓ 14 callers
Function
getCurrentAccount
()
src/lib/auth/account.ts:106
↓ 14 callers
Function
isRecipientNotAllowedError
(message: string)
src/lib/whatsapp/phone-utils.ts:102
↓ 14 callers
Function
matchReplyId
( node: { node_type: string; config: Record<string, unknown> }, reply_id: string, )
src/lib/flows/engine.ts:70
↓ 14 callers
Function
resolveFallbackPolicy
( raw: unknown, )
src/lib/flows/fallback.ts:35
↓ 14 callers
Function
truncate
(s: string, max = 80)
src/components/flows/shared.tsx:302
↓ 13 callers
Function
clampExpiryDays
(expiresInDays: number | undefined)
src/lib/auth/invitations.ts:92
↓ 13 callers
Function
nonEmpty
(v: unknown)
src/lib/automations/validate.ts:182
↓ 13 callers
Function
phoneVariants
(sanitized: string)
src/lib/whatsapp/phone-utils.ts:64
↓ 12 callers
Function
applyEdgeConnection
( node: BuilderNode, sourceHandle: string, targetKey: string, )
src/lib/flows/edges.ts:245
↓ 12 callers
Function
dispatchInboundToAiReply
( args: DispatchArgs, )
src/lib/ai/auto-reply.ts:39
↓ 12 callers
Function
evaluateConditionPredicate
(args: { operator: ConditionNodeConfig["operator"]; /** * Resolved value of the subject. `undefined` me
src/lib/flows/engine.ts:142
↓ 12 callers
Function
hasMinRole
(role: AccountRole, min: AccountRole)
src/lib/auth/roles.ts:49
↓ 12 callers
Function
isAccountRole
(value: unknown)
src/lib/auth/roles.ts:54
↓ 12 callers
Function
matchesContactFilters
( conversation: Conversation, { tagIds, company }: ContactFilters, )
src/lib/inbox/conversations.ts:57
↓ 12 callers
Function
nodes
(...ns: BuilderNode[])
src/lib/flows/edges.test.ts:10
↓ 12 callers
Function
ok
(data: T, status = 200)
src/lib/api/v1/respond.ts:85
↓ 12 callers
Function
roleRank
(role: AccountRole)
src/lib/auth/roles.ts:32
↓ 12 callers
Function
validateTriggerForActivation
( triggerType: AutomationTriggerType | string, triggerConfig: unknown, )
src/lib/automations/validate.ts:143
↓ 11 callers
Function
buildMetaTemplatePayload
( payload: TemplatePayload, )
src/lib/whatsapp/template-components.ts:137
↓ 11 callers
Function
findExistingContact
( db: SupabaseClient, accountId: string, phone: string, )
src/lib/contacts/dedupe.ts:35
↓ 11 callers
Function
handleTemplateWebhookChange
( change: TemplateWebhookChange, // SupabaseClient typed loosely — the webhook route lazy-initialises //
src/lib/whatsapp/template-webhook.ts:76
↓ 11 callers
Function
isAutoAdvancing
(node_type: string)
src/lib/flows/engine.ts:113
↓ 11 callers
Function
parseListParams
(request: Request)
src/lib/api/v1/pagination.ts:41
↓ 10 callers
Function
derivePresence
( stored: StoredPresence | undefined, lastSeenAt: string | null | undefined, now: number, )
src/lib/presence.ts:45
↓ 10 callers
Function
embedTexts
( apiKey: string, inputs: string[], )
src/lib/ai/embeddings.ts:41
↓ 10 callers
Function
formatLastSeen
( lastSeenAt: string | null | undefined, now: number, )
src/lib/presence.ts:68
↓ 10 callers
Function
generateReply
(args: GenerateArgs)
src/lib/ai/generate.ts:19
↓ 10 callers
Function
hashApiKey
(plaintext: string)
src/lib/api-keys/keys.ts:66
↓ 10 callers
Function
isSuspending
(node_type: string)
src/lib/flows/engine.ts:124
↓ 10 callers
Function
makeSupabaseStub
( selectResult: { data: { id: string }[] | null; error: { message: string } | null } = { data: [{ id: 'r
src/lib/whatsapp/template-webhook.test.ts:12
↓ 10 callers
Function
normalizeStatus
(raw: string)
src/lib/whatsapp/template-status-normalize.ts:22
↓ 9 callers
Function
daysAgoStart
(days: number)
src/lib/dashboard/date-utils.ts:12
↓ 9 callers
Function
getBroadcastStatus
(status: string)
src/lib/broadcast-status.ts:82
↓ 9 callers
Function
hashInviteToken
(token: string)
src/lib/auth/invitations.ts:57
↓ 9 callers
Function
isUniqueViolation
(error: unknown)
src/lib/contacts/dedupe.ts:72
↓ 9 callers
Function
makeDb
()
src/lib/ai/knowledge.test.ts:21
↓ 9 callers
Function
mondayIndex
(d: Date)
src/lib/dashboard/date-utils.ts:47
↓ 9 callers
Function
reqWith
(authHeader?: string)
src/lib/auth/api-context.test.ts:27
↓ 9 callers
Function
useCan
(action: CanAction)
src/hooks/use-can.ts:40
↓ 9 callers
Function
verifyMetaWebhookSignature
( rawBody: string, signatureHeader: string | null, )
src/lib/whatsapp/webhook-signature.ts:21
↓ 8 callers
Function
decideFallback
(args: { policy: FlowFallbackPolicy; /** Reprompt count AFTER incrementing (so 1 = first reprompt). */ r
src/lib/flows/fallback.ts:74
↓ 8 callers
Function
ensureImageHeaderHandle
( payload: TemplatePayload, accessToken: string, )
src/lib/whatsapp/template-header-handle.ts:21
↓ 8 callers
Function
formatCurrencyShort
( value: number, currency: string = DEFAULT_CURRENCY, )
src/lib/currency.ts:87
↓ 8 callers
Function
isDeliverableUrl
(rawUrl: string)
src/lib/webhooks/ssrf.ts:56
↓ 8 callers
Function
makeConversation
( contact: Partial<Conversation["contact"]> | null, )
src/lib/inbox/conversations.test.ts:8
↓ 8 callers
Function
nodeColors
(type: NodeType)
src/components/flows/shared.tsx:223
↓ 8 callers
Function
normalizeKey
(phone: string)
src/lib/contacts/dedupe.ts:17
↓ 8 callers
Function
outgoingSlots
(node: BuilderNode)
src/lib/flows/edges.ts:174
↓ 8 callers
Function
phonesMatch
(phone1: string, phone2: string)
src/lib/whatsapp/phone-utils.ts:25
↓ 8 callers
Function
req
(qs: string)
src/lib/api/v1/pagination.test.ts:12
↓ 8 callers
Function
retrieveKnowledge
( db: SupabaseClient, accountId: string, config: Pick<AiConfig, 'embeddingsApiKey'>, queryText: string
src/lib/ai/knowledge.ts:84
↓ 8 callers
Function
runAutomationsForTrigger
(input: DispatchInput)
src/lib/automations/engine.ts:57
↓ 8 callers
Function
sendInteractiveButtons
( args: SendInteractiveButtonsArgs )
src/lib/whatsapp/meta-api.ts:766
↓ 8 callers
Function
validateHeader
( payload: Pick< TemplatePayload, 'header_type' | 'header_content' | 'header_media_url' | 'header_ha
src/lib/whatsapp/template-validators.ts:119
↓ 7 callers
Function
autoLayout
( nodes: LayoutNode[], edges: LayoutEdge[], options: LayoutOptions = {}, )
src/lib/flows/layout.ts:89
↓ 7 callers
Function
bad
(message: string)
src/app/api/ai/config/route.ts:13
↓ 7 callers
Function
chunkText
( content: string, opts: { maxChars?: number } = {}, )
src/lib/ai/chunk.ts:13
↓ 7 callers
Function
decodeCursor
(value: string | null)
src/lib/api/v1/pagination.ts:71
↓ 7 callers
Function
defaultConfigFor
(type: NodeType)
src/components/flows/flow-editor-state.tsx:136
↓ 7 callers
Function
dispatchWebhookEvent
( db: SupabaseClient, accountId: string, event: WebhookEvent, data: unknown )
src/lib/webhooks/deliver.ts:46
↓ 7 callers
Function
expectSendError
( params: SendMessageParams, status: number, messageMatch?: RegExp )
src/lib/whatsapp/send-message.test.ts:20
↓ 7 callers
Function
ingestDocument
( db: SupabaseClient, accountId: string, config: Pick<AiConfig, 'embeddingsApiKey'>, documentId: strin
src/lib/ai/knowledge.ts:27
↓ 7 callers
Function
load
()
src/app/(dashboard)/automations/page.tsx:68
↓ 7 callers
Function
resolve
(ops: { table: string; type: string; payload?: unknown; filters: [string, string, unknown][];
src/lib/automations/engine.test.ts:20
↓ 7 callers
Function
resolveConversationByPhone
( db: SupabaseClient, accountId: string, phone: string, name?: string | null )
src/lib/whatsapp/resolve-conversation.ts:41
↓ 7 callers
Function
sendInteractiveList
( args: SendInteractiveListArgs )
src/lib/whatsapp/meta-api.ts:866
↓ 6 callers
Function
__resetRateLimitForTests
()
src/lib/rate-limit.ts:166
↓ 6 callers
Function
buildMediaPath
( accountId: string, fileName: string, now: number = Date.now(), )
src/lib/storage/upload-media.ts:46
next →
1–100 of 1,053, ranked by callers