Hooks
The three data hooks take
TapQueryOptions and hand back
TapQueryResult or
TapStorageResult.
UI kit
UI kit props
One props type per component:TapCardProps,
TapPageHeaderProps,
TapStatProps,
TapTableProps,
TapButtonProps,
TapSelectProps,
TapFormProps,
TapDialogProps,
TapSkeletonProps,
TapEmptyStateProps,
TapErrorStateProps.
TapInputProps is the union of
TapSingleLineInputProps
and TapTextareaProps.
TapTable takes its columns as
TapTableColumn or
TapTableColumnDef;
TapForm and formFields produce
TapFormField of a
TapFormFieldKind; cn takes a
ClassValue.
Errors
TapError,
TapServerError,
TAP_ERROR_CODES,
TapErrorCode.
Every code with its fix is on Errors.
Component props
TapWidgetProps,
TapTabProps,
TapPageProps,
TapRowActionProps,
TapSettingsProps.
The bridge
Tap is the object useTap() returns.
Its members: extension, env, host, auth, project, filters, theme, locale,
timezone, format, nav, data, server, state, ui, context, storage,
telemetry, actions, invalidate.
format is TapFormatters;
nav moves along a TapPath, which
names a HostPage; ui raises toasts
of a TapToastTone, asks with
TapConfirmOptions and sends a
TapChatCard; actions returns a
TapActionRun; auth.can takes a
ScopeKey. A widget is anchored at a
SlotId.
TapInternals is the host’s own
channel and is not for vendors.
Filters and units
TapFilters carries a
TapDateRange, a
TapPlatformFilter over
TapPlatform, and a country. A
comparison carries a
TapComparisonSide and a
TapChangeKey. A metric is a
TapSeriesMetric; a mount
renders at a TapSize.
Queries and results
TapQuery and
TapResult, keyed by a
DataQueryKind, with one result
type per kind:
TapProjectResult,
TapSeriesResult,
TapKeywordsResult,
TapListingResult,
TapReviewsResult,
TapCrashesResult,
TapRevenueResult. The rows
they carry are TapApp,
TapRelease,
TapKeyword,
TapListing,
TapReview,
TapCrashIssue,
TapSeriesPoint.
Storage, procedures, actions and events
TapStorage reaches a
TapSingleton or a
TapCollection by
TapSingletonName, typed as
TapSingletonDocument.
TapProcedures,
TapProcedureName,
TapProcedureInput,
TapProcedureOutput;
ActionId,
ActionInput,
ToolId,
ToolInput,
PromptId,
PromptInput;
WebhookName,
WebhookPayload,
TapHostEvents,
HostEventName,
TelemetryEvent;
TapSettingsValues,
TapCredentialValues.
These read the interfaces
tappify extension types fills in:
TapStorageMap,
TapProcedureMap,
TapActionMap,
TapToolMap,
TapPromptMap,
TapWebhookMap,
TapHostEventMap,
TapTelemetryEvents,
TapSettings,
TapCredentials.
Before you generate, each falls back to a permissive shape.
Query keys
dataQueryKey,
procedureQueryKey,
storageQueryKey,
procedurePrefix and
installPrefix build the cache keys
the host uses. You need them only when you reach the query cache directly.
Also shipped
@tappify/extension-sdk/styles.css is the UI kit’s stylesheet. Import it once per entry file.
@tappify/extension-sdk/vite exports tappifyExtension(), which wires a Vite build for the
host, and collectEntryStyles. @tappify/extension-sdk/manifest exports the schema, the
registry constants and defineManifest — see
Manifest schema. @tappify/extension-sdk/host is Tappify’s own
entry and is not for vendors.