You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
waitGroups sync.Map// wait groups for each provider (thread-safe)
39
-
providerMutexes sync.Map// mutexes for each provider to prevent concurrent updates (thread-safe)
40
-
channelMessagePool sync.Pool// Pool for ChannelMessage objects, initial pool size is set in Init
41
-
responseChannelPool sync.Pool// Pool for response channels, initial pool size is set in Init
42
-
errorChannelPool sync.Pool// Pool for error channels, initial pool size is set in Init
43
-
responseStreamPool sync.Pool// Pool for response stream channels, initial pool size is set in Init
44
-
pluginPipelinePool sync.Pool// Pool for PluginPipeline objects
45
-
logger schemas.Logger// logger instance, default logger is used if not provided
46
-
mcpManager*MCPManager// MCP integration manager (nil if MCP not configured)
47
-
dropExcessRequests atomic.Bool// If true, in cases where the queue is full, requests will not wait for the queue to be empty and will be dropped instead.
35
+
account schemas.Account// account interface
36
+
pluginsatomic.Pointer[[]schemas.Plugin]// list of plugins
waitGroups sync.Map// wait groups for each provider (thread-safe)
39
+
providerMutexes sync.Map// mutexes for each provider to prevent concurrent updates (thread-safe)
40
+
channelMessagePool sync.Pool// Pool for ChannelMessage objects, initial pool size is set in Init
41
+
responseChannelPool sync.Pool// Pool for response channels, initial pool size is set in Init
42
+
errorChannelPool sync.Pool// Pool for error channels, initial pool size is set in Init
43
+
responseStreamPool sync.Pool// Pool for response stream channels, initial pool size is set in Init
44
+
pluginPipelinePool sync.Pool// Pool for PluginPipeline objects
45
+
logger schemas.Logger// logger instance, default logger is used if not provided
46
+
mcpManager*MCPManager// MCP integration manager (nil if MCP not configured)
47
+
dropExcessRequests atomic.Bool// If true, in cases where the queue is full, requests will not wait for the queue to be empty and will be dropped instead.
48
48
}
49
49
50
50
// PluginPipeline encapsulates the execution of plugin PreHooks and PostHooks, tracks how many plugins ran, and manages short-circuiting and error aggregation.
0 commit comments