Tools & Plugins / Plugins
Plugin SDK subpaths
The plugin SDK is exposed as a set of narrow subpaths under genesis/plugin-sdk/.
This page catalogs the commonly used subpaths grouped by purpose. The generated
full list of 200+ subpaths lives in scripts/lib/plugin-sdk-entrypoints.json;
reserved bundled-plugin helper subpaths appear there but are implementation
detail unless a doc page explicitly promotes them.
For the plugin authoring guide, see Plugin SDK overview.
Plugin entry
| Subpath | Key exports |
|---|---|
plugin-sdk/plugin-entry |
definePluginEntry |
plugin-sdk/core |
defineChannelPluginEntry, createChatChannelPlugin, createChannelPluginBase, defineSetupPluginEntry, buildChannelConfigSchema |
plugin-sdk/config-schema |
GenesisSchema |
plugin-sdk/provider-entry |
defineSingleProviderPluginEntry |
Channel subpaths
| Subpath | Key exports |
|---|---|
plugin-sdk/channel-core |
defineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase |
plugin-sdk/config-schema |
Root genesis.json Zod schema export (GenesisSchema) |
plugin-sdk/channel-setup |
createOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard, plus DEFAULT_ACCOUNT_ID, createTopLevelChannelDmPolicy, setSetupChannelEnabled, splitSetupEntries |
plugin-sdk/setup |
Shared setup wizard helpers, allowlist prompts, setup status builders |
plugin-sdk/setup-runtime |
createPatchedAccountSetupAdapter, createEnvPatchedAccountSetupAdapter, createSetupInputPresenceValidator, noteChannelLookupFailure, noteChannelLookupSummary, promptResolvedAllowFrom, splitSetupEntries, createAllowlistSetupWizardProxy, createDelegatedSetupWizardProxy |
plugin-sdk/setup-adapter-runtime |
createEnvPatchedAccountSetupAdapter |
plugin-sdk/setup-tools |
formatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR |
plugin-sdk/account-core |
Multi-account config/action-gate helpers, default-account fallback helpers |
plugin-sdk/account-id |
DEFAULT_ACCOUNT_ID, account-id normalization helpers |
plugin-sdk/account-resolution |
Account lookup + default-fallback helpers |
plugin-sdk/account-helpers |
Narrow account-list/account-action helpers |
plugin-sdk/channel-pairing |
createChannelPairingController |
plugin-sdk/channel-reply-pipeline |
createChannelReplyPipeline |
plugin-sdk/channel-config-helpers |
createHybridChannelConfigAdapter |
plugin-sdk/channel-config-schema |
Channel config schema types |
plugin-sdk/telegram-command-config |
Telegram custom-command normalization/validation helpers with bundled-contract fallback |
plugin-sdk/command-gating |
Narrow command authorization gate helpers |
plugin-sdk/channel-policy |
resolveChannelGroupRequireMention |
plugin-sdk/channel-lifecycle |
createAccountStatusSink, draft stream lifecycle/finalization helpers |
plugin-sdk/inbound-envelope |
Shared inbound route + envelope builder helpers |
plugin-sdk/inbound-reply-dispatch |
Shared inbound record-and-dispatch helpers |
plugin-sdk/messaging-targets |
Target parsing/matching helpers |
plugin-sdk/outbound-media |
Shared outbound media loading helpers |
plugin-sdk/outbound-runtime |
Outbound delivery, identity, send delegate, session, formatting, and payload planning helpers |
plugin-sdk/poll-runtime |
Narrow poll normalization helpers |
plugin-sdk/thread-bindings-runtime |
Thread-binding lifecycle and adapter helpers |
plugin-sdk/agent-media-payload |
Legacy agent media payload builder |
plugin-sdk/conversation-runtime |
Conversation/thread binding, pairing, and configured-binding helpers |
plugin-sdk/runtime-config-snapshot |
Runtime config snapshot helper |
plugin-sdk/runtime-group-policy |
Runtime group-policy resolution helpers |
plugin-sdk/channel-status |
Shared channel status snapshot/summary helpers |
plugin-sdk/channel-config-primitives |
Narrow channel config-schema primitives |
plugin-sdk/channel-config-writes |
Channel config-write authorization helpers |
plugin-sdk/channel-plugin-common |
Shared channel plugin prelude exports |
plugin-sdk/allowlist-config-edit |
Allowlist config edit/read helpers |
plugin-sdk/group-access |
Shared group-access decision helpers |
plugin-sdk/direct-dm |
Shared direct-DM auth/guard helpers |
plugin-sdk/interactive-runtime |
Semantic message presentation, delivery, and legacy interactive reply helpers. See Message Presentation |
plugin-sdk/channel-inbound |
Compatibility barrel for inbound debounce, mention matching, mention-policy helpers, and envelope helpers |
plugin-sdk/channel-inbound-debounce |
Narrow inbound debounce helpers |
plugin-sdk/channel-mention-gating |
Narrow mention-policy and mention text helpers without the broader inbound runtime surface |
plugin-sdk/channel-envelope |
Narrow inbound envelope formatting helpers |
plugin-sdk/channel-location |
Channel location context and formatting helpers |
plugin-sdk/channel-logging |
Channel logging helpers for inbound drops and typing/ack failures |
plugin-sdk/channel-send-result |
Reply result types |
plugin-sdk/channel-actions |
Channel message-action helpers, plus deprecated native schema helpers kept for plugin compatibility |
plugin-sdk/channel-targets |
Target parsing/matching helpers |
plugin-sdk/channel-contract |
Channel contract types |
plugin-sdk/channel-feedback |
Feedback/reaction wiring |
plugin-sdk/channel-secret-runtime |
Narrow secret-contract helpers such as collectSimpleChannelFieldAssignments, getChannelSurface, pushAssignment, and secret target types |
Provider subpaths
| Subpath | Key exports |
|---|---|
plugin-sdk/provider-entry |
defineSingleProviderPluginEntry |
plugin-sdk/provider-setup |
Curated local/self-hosted provider setup helpers |
plugin-sdk/self-hosted-provider-setup |
Focused OpenAI-compatible self-hosted provider setup helpers |
plugin-sdk/cli-backend |
CLI backend defaults + watchdog constants |
plugin-sdk/provider-auth-runtime |
Runtime API-key resolution helpers for provider plugins |
plugin-sdk/provider-auth-api-key |
API-key onboarding/profile-write helpers such as upsertApiKeyProfile |
plugin-sdk/provider-auth-result |
Standard OAuth auth-result builder |
plugin-sdk/provider-auth-login |
Shared interactive login helpers for provider plugins |
plugin-sdk/provider-env-vars |
Provider auth env-var lookup helpers |
plugin-sdk/provider-auth |
createProviderApiKeyAuthMethod, ensureApiKeyFromOptionEnvOrPrompt, upsertAuthProfile, upsertApiKeyProfile, writeOAuthCredentials |
plugin-sdk/provider-model-shared |
ProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat, shared replay-policy builders, provider-endpoint helpers, and model-id normalization helpers such as normalizeNativeXaiModelId |
plugin-sdk/provider-catalog-shared |
findCatalogTemplate, buildSingleProviderApiKeyCatalog, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat |
plugin-sdk/provider-http |
Generic provider HTTP/endpoint capability helpers, provider HTTP errors, and audio transcription multipart form helpers |
plugin-sdk/provider-web-fetch-contract |
Narrow web-fetch config/selection contract helpers such as enablePluginInConfig and WebFetchProviderPlugin |
plugin-sdk/provider-web-fetch |
Web-fetch provider registration/cache helpers |
plugin-sdk/provider-web-search-config-contract |
Narrow web-search config/credential helpers for providers that do not need plugin-enable wiring |
plugin-sdk/provider-web-search-contract |
Narrow web-search config/credential contract helpers such as createWebSearchProviderContractFields, enablePluginInConfig, resolveProviderWebSearchPluginConfig, and scoped credential setters/getters |
plugin-sdk/provider-web-search |
Web-search provider registration/cache/runtime helpers |
plugin-sdk/provider-tools |
ProviderToolCompatFamily, buildProviderToolCompatFamilyHooks, Gemini schema cleanup + diagnostics, and xAI compat helpers such as resolveXaiModelCompatPatch / applyXaiModelCompat |
plugin-sdk/provider-usage |
fetchClaudeUsage and similar |
plugin-sdk/provider-stream |
ProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers, stream wrapper types, and shared Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot wrapper helpers |
plugin-sdk/provider-transport-runtime |
Native provider transport helpers such as guarded fetch, transport message transforms, and writable transport event streams |
plugin-sdk/provider-onboard |
Onboarding config patch helpers |
plugin-sdk/global-singleton |
Process-local singleton/map/cache helpers |
plugin-sdk/group-activation |
Narrow group activation mode and command parsing helpers |
Auth and security subpaths
| Subpath | Key exports |
|---|---|
plugin-sdk/command-auth |
resolveControlCommandGate, command registry helpers, sender-authorization helpers |
plugin-sdk/command-status |
Command/help message builders such as buildCommandsMessagePaginated and buildHelpMessage |
plugin-sdk/approval-auth-runtime |
Approver resolution and same-chat action-auth helpers |
plugin-sdk/approval-client-runtime |
Native exec approval profile/filter helpers |
plugin-sdk/approval-delivery-runtime |
Native approval capability/delivery adapters |
plugin-sdk/approval-gateway-runtime |
Shared approval gateway-resolution helper |
plugin-sdk/approval-handler-adapter-runtime |
Lightweight native approval adapter loading helpers for hot channel entrypoints |
plugin-sdk/approval-handler-runtime |
Broader approval handler runtime helpers; prefer the narrower adapter/gateway seams when they are enough |
plugin-sdk/approval-native-runtime |
Native approval target + account-binding helpers |
plugin-sdk/approval-reply-runtime |
Exec/plugin approval reply payload helpers |
plugin-sdk/approval-runtime |
Exec/plugin approval payload helpers, native approval routing/runtime helpers, and structured approval display helpers such as formatApprovalDisplayPath |
plugin-sdk/reply-dedupe |
Narrow inbound reply dedupe reset helpers |
plugin-sdk/channel-contract-testing |
Narrow channel contract test helpers without the broad testing barrel |
plugin-sdk/command-auth-native |
Native command auth + native session-target helpers |
plugin-sdk/command-detection |
Shared command detection helpers |
plugin-sdk/command-primitives-runtime |
Lightweight command text predicates for hot channel paths |
plugin-sdk/command-surface |
Command-body normalization and command-surface helpers |
plugin-sdk/allow-from |
formatAllowFromLowercase |
plugin-sdk/channel-secret-runtime |
Narrow secret-contract collection helpers for channel/plugin secret surfaces |
plugin-sdk/secret-ref-runtime |
Narrow coerceSecretRef and SecretRef typing helpers for secret-contract/config parsing |
plugin-sdk/security-runtime |
Shared trust, DM gating, external-content, and secret-collection helpers |
plugin-sdk/ssrf-policy |
Host allowlist and private-network SSRF policy helpers |
plugin-sdk/ssrf-dispatcher |
Narrow pinned-dispatcher helpers without the broad infra runtime surface |
plugin-sdk/ssrf-runtime |
Pinned-dispatcher, SSRF-guarded fetch, and SSRF policy helpers |
plugin-sdk/secret-input |
Secret input parsing helpers |
plugin-sdk/webhook-ingress |
Webhook request/target helpers |
plugin-sdk/webhook-request-guards |
Request body size/timeout helpers |
Runtime and storage subpaths
| Subpath | Key exports |
|---|---|
plugin-sdk/runtime |
Broad runtime/logging/backup/plugin-install helpers |
plugin-sdk/runtime-env |
Narrow runtime env, logger, timeout, retry, and backoff helpers |
plugin-sdk/channel-runtime-context |
Generic channel runtime-context registration and lookup helpers |
plugin-sdk/runtime-store |
createPluginRuntimeStore |
plugin-sdk/plugin-runtime |
Shared plugin command/hook/http/interactive helpers |
plugin-sdk/hook-runtime |
Shared webhook/internal hook pipeline helpers |
plugin-sdk/lazy-runtime |
Lazy runtime import/binding helpers such as createLazyRuntimeModule, createLazyRuntimeMethod, and createLazyRuntimeSurface |
plugin-sdk/process-runtime |
Process exec helpers |
plugin-sdk/cli-runtime |
CLI formatting, wait, and version helpers |
plugin-sdk/gateway-runtime |
Gateway client and channel-status patch helpers |
plugin-sdk/config-runtime |
Config load/write helpers and plugin-config lookup helpers |
plugin-sdk/telegram-command-config |
Telegram command-name/description normalization and duplicate/conflict checks, even when the bundled Telegram contract surface is unavailable |
plugin-sdk/wallet-runtime |
Browser-host seam for the injected web3 wallet provider: handleWalletWeb3Request, WalletWeb3Error |
plugin-sdk/text-autolink-runtime |
File-reference autolink detection without the broad text-runtime barrel |
plugin-sdk/approval-runtime |
Exec/plugin approval helpers, approval-capability builders, auth/profile helpers, native routing/runtime helpers, and structured approval display path formatting |
plugin-sdk/reply-runtime |
Shared inbound/reply runtime helpers, chunking, dispatch, heartbeat, reply planner |
plugin-sdk/reply-dispatch-runtime |
Narrow reply dispatch/finalize and conversation-label helpers |
plugin-sdk/reply-history |
Shared short-window reply-history helpers such as buildHistoryContext, recordPendingHistoryEntry, and clearHistoryEntriesIfEnabled |
plugin-sdk/reply-reference |
createReplyReferencePlanner |
plugin-sdk/reply-chunking |
Narrow text/markdown chunking helpers |
plugin-sdk/session-store-runtime |
Session store path + updated-at helpers |
plugin-sdk/state-paths |
State/OAuth dir path helpers |
plugin-sdk/routing |
Route/session-key/account binding helpers such as resolveAgentRoute, buildAgentSessionKey, and resolveDefaultAgentBoundAccountId |
plugin-sdk/status-helpers |
Shared channel/account status summary helpers, runtime-state defaults, and issue metadata helpers |
plugin-sdk/target-resolver-runtime |
Shared target resolver helpers |
plugin-sdk/string-normalization-runtime |
Slug/string normalization helpers |
plugin-sdk/request-url |
Extract string URLs from fetch/request-like inputs |
plugin-sdk/run-command |
Timed command runner with normalized stdout/stderr results |
plugin-sdk/param-readers |
Common tool/CLI param readers |
plugin-sdk/tool-payload |
Extract normalized payloads from tool result objects |
plugin-sdk/tool-send |
Extract canonical send target fields from tool args |
plugin-sdk/temp-path |
Shared temp-download path helpers |
plugin-sdk/logging-core |
Subsystem logger and redaction helpers |
plugin-sdk/markdown-table-runtime |
Markdown table mode and conversion helpers |
plugin-sdk/json-store |
Small JSON state read/write helpers |
plugin-sdk/file-lock |
Re-entrant file-lock helpers |
plugin-sdk/persistent-dedupe |
Disk-backed dedupe cache helpers |
plugin-sdk/acp-runtime |
ACP runtime/session and reply-dispatch helpers |
plugin-sdk/acp-binding-resolve-runtime |
Read-only ACP binding resolution without lifecycle startup imports |
plugin-sdk/agent-config-primitives |
Narrow agent runtime config-schema primitives |
plugin-sdk/boolean-param |
Loose boolean param reader |
plugin-sdk/dangerous-name-runtime |
Dangerous-name matching resolution helpers |
plugin-sdk/device-bootstrap |
Device bootstrap and pairing token helpers |
plugin-sdk/extension-shared |
Shared passive-channel, status, and ambient proxy helper primitives |
plugin-sdk/models-provider-runtime |
/models command/provider reply helpers |
plugin-sdk/skill-commands-runtime |
Skill command listing helpers |
plugin-sdk/native-command-registry |
Native command registry/build/serialize helpers |
plugin-sdk/agent-harness |
Experimental trusted-plugin surface for low-level agent harnesses: harness types, active-run steer/abort helpers, Genesis tool bridge helpers, tool progress formatting/detail helpers, and attempt result utilities |
plugin-sdk/provider-zai-endpoint |
Z.AI endpoint detection helpers |
plugin-sdk/infra-runtime |
System event/heartbeat helpers |
plugin-sdk/collection-runtime |
Small bounded cache helpers |
plugin-sdk/diagnostic-runtime |
Diagnostic flag and event helpers |
plugin-sdk/error-runtime |
Error graph, formatting, shared error classification helpers, isApprovalNotFoundError |
plugin-sdk/fetch-runtime |
Wrapped fetch, proxy, and pinned lookup helpers |
plugin-sdk/runtime-fetch |
Dispatcher-aware runtime fetch without proxy/guarded-fetch imports |
plugin-sdk/response-limit-runtime |
Bounded response-body reader without the broad media runtime surface |
plugin-sdk/session-binding-runtime |
Current conversation binding state without configured binding routing or pairing stores |
plugin-sdk/session-store-runtime |
Session-store read helpers without broad config writes/maintenance imports |
plugin-sdk/context-visibility-runtime |
Context visibility resolution and supplemental context filtering without broad config/security imports |
plugin-sdk/string-coerce-runtime |
Narrow primitive record/string coercion and normalization helpers without markdown/logging imports |
plugin-sdk/host-runtime |
Hostname and SCP host normalization helpers |
plugin-sdk/retry-runtime |
Retry config and retry runner helpers |
plugin-sdk/agent-runtime |
Agent dir/identity/workspace helpers |
plugin-sdk/directory-runtime |
Config-backed directory query/dedup |
plugin-sdk/keyed-async-queue |
KeyedAsyncQueue |
Capability and testing subpaths
| Subpath | Key exports |
|---|---|
plugin-sdk/media-runtime |
Shared media fetch/transform/store helpers plus media payload builders |
plugin-sdk/media-store |
Narrow media store helpers such as saveMediaBuffer |
plugin-sdk/media-generation-runtime |
Shared media-generation failover helpers, candidate selection, and missing-model messaging |
plugin-sdk/media-understanding |
Media understanding provider types plus provider-facing image/audio helper exports |
plugin-sdk/text-runtime |
Shared text/markdown/logging helpers such as assistant-visible-text stripping, markdown render/chunking/table helpers, redaction helpers, directive-tag helpers, and safe-text utilities |
plugin-sdk/text-chunking |
Outbound text chunking helper |
plugin-sdk/speech |
Speech provider types plus provider-facing directive, registry, validation, and speech helper exports |
plugin-sdk/speech-core |
Shared speech provider types, registry, directive, normalization, and speech helper exports |
plugin-sdk/realtime-transcription |
Realtime transcription provider types, registry helpers, and shared WebSocket session helper |
plugin-sdk/realtime-voice |
Realtime voice provider types and registry helpers |
plugin-sdk/image-generation |
Image generation provider types |
plugin-sdk/image-generation-core |
Shared image-generation types, failover, auth, and registry helpers |
plugin-sdk/music-generation |
Music generation provider/request/result types |
plugin-sdk/music-generation-core |
Shared music-generation types, failover helpers, provider lookup, and model-ref parsing |
plugin-sdk/video-generation |
Video generation provider/request/result types |
plugin-sdk/video-generation-core |
Shared video-generation types, failover helpers, provider lookup, and model-ref parsing |
plugin-sdk/webhook-targets |
Webhook target registry and route-install helpers |
plugin-sdk/webhook-path |
Webhook path normalization helpers |
plugin-sdk/web-media |
Shared remote/local media loading helpers |
plugin-sdk/zod |
Re-exported zod for plugin SDK consumers |
plugin-sdk/testing |
installCommonResolveTargetErrorCases, shouldAckReaction |
Memory subpaths
| Subpath | Key exports |
|---|---|
plugin-sdk/memory-core |
Bundled memory-core helper surface for manager/config/file/CLI helpers |
plugin-sdk/memory-core-engine-runtime |
Memory index/search runtime facade |
plugin-sdk/memory-core-host-engine-foundation |
Memory host foundation engine exports |
plugin-sdk/memory-core-host-engine-embeddings |
Memory host embedding contracts, registry access, local provider, and generic batch/remote helpers |
plugin-sdk/memory-core-host-engine-qmd |
Memory host QMD engine exports |
plugin-sdk/memory-core-host-engine-storage |
Memory host storage engine exports |
plugin-sdk/memory-core-host-multimodal |
Memory host multimodal helpers |
plugin-sdk/memory-core-host-query |
Memory host query helpers |
plugin-sdk/memory-core-host-secret |
Memory host secret helpers |
plugin-sdk/memory-core-host-events |
Memory host event journal helpers |
plugin-sdk/memory-core-host-status |
Memory host status helpers |
plugin-sdk/memory-core-host-runtime-cli |
Memory host CLI runtime helpers |
plugin-sdk/memory-core-host-runtime-core |
Memory host core runtime helpers |
plugin-sdk/memory-core-host-runtime-files |
Memory host file/runtime helpers |
plugin-sdk/memory-host-core |
Vendor-neutral alias for memory host core runtime helpers |
plugin-sdk/memory-host-events |
Vendor-neutral alias for memory host event journal helpers |
plugin-sdk/memory-host-files |
Vendor-neutral alias for memory host file/runtime helpers |
plugin-sdk/memory-host-markdown |
Shared managed-markdown helpers for memory-adjacent plugins |
plugin-sdk/memory-host-search |
Active memory runtime facade for search-manager access |
plugin-sdk/memory-host-status |
Vendor-neutral alias for memory host status helpers |
plugin-sdk/memory-lancedb |
Bundled memory-lancedb helper surface |
Reserved bundled-helper subpaths
| Family | Current subpaths | Intended use |
|---|---|---|
| Browser | plugin-sdk/browser-cdp, plugin-sdk/browser-config-runtime, plugin-sdk/browser-config-support, plugin-sdk/browser-control-auth, plugin-sdk/browser-node-runtime, plugin-sdk/browser-profiles, plugin-sdk/browser-security-runtime, plugin-sdk/browser-setup-tools, plugin-sdk/browser-support |
Bundled browser plugin support helpers. browser-profiles exports resolveBrowserConfig, resolveProfile, ResolvedBrowserConfig, ResolvedBrowserProfile, and ResolvedBrowserTabCleanupConfig for the normalized browser.tabCleanup shape. browser-support remains the compatibility barrel. |
| Matrix | plugin-sdk/matrix, plugin-sdk/matrix-helper, plugin-sdk/matrix-runtime-heavy, plugin-sdk/matrix-runtime-shared, plugin-sdk/matrix-runtime-surface, plugin-sdk/matrix-surface, plugin-sdk/matrix-thread-bindings |
Bundled Matrix helper/runtime surface |
| Line | plugin-sdk/line, plugin-sdk/line-core, plugin-sdk/line-runtime, plugin-sdk/line-surface |
Bundled LINE helper/runtime surface |
| IRC | plugin-sdk/irc, plugin-sdk/irc-surface |
Bundled IRC helper surface |
| Channel-specific helpers | plugin-sdk/googlechat, plugin-sdk/zalouser, plugin-sdk/bluebubbles, plugin-sdk/bluebubbles-policy, plugin-sdk/mattermost, plugin-sdk/mattermost-policy, plugin-sdk/feishu-conversation, plugin-sdk/msteams, plugin-sdk/nextcloud-talk, plugin-sdk/nostr, plugin-sdk/tlon, plugin-sdk/twitch |
Bundled channel compatibility/helper seams |
| Auth/plugin-specific helpers | plugin-sdk/github-copilot-login, plugin-sdk/github-copilot-token, plugin-sdk/diagnostics-otel, plugin-sdk/diffs, plugin-sdk/llm-task, plugin-sdk/thread-ownership, plugin-sdk/voice-call |
Bundled feature/plugin helper seams; plugin-sdk/github-copilot-token currently exports DEFAULT_COPILOT_API_BASE_URL, deriveCopilotApiBaseUrlFromToken, and resolveCopilotApiToken |