MCPcopy Create free account

hub / github.com/ArnasDon/wacrm / functions

Functions1,053 in github.com/ArnasDon/wacrm

↓ 1 callersFunctionextractSampleValues
( body: MetaTemplateComponent | undefined, header: MetaTemplateComponent | undefined, )
src/app/api/whatsapp/templates/sync/route.ts:110
↓ 1 callersFunctionfetchCustomValueIndex
* Bulk-fetch contact_custom_values for a set of contacts. Returns an * index keyed by contact_id → field_id → value.
src/hooks/use-broadcast-sending.ts:124
↓ 1 callersFunctionfetchData
()
src/app/(dashboard)/broadcasts/[id]/page.tsx:160
↓ 1 callersFunctionfetchTags
()
src/components/broadcasts/step2-select-audience.tsx:96
↓ 1 callersFunctionfetchTemplates
()
src/components/broadcasts/step1-choose-template.tsx:28
↓ 1 callersFunctionfindEntryFlow
( db: AdminClient, accountId: string, message: ParsedInbound, isFirstInbound: boolean, )
src/lib/flows/engine.ts:311
↓ 1 callersFunctionfindOrCreateContact
( accountId: string, configOwnerUserId: string, phone: string, name: string )
src/app/api/whatsapp/webhook/route.ts:973
↓ 1 callersFunctionfindOrCreateConversation
* Return the contact's conversation id in this account, creating one if * it doesn't exist yet. Mirrors the webhook's find-or-create so an * inbound
src/app/api/whatsapp/send/route.ts:218
↓ 1 callersFunctionfindOrCreateConversation
( accountId: string, configOwnerUserId: string, contactId: string, )
src/app/api/whatsapp/webhook/route.ts:1033
↓ 1 callersFunctionflagBroadcastReplyIfAny
* If an inbound message's sender is on a still-unreplied * broadcast_recipients row, flip it to `replied` so the reply count * advances on the paren
src/app/api/whatsapp/webhook/route.ts:448
↓ 1 callersFunctionfmtExpiresIn
(iso: string)
src/components/settings/members-tab.tsx:118
↓ 1 callersFunctionforbidden
(message: string)
src/lib/api/v1/respond.ts:59
↓ 1 callersFunctionformatDate
(dateStr: string)
src/components/pipelines/deal-card.tsx:14
↓ 1 callersFunctionformatDateSeparator
(dateStr: string)
src/components/inbox/message-thread.tsx:111
↓ 1 callersFunctionfromServerSteps
(nodes: ServerStepNode[])
src/components/automations/automation-builder.tsx:1601
↓ 1 callersFunctiongenerateAnthropic
(args: ProviderArgs)
src/lib/ai/providers/anthropic.ts:40
↓ 1 callersFunctiongenerateOpenAi
(args: ProviderArgs)
src/lib/ai/providers/openai.ts:21
↓ 1 callersFunctiongetAccountName
( accountId: string )
src/lib/api-keys/store.ts:64
↓ 1 callersFunctiongetBaseUrl
(request: Request)
src/app/api/account/invitations/route.ts:94
↓ 1 callersFunctiongetBinary
(file)
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctiongetClientIp
(request: Request)
src/app/api/invitations/[token]/redeem/route.ts:31
↓ 1 callersFunctiongetClientIp
* Best-effort client IP. The `x-forwarded-for` header is what * every reverse proxy (Vercel, Hostinger, Cloudflare) sets when * forwarding a request
src/app/api/invitations/[token]/peek/route.ts:45
↓ 1 callersFunctiongetFlowTemplate
(slug: string)
src/lib/flows/templates.ts:298
↓ 1 callersFunctiongetInitials
(name?: string | null)
src/components/contacts/contact-detail-view.tsx:373
↓ 1 callersFunctiongetPageTitle
(pathname: string)
src/components/layout/header.tsx:32
↓ 1 callersFunctiongetTemplate
(slug: string)
src/lib/automations/templates.ts:130
↓ 1 callersFunctiongetYAxisDomain
( autoMinValue: boolean, minValue: number | undefined, maxValue: number | undefined, )
src/components/tremor/get-y-axis-domain.ts:5
↓ 1 callersFunctiongroupMessagesByDate
(messages: Message[])
src/components/inbox/message-thread.tsx:118
↓ 1 callersFunctiongroupReactions
( reactions: MessageReaction[], currentUserId: string | undefined, )
src/components/inbox/message-reactions.tsx:21
↓ 1 callersFunctionhandleAdd
(type: NodeType)
src/components/flows/flow-canvas.tsx:702
↓ 1 callersFunctionhandleAddStage
()
src/components/pipelines/pipeline-settings.tsx:140
↓ 1 callersFunctionhandleComponentsUpdate
* Meta auto-modified the template (typically a category reclassification * — e.g. Marketing → Utility after content review). * * For v1 we just log
src/lib/whatsapp/template-webhook.ts:208
↓ 1 callersFunctionhandleCreate
()
src/components/contacts/custom-fields-manager.tsx:96
↓ 1 callersFunctionhandleCreate
()
src/components/settings/tag-manager.tsx:86
↓ 1 callersFunctionhandleCreate
()
src/app/(dashboard)/flows/page.tsx:129
↓ 1 callersFunctionhandleCreatePipeline
()
src/app/(dashboard)/pipelines/page.tsx:248
↓ 1 callersFunctionhandleDelete
(flow: FlowRow)
src/app/(dashboard)/flows/page.tsx:178
↓ 1 callersFunctionhandleHeaderImageFile
(file: File)
src/components/settings/template-manager.tsx:459
↓ 1 callersFunctionhandleOpenChange
(next: boolean)
src/components/contacts/import-modal.tsx:155
↓ 1 callersFunctionhandlePickEmoji
(emoji: string)
src/components/inbox/message-actions.tsx:65
↓ 1 callersFunctionhandleProviderChange
(next: AiProvider)
src/components/settings/ai-config.tsx:113
↓ 1 callersFunctionhandleQualityUpdate
( value: TemplateQualityUpdateValue, supabase: SupabaseClient, )
src/lib/whatsapp/template-webhook.ts:162
↓ 1 callersFunctionhandleReaction
* Persist an inbound reaction. WhatsApp reactions are not new messages — * they're per-(target, actor) state. We upsert / delete on * `message_react
src/app/api/whatsapp/webhook/route.ts:509
↓ 1 callersFunctionhandleRemoveStage
(stageId: string)
src/components/pipelines/pipeline-settings.tsx:162
↓ 1 callersFunctionhandleReplyForActiveRun
( db: AdminClient, run: FlowRunRow, message: ParsedInbound, nodes: Map<string, FlowNodeRow>, )
src/lib/flows/engine.ts:884
↓ 1 callersFunctionhandleResize
()
src/components/tremor/use-on-window-resize.ts:9
↓ 1 callersFunctionhandleRevoke
(invite: Invitation)
src/components/settings/members-tab.tsx:255
↓ 1 callersFunctionhandleRevoke
(key: ApiKey)
src/components/settings/api-keys-settings.tsx:101
↓ 1 callersFunctionhandleRoleChange
(member: Member, nextRole: AccountRole)
src/components/settings/members-tab.tsx:181
↓ 1 callersFunctionhandleSend
()
src/app/(dashboard)/broadcasts/new/page.tsx:47
↓ 1 callersFunctionhandleStatusUpdate
( value: TemplateStatusUpdateValue, supabase: SupabaseClient, )
src/lib/whatsapp/template-webhook.ts:104
↓ 1 callersFunctionhandleStatusUpdate
(status: { id: string status: string timestamp: string recipient_id: string })
src/app/api/whatsapp/webhook/route.ts:352
↓ 1 callersFunctionhandleUseTemplate
(slug: string)
src/app/(dashboard)/flows/page.tsx:155
↓ 1 callersFunctionhandler
(e: MediaQueryListEvent)
src/components/flows/flow-editor-shell.tsx:172
↓ 1 callersFunctioninit
()
src/hooks/use-auth.tsx:240
↓ 1 callersFunctioninitRuntime
()
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctioninsertAt
( steps: BuilderStep[], parent: ParentScope, index: number, node: BuilderStep, )
src/components/automations/automation-builder.tsx:1407
↓ 1 callersFunctioninstantiateSync
(file,info)
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctionintArrayFromBase64
(s)
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctionintArrayToString
(array)
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctionisDuplicateInbound
* Idempotency check — has a `reply_received` event with this Meta * message_id already been recorded for any of the contact's flow * runs? If yes, t
src/lib/flows/engine.ts:285
↓ 1 callersFunctionisMediaHeaderType
(value: unknown)
src/components/broadcasts/step3-personalize.tsx:38
↓ 1 callersFunctionisSection
(value: string | null)
src/components/settings/settings-sections.ts:67
↓ 1 callersFunctionisSizeUseful
(size: PageSize, i: number)
src/components/dashboard/activity-feed.tsx:53
↓ 1 callersFunctionisValidHttpUrl
(value: string)
src/components/broadcasts/step3-personalize.tsx:42
↓ 1 callersFunctionisValidStatusTransition
* Can a recipient transition from `current` to `incoming`? * - Along the ladder, only forward moves are allowed. * - `failed` is accepted only f
src/app/api/whatsapp/webhook/route.ts:338
↓ 1 callersFunctionkeepRuntimeAlive
()
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctionkeyStatus
(k: ApiKey)
src/components/settings/api-keys-settings.tsx:64
↓ 1 callersFunctionlistFlowTemplates
()
src/lib/flows/templates.ts:302
↓ 1 callersFunctionload
()
src/app/(dashboard)/automations/[id]/logs/page.tsx:38
↓ 1 callersFunctionload
()
src/app/(dashboard)/automations/[id]/edit/page.tsx:27
↓ 1 callersFunctionloadActiveRunForContact
( db: AdminClient, accountId: string, contactId: string, )
src/lib/flows/engine.ts:174
↓ 1 callersFunctionloadActivity
(db: DB, limit = 20)
src/lib/dashboard/queries.ts:268
↓ 1 callersFunctionloadFlow
( db: AdminClient, flowId: string, )
src/lib/flows/engine.ts:203
↓ 1 callersFunctionloadMetrics
(db: DB)
src/lib/dashboard/queries.ts:32
↓ 1 callersFunctionloadPipelineDonut
(db: DB)
src/lib/dashboard/queries.ts:133
↓ 1 callersFunctionloadResponseTime
(db: DB)
src/lib/dashboard/queries.ts:172
↓ 1 callersFunctionlocateFile
(path)
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctionlogExceptionOnExit
(e)
public/opus/encoderWorker.min.js:1
↓ 1 callersFunctionlongDayLabel
(key: string)
src/components/dashboard/conversations-chart.tsx:320
↓ 1 callersFunctionlooksLikeUuid
(v: unknown)
src/app/api/account/transfer-ownership/route.ts:48
↓ 1 callersFunctionmapAtPath
( steps: BuilderStep[], path: StepPath, updater: (s: BuilderStep) => BuilderStep, )
src/components/automations/automation-builder.tsx:1426
↓ 1 callersFunctionmarkActive
()
src/components/presence/presence-heartbeat.tsx:41
↓ 1 callersFunctionmoveAt
( steps: BuilderStep[], path: StepPath, direction: -1 | 1, )
src/components/automations/automation-builder.tsx:1520
↓ 1 callersFunctionmoveInBranches
( branches: BuilderStep["branches"], path: StepPath, direction: -1 | 1, )
src/components/automations/automation-builder.tsx:1549
↓ 1 callersFunctionniceCeil
* Round `max` up to a "nice" number so Y-axis ticks feel natural * (1, 2, 5, 10, 20, 50, …). Keeps the chart readable even when the * series is smal
src/components/dashboard/conversations-chart.tsx:331
↓ 1 callersFunctionnormalizeCategory
( meta: string, )
src/app/api/whatsapp/templates/sync/route.ts:53
↓ 1 callersFunctionnormalizeConversations
( rows: RawConversation[], )
src/lib/inbox/conversations.ts:39
↓ 1 callersFunctionnormalizeForAnthropic
* Anthropic's Messages API requires strictly alternating roles that * begin with `user`. Merge consecutive turns, then drop any leading * assistant
src/lib/ai/providers/anthropic.ts:24
↓ 1 callersFunctionnormalizeQualityScore
( raw: MetaTemplate['quality_score'], )
src/app/api/whatsapp/templates/sync/route.ts:62
↓ 1 callersFunctionokFetch
()
src/lib/whatsapp/meta-api.media.test.ts:15
↓ 1 callersFunctiononCategoryClick
(dataKey: string)
src/components/tremor/bar-chart.tsx:642
↓ 1 callersFunctionopenEdit
(id: string)
src/components/settings/ai-knowledge.tsx:71
↓ 1 callersFunctionopenEditForm
(contact: Contact)
src/app/(dashboard)/contacts/page.tsx:230
↓ 1 callersFunctionoutgoingEdges
(node: NodeInput)
src/lib/flows/validate.ts:748
↓ 1 callersFunctionparseAllowedHosts
()
src/app/api/account/invitations/route.ts:76
↓ 1 callersFunctionparseButtons
(metaButtons: MetaButton[] | undefined)
src/app/api/whatsapp/templates/sync/route.ts:74
↓ 1 callersFunctionparseCsvLine
Simple CSV line parse (handles quoted fields).
src/lib/contacts/parse-contact-csv.ts:99
↓ 1 callersFunctionparseMessageContent
( message: WhatsAppMessage, accessToken: string )
src/app/api/whatsapp/webhook/route.ts:818
↓ 1 callersFunctionpatchedConfigWithoutKey
( node: BuilderNode, deletedKey: string, )
src/lib/flows/edges.ts:339
← previousnext →401–500 of 1,053, ranked by callers