/** * xopc Extension SDK * * Official SDK for developing xopc extensions. * Import types and utilities from this module: * * @example * import type { ExtensionApi, ExtensionDefinition } from '@xopcai/xopc/extension-sdk'; */ export type { ExtensionDefinition, ExtensionModule, ExtensionKind, ExtensionApi, ExtensionLogger, ExtensionManifest, ExtensionRecord, ExtensionRegistry, ResolvedExtensionConfig, ExtensionRuntime, ExtensionCliRegistration, } from '../types/index.js'; export type { AgentTool, AgentToolResult, AgentToolUpdateCallback, ToolExecutionStartEvent, ToolExecutionUpdateEvent, ToolExecutionEndEvent, } from '../types/index.js'; export type { ExtensionHookEvent, ExtensionHookHandler, HookOptions, HookAgentContext, AgentMessage, ContextEvent, ContextResult, InputEvent, InputResult, TurnEvent, TurnResult, HookHandlerMap, HookExecutionMode, HookBeforeModelResolveEvent, HookBeforeModelResolveResult, HookBeforePromptBuildEvent, HookBeforePromptBuildResult, HookLlmInputEvent, HookLlmOutputEvent, HookInboundClaimEvent, HookInboundClaimResult, HookBeforeResetEvent, HookBeforeResetResult, HookBeforeMessageWriteEvent, HookBeforeMessageWriteResult, HookTurnStartEvent, HookTurnEndEvent, HookToolExecutionStartEvent, HookToolExecutionUpdateEvent, HookToolExecutionEndEvent, HookContext, BeforeAgentStartContext, BeforeAgentStartResult, AgentEndContext, WebchatTurnCompleteEvent, BeforeCompactionContext, AfterCompactionContext, MessageReceivedContext, MessageSendingContext, MessageSendingResult, MessageSentContext, BeforeToolCallContext, BeforeToolCallResult, AfterToolCallContext, SessionStartContext, SessionEndContext, GatewayStartContext, GatewayStopContext, } from '../types/index.js'; export type { EventMap, RequestMap, EventHandler, EventHandlerMeta, RequestHandler, RequestHandlerMeta, WildcardEventHandler, WildcardHandlerMeta, TypedEventBusOptions, RequestOptions, } from '../types/index.js'; export type { ProviderPlugin, ProviderModelDefinition, ProviderCapabilities, ProviderStreamParams, ProviderStreamChunk, ProviderCompleteParams, ProviderResponse, ProviderRegistry, BUILTIN_PROVIDERS, BuiltinProviderId, } from '../types/index.js'; export type { ProviderConfig, ModelConfig, OAuthConfig, OAuthCallbacks, OAuthCredentials, FlagConfig, FlagValue, ShortcutConfig, ShortcutHandler, } from '../types/index.js'; export type { TuiExtensionHostContract, TuiExtensionRegistrar, TuiAutocompleteProvider, TuiAutocompleteSuggestion, TuiToolRenderer, TuiToolRenderContext, TuiSlashCommandHandler, TuiNotifyLevel, } from '../types/index.js'; export type { SafetyCheckResult, SecurityConfig, ExtensionSourceOrigin, ProvenanceInfo, } from '../security.js'; export type { SlotKey, SlotClaim, SlotConfig, } from '../slots.js'; export type { DiagnosticLevel, ExtensionDiagnostic, ExtensionLoaderCache, } from '../diagnostics.js'; export type { ChannelPlugin, ChannelPluginInitOptions, ChannelPluginStartOptions, } from '../../channels/plugin-types.js'; export type { HttpRequestHandler, HttpRequest, HttpResponse, } from '../types/index.js'; export type { ExtensionCommand, ExtensionCommandHandler, ExtensionCommandContext, ExtensionCommandResult, ExtensionReloadHandler, ExtensionReloadResult, ExtensionReloadRegistration, } from '../types/index.js'; export type { ExtensionService, } from '../types/index.js'; export type { GatewayMethodHandler, } from '../types/index.js'; export { TypedEventBus } from '../typed-event-bus.js'; export { ExtensionRegistryImpl } from '../loader.js'; export { ProviderPluginRegistry, getProviderRegistry } from '../../providers/plugin-registry.js'; export { SlotRegistry, getSlotRegistry, registerSlotType } from '../slots.js'; export { HOOK_EXECUTION_MODES } from '../types/hooks.js'; export { defineChannelPluginEntry } from './channel-entry.js'; export { registerExtensionCliProgram } from './channel-helpers.js'; export { ExtensionHookRunner, createHookContext, isHookEvent } from '../hooks.js'; export { checkExtensionPathSafety, checkExtensionDirSafety, isExtensionAllowed, provenanceTracker, logSecurityIssue, DEFAULT_SECURITY_CONFIG, } from '../security.js'; export { getExtensionCache, getExtensionDiagnostics, ExtensionLoaderCacheImpl, ExtensionDiagnostics, } from '../diagnostics.js'; export type { Config } from '../../config/config-surface.js'; export { lazyModule, lazyFunction } from './lazy.js'; export { createMockExtensionApi, createTestGateway } from './testing.js'; export type { MockExtensionApi, MockExtensionApiOptions, TestGateway, } from './testing.js';