Versions in this module Expand all Collapse all v0 v0.1.10 Jun 30, 2025 v0.1.9 Jun 16, 2025 Changes in this version + const CustomRuntimeOptionsEnvMcpToolDescriptionKey + const CustomRuntimeOptionsEnvMcpToolNameKey + var DefaultStringSchema = &mcp.ToolInputSchema + var DefaultStringSchemaInfo = &SchemaInfo + var ErrFunctionNotFound = errors.New("function not found") + var ErrNotOurMessage = errors.New("not our message") + func ConvertSchemaToToolInput(schemaInfo *SchemaInfo) (*mcp.ToolInputSchema, error) + func GetPulsarTypeSchema(schemaInfo *SchemaInfo) (pulsar.Schema, error) + type CircuitBreaker struct + func NewCircuitBreaker(threshold int, resetTimeout time.Duration) *CircuitBreaker + func (cb *CircuitBreaker) AllowRequest() bool + func (cb *CircuitBreaker) ForceClose() + func (cb *CircuitBreaker) ForceOpen() + func (cb *CircuitBreaker) GetState() CircuitState + func (cb *CircuitBreaker) GetStateString() string + func (cb *CircuitBreaker) RecordFailure() + func (cb *CircuitBreaker) RecordSuccess() + func (cb *CircuitBreaker) Reset() + func (cb *CircuitBreaker) String() string + type CircuitState int + const StateClosed + const StateHalfOpen + const StateOpen + type FunctionInvoker struct + func NewFunctionInvoker(manager *PulsarFunctionManager) *FunctionInvoker + func (fi *FunctionInvoker) InvokeFunctionAndWait(ctx context.Context, fnTool *FunctionTool, params map[string]interface{}) (*mcp.CallToolResult, error) + type FunctionResult struct + Data string + Error error + type FunctionTool struct + Function *utils.FunctionConfig + InputSchema *SchemaInfo + InputTopic string + Name string + OutputSchema *SchemaInfo + OutputTopic string + SchemaFetchSuccess bool + Tool mcp.Tool + type ManagerOptions struct + DefaultTimeout time.Duration + FailureThreshold int + PollInterval time.Duration + ResetTimeout time.Duration + StrictExport bool + TenantNamespaces []string + func DefaultManagerOptions() *ManagerOptions + type PulsarFunctionManager struct + func NewPulsarFunctionManager(mcpServer *server.MCPServer, readOnly bool, options *ManagerOptions) (*PulsarFunctionManager, error) + func (m *PulsarFunctionManager) GetProducer(topic string) (pulsar.Producer, error) + func (m *PulsarFunctionManager) Start() + func (m *PulsarFunctionManager) Stop() + type SchemaInfo struct + Definition map[string]interface{} + PulsarSchemaInfo *utils.SchemaInfo + Type string + func GetSchemaFromTopic(admin cmdutils.Client, topic string) (*SchemaInfo, error)