/** * @majk/plugin-kit v3.7.13 * * Pure plugin definition library for MAJK. Outputs plugin definitions (data structures), * not HTTP servers. HTTP serving is managed by MAJK. * * Key features: * - Type-safe function, tool, and screen definitions * - Async Plugin interface for lazy loading and hot reload * - ResourceProvider abstraction for asset access * - Compile-time and build-time validation * - Clear, actionable error messages * - React SPA and HTML screen support * - Entity, tool, and function declarations * - Lifecycle hooks with cleanup management * - Interceptor capability for message and tool interception */ export { definePlugin, FluentBuilder, ServiceBuilder, InterceptorBuilder, SkillDefinitionConfig, ProtocolDefinitionConfig } from './plugin-kit'; export { FunctionRegistryImpl, FunctionProviderImpl } from './registry'; export { FilesystemResourceProvider } from './resource-provider'; export { generateClient } from './generator/generator'; /** * Service Discovery Utilities * * Helper functions for discovering services that implement specific interfaces at runtime. * Uses ctx.capabilities to query installed plugins and filter by interface implementation. */ export declare const ServiceDiscovery: { /** * Find all installed services that implement a specific interface * * @param ctx - Plugin context with capabilities API * @param interfacePackage - Interface package identifier (e.g., "@majk/service-registry/task-service") * @returns Array of CapabilityMetadata for services implementing the interface * * @example * const openaiServices = await ServiceDiscovery.findImplementations( * ctx, * '@majk/service-registry/openai-services' * ); * * if (openaiServices.length > 0) { * const service = await ctx.rpc.createProxy(openaiServices[0].serviceName); * const result = await service.prompt({ message: 'Hello!' }); * } */ findImplementations(ctx: any, interfacePackage: string): Promise; /** * Find the first service that implements a specific interface * * @param ctx - Plugin context with capabilities API * @param interfacePackage - Interface package identifier * @returns CapabilityMetadata for the first matching service, or undefined if none found * * @example * const taskService = await ServiceDiscovery.findFirst( * ctx, * '@majk/service-registry/task-service' * ); * * if (taskService) { * const service = await ctx.rpc.createProxy(taskService.serviceName); * await service.createTask({ title: 'New task' }); * } */ findFirst(ctx: any, interfacePackage: string): Promise; /** * Create an RPC proxy for the first service implementing an interface * * @param ctx - Plugin context with capabilities and RPC APIs * @param interfacePackage - Interface package identifier * @returns RPC proxy to the service, or undefined if no implementation found * * @example * const openai = await ServiceDiscovery.resolve( * ctx, * '@majk/service-registry/openai-services' * ); * * if (openai) { * const result = await openai.prompt({ message: 'Hello!' }); * } else { * throw new Error('No OpenAI service implementation found'); * } */ resolve(ctx: any, interfacePackage: string): Promise; /** * Create an RPC proxy for a service implementing an interface, or throw an error * * @param ctx - Plugin context with capabilities and RPC APIs * @param interfacePackage - Interface package identifier * @returns RPC proxy to the service * @throws Error if no implementation is found * * @example * const storage = await ServiceDiscovery.resolveOrThrow( * ctx, * '@majk/service-registry/storage-service' * ); * * // Guaranteed to be defined - will throw if not found * await storage.save({ key: 'data', value: '...' }); */ resolveOrThrow(ctx: any, interfacePackage: string): Promise; }; export type { PluginContext, PluginLogger, PluginStorage, ScopedTimers, ScopedIpcRegistry, PluginCapabilities, PluginCapability, ToolImplementation, InProcessPlugin, PluginHealthStatus, ToolSpec, ToolHandler, ApiMethod, ApiRouteDef, JsonSchema, RouteHandler, RequestLike, ResponseLike, UiConfig, HistoryMode, ScreenBase, ReactScreen, HtmlScreen, ConfigWizardDef, SettingsDef, Scope, EntityType, CleanupFn, HealthCheckFn, MCPServerEntity, TeamMemberEntity, ServiceFunctionBinding, CallbackHandle, CreateCallbackOptions, CallbackStats, FunctionHandler, SubscriptionHandler, FunctionDefinition, SubscriptionDefinition, FunctionRegistry, ClientGenerationConfig, Plugin, FunctionProvider, ResourceProvider, FunctionInfo, AsyncPluginHealthStatus, ServiceCapability, ServiceMetadata, ServiceFunctionMetadata, ServiceParameterMetadata, ServiceReturnMetadata, FunctionEnrichment, IdentityDefinitionCapability, IdentityProviderInfo, IdentitySetupInstructions, IdentityTestConfig, IdentityRequirement, SkillContext, SkillSetupFn, SkillTeardownFn, SkillServiceFunctionRef, SkillCapability, ProtocolRequest, ProtocolResponse, ProtocolAction, ProtocolHandlerDef, ProtocolCapability, InterceptorCapability, InterceptorDeclaration, MessageInterceptorConfig, ToolInterceptorConfig, MessageInterceptorFilters, ToolInterceptorFilters, BaseInterceptorFilters } from './types'; export type { MajkInterface, EntityId, Unsubscribe, BaseEntity, StandardEventType, PluginEventType, RepositoryEventType, EntityType as MajkEntityType, RepositoryEvent, EventFilter, EventListener, Subscription, QueryBuilder, QueryableEventChannel, EventBusAPI, PluginInfo, PluginHealth, PluginCapabilityInfo, PluginLog, InstallPluginOptions, InstallPluginResult, GetLogsOptions, GetPluginExternalUrlOptions, GetPluginScreenUrlOptions, PluginManagementAPI, SecretScope, SecretInfo, ScopedSecretsAPI, SecretsAPI, StartTaskRequest, TaskFilter, TaskMessage, TaskProgress, TaskResult, TaskError, TaskHandle, TaskEventHandler, TaskEvent, TaskAPI, AccountType, AccountMetadata, TimeWindow, CredentialOptions, RefreshOptions, RefreshResult, ValidationResult, TokenInfo, AutoRefreshConfig, AutoRefreshHandle, AwsSdkCredentials, CognitoTokenSet, AzureSdkCredentials, AccountJSON, AwsCognitoCredentials, AzureEntraCredentials, ApiKeyCredentials, SystemDefaultCredentials, Credentials, SystemAccount, OAuthAccount, AwsAccount, AzureAccount, AuthEvent, AuthStateChangeEvent, AuthTokenRefreshedEvent, AuthErrorEvent, AccountChangedEvent, AuthAPI, Message, Conversation, Agent, TeamMember, TeamMemberSkills, TeamMemberPersonality, TeamMemberCodeStats, TeamMemberMetadata, ServiceFunctionBinding as MajkServiceFunctionBinding, Todo, WorkStrategy, Project, MCPServer, ConversationFilter, MessageQueryOptions, ConversationHandle, ConversationAPI, CreateTeammateRequest, TeammateUpdate, TeammateFilter, TeammateHandle, TeammateAPI, CreateTodoRequest, TodoUpdate, TodoFilter, SpawnOptions, TodoHandle, TodoAPI, CreateProjectRequest, ProjectUpdate, ProjectFilter, ProjectHandle, ProjectAPI, CreateMCPServerRequest, MCPServerUpdate, MCPServerFilter, ConnectionTestResult, MCPServerHandle, MCPServerScopedHandle, DiscoveredTool, MCPServerAPI, EverywhereScope, EverywhereScopedHandle, CreateAgentRequest, AgentUpdate, AgentFilter, TestResult, AgentHandle, AgentAPI, AddKnowledgeInput, KnowledgeNode, KnowledgeTree, KnowledgeSearchOptions, KnowledgeAPI, AIAPI, AIProvider, AIProviderCapabilities, AIProviderError, LLMInterface, ModelInfo, AIMessage, ContentBlock, PromptParams, PromptResult, PromptChunk, AIFunctionDefinition, AIJsonSchema, FunctionCallParams, FunctionCallResult, ImageGenerationParams, ImageResult, TranscriptionParams, TranscriptionResult, ProviderStatus, SkillsAPI, SkillContext as MajkSkillContext, SkillSetupFn as MajkSkillSetupFn, SkillTeardownFn as MajkSkillTeardownFn, SkillDefinition, RuntimeSkill, Skill, SkillSummary, AddSkillInput, UpdateSkillInput, SearchSkillsInput, EnableSkillInput, DisableSkillInput, DeleteSkillInput, ListSkillsResult, SearchSkillsResult, EnableSkillResult, AddSkillResult, UpdateSkillResult, SkillEventType, SkillEvent, PluginSelfAPI, PluginTeammate, PluginStartChatOptions, PluginChatHandle, PluginSubscription, PluginMessage, PluginConversationSummary, PluginConversationFilter, PluginMessageEvent } from './majk-interface-types'; //# sourceMappingURL=index.d.ts.map