mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-18 23:11:12 +02:00
Video/general search is login-walled for anonymous sessions, but the Users tab (/api/search/user) returns public account records without a redirect, so this exposes the one reliably-unblocked search path. A keyword yields TikTokProfileItems (name, followers, bio, verification), deduped per query, capped, and degraded to an ErrorItem when a query is empty/withheld. Reuses the browser capture (generalized over XHR markers + extractor) and the shared profile item shape. Billed per account on a new TIKTOK_USER meter (TIKTOK_MICROS_PER_USER), surfaced on the chat subagent alongside tiktok.scrape.
26 lines
897 B
Python
26 lines
897 B
Python
"""``tiktok.user_search`` capability registration (billed per account; see config
|
|
``TIKTOK_MICROS_PER_USER``)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from app.capabilities.core import BillingUnit, Capability, register_capability
|
|
from app.capabilities.tiktok.user_search.executor import build_user_search_executor
|
|
from app.capabilities.tiktok.user_search.schemas import (
|
|
UserSearchInput,
|
|
UserSearchOutput,
|
|
)
|
|
|
|
TIKTOK_USER_SEARCH = Capability(
|
|
name="tiktok.user_search",
|
|
description=(
|
|
"Find public TikTok accounts by keyword. Returns profile metadata "
|
|
"(name, followers, bio, verification) per matching account."
|
|
),
|
|
input_schema=UserSearchInput,
|
|
output_schema=UserSearchOutput,
|
|
executor=build_user_search_executor(),
|
|
billing_unit=BillingUnit.TIKTOK_USER,
|
|
docs_url="/docs/connectors/native/tiktok",
|
|
)
|
|
|
|
register_capability(TIKTOK_USER_SEARCH)
|