@codebolt/agent 1.1.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +157 -66
  2. package/dist/builderpattern/agent.d.ts +86 -0
  3. package/dist/builderpattern/agent.js +324 -0
  4. package/dist/builderpattern/followupquestionbuilder.d.ts +75 -0
  5. package/dist/builderpattern/followupquestionbuilder.js +197 -0
  6. package/dist/builderpattern/index.d.ts +14 -0
  7. package/dist/builderpattern/index.js +23 -0
  8. package/dist/builderpattern/llmoutputhandler.d.ts +102 -0
  9. package/dist/builderpattern/llmoutputhandler.js +452 -0
  10. package/dist/builderpattern/promptbuilder.d.ts +382 -0
  11. package/dist/builderpattern/promptbuilder.js +805 -0
  12. package/dist/builderpattern/systemprompt.d.ts +20 -0
  13. package/dist/builderpattern/systemprompt.js +48 -0
  14. package/dist/builderpattern/taskInstruction.d.ts +37 -0
  15. package/dist/builderpattern/taskInstruction.js +57 -0
  16. package/dist/builderpattern/usermessage.d.ts +70 -0
  17. package/dist/builderpattern/usermessage.js +123 -0
  18. package/dist/composablepattern/agent.d.ts +169 -0
  19. package/dist/composablepattern/agent.js +598 -0
  20. package/dist/composablepattern/codebolt-storage.d.ts +67 -0
  21. package/dist/composablepattern/codebolt-storage.js +320 -0
  22. package/dist/composablepattern/document.d.ts +149 -0
  23. package/dist/composablepattern/document.js +405 -0
  24. package/dist/composablepattern/examples/codebolt-integration-example.d.ts +12 -0
  25. package/dist/composablepattern/examples/codebolt-integration-example.js +218 -0
  26. package/dist/composablepattern/examples/codebolt-storage-example.d.ts +40 -0
  27. package/dist/composablepattern/examples/codebolt-storage-example.js +223 -0
  28. package/dist/composablepattern/examples/custom-steps-example.d.ts +20 -0
  29. package/dist/composablepattern/examples/custom-steps-example.js +455 -0
  30. package/dist/composablepattern/examples/document-agent.d.ts +17 -0
  31. package/dist/composablepattern/examples/document-agent.js +107 -0
  32. package/dist/composablepattern/examples/simple-codebolt-integration.d.ts +8 -0
  33. package/dist/composablepattern/examples/simple-codebolt-integration.js +164 -0
  34. package/dist/composablepattern/examples/weather-agent.d.ts +18 -0
  35. package/dist/composablepattern/examples/weather-agent.js +86 -0
  36. package/dist/composablepattern/examples/workflow-example.d.ts +12 -0
  37. package/dist/composablepattern/examples/workflow-example.js +463 -0
  38. package/dist/composablepattern/index.d.ts +63 -0
  39. package/dist/composablepattern/index.js +115 -0
  40. package/dist/composablepattern/memory.d.ts +89 -0
  41. package/dist/composablepattern/memory.js +141 -0
  42. package/dist/composablepattern/tool.d.ts +84 -0
  43. package/dist/composablepattern/tool.js +260 -0
  44. package/dist/composablepattern/types.d.ts +194 -0
  45. package/dist/composablepattern/types.js +6 -0
  46. package/dist/composablepattern/user-context.d.ts +214 -0
  47. package/dist/composablepattern/user-context.js +275 -0
  48. package/dist/composablepattern/workflow.d.ts +388 -0
  49. package/dist/composablepattern/workflow.js +562 -0
  50. package/dist/processor/agent/agentStep.d.ts +49 -0
  51. package/dist/processor/agent/agentStep.js +241 -0
  52. package/dist/processor/agent/toolExecutor.d.ts +19 -0
  53. package/dist/processor/agent/toolExecutor.js +90 -0
  54. package/dist/processor/index.d.ts +7 -0
  55. package/dist/processor/index.js +36 -0
  56. package/dist/processor/messageModifiers/baseMessageModifier.d.ts +20 -0
  57. package/dist/processor/messageModifiers/baseMessageModifier.js +55 -0
  58. package/dist/processor/processors/baseProcessor.d.ts +14 -0
  59. package/dist/processor/processors/baseProcessor.js +29 -0
  60. package/dist/processor/tools/baseTool.d.ts +10 -0
  61. package/dist/processor/tools/baseTool.js +20 -0
  62. package/dist/processor/tools/toolList.d.ts +9 -0
  63. package/dist/processor/tools/toolList.js +22 -0
  64. package/dist/processor/types/interfaces.d.ts +94 -0
  65. package/dist/processor/types/interfaces.js +2 -0
  66. package/dist/processor-pieces/base/baseMessageModifier.d.ts +12 -0
  67. package/dist/processor-pieces/base/baseMessageModifier.js +15 -0
  68. package/dist/processor-pieces/base/basePostInferenceProcessor.d.ts +13 -0
  69. package/dist/processor-pieces/base/basePostInferenceProcessor.js +18 -0
  70. package/dist/processor-pieces/base/basePostToolCallProcessor.d.ts +15 -0
  71. package/dist/processor-pieces/base/basePostToolCallProcessor.js +25 -0
  72. package/dist/processor-pieces/base/basePreInferenceProcessor.d.ts +12 -0
  73. package/dist/processor-pieces/base/basePreInferenceProcessor.js +17 -0
  74. package/dist/processor-pieces/base/basePreToolCallProcessor.d.ts +18 -0
  75. package/dist/processor-pieces/base/basePreToolCallProcessor.js +66 -0
  76. package/dist/processor-pieces/base/index.d.ts +9 -0
  77. package/dist/processor-pieces/base/index.js +18 -0
  78. package/dist/processor-pieces/index.d.ts +1 -0
  79. package/dist/processor-pieces/index.js +59 -0
  80. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +22 -0
  81. package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +144 -0
  82. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.d.ts +13 -0
  83. package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.js +68 -0
  84. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.d.ts +25 -0
  85. package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +453 -0
  86. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +15 -0
  87. package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +75 -0
  88. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +11 -0
  89. package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +46 -0
  90. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +18 -0
  91. package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +104 -0
  92. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.d.ts +23 -0
  93. package/dist/processor-pieces/messageModifiers/chatRecordingModifier.js +173 -0
  94. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.d.ts +14 -0
  95. package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.js +130 -0
  96. package/dist/processor-pieces/messageModifiers/directoryContextModifier.d.ts +36 -0
  97. package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +418 -0
  98. package/dist/processor-pieces/messageModifiers/environmentContextModifier.d.ts +26 -0
  99. package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +260 -0
  100. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +12 -0
  101. package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +60 -0
  102. package/dist/processor-pieces/messageModifiers/ideContextModifier.d.ts +34 -0
  103. package/dist/processor-pieces/messageModifiers/ideContextModifier.js +157 -0
  104. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +18 -0
  105. package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +222 -0
  106. package/dist/processor-pieces/messageModifiers/index.d.ts +11 -0
  107. package/dist/processor-pieces/messageModifiers/index.js +26 -0
  108. package/dist/processor-pieces/messageModifiers/memoryImportModifier.d.ts +15 -0
  109. package/dist/processor-pieces/messageModifiers/memoryImportModifier.js +129 -0
  110. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.d.ts +20 -0
  111. package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +152 -0
  112. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +22 -0
  113. package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +194 -0
  114. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.d.ts +29 -0
  115. package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +174 -0
  116. package/dist/processor-pieces/postToolCallProcessors/index.d.ts +1 -0
  117. package/dist/processor-pieces/postToolCallProcessors/index.js +2 -0
  118. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.d.ts +25 -0
  119. package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.js +225 -0
  120. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.d.ts +35 -0
  121. package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +255 -0
  122. package/dist/processor-pieces/preInferenceProcessors/index.d.ts +1 -0
  123. package/dist/processor-pieces/preInferenceProcessors/index.js +2 -0
  124. package/dist/processor-pieces/pretoolCallProcessors/index.d.ts +1 -0
  125. package/dist/processor-pieces/pretoolCallProcessors/index.js +2 -0
  126. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.d.ts +41 -0
  127. package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.js +197 -0
  128. package/dist/processor-pieces/processors/chatCompressionProcessor.d.ts +26 -0
  129. package/dist/processor-pieces/processors/chatCompressionProcessor.js +90 -0
  130. package/dist/processor-pieces/processors/chatRecordingProcessor.d.ts +81 -0
  131. package/dist/processor-pieces/processors/chatRecordingProcessor.js +329 -0
  132. package/dist/processor-pieces/processors/contextManagementProcessor.d.ts +40 -0
  133. package/dist/processor-pieces/processors/contextManagementProcessor.js +305 -0
  134. package/dist/processor-pieces/processors/loopDetectionProcessor.d.ts +30 -0
  135. package/dist/processor-pieces/processors/loopDetectionProcessor.js +137 -0
  136. package/dist/processor-pieces/processors/responseValidationProcessor.d.ts +30 -0
  137. package/dist/processor-pieces/processors/responseValidationProcessor.js +228 -0
  138. package/dist/processor-pieces/processors/telemetryProcessor.d.ts +99 -0
  139. package/dist/processor-pieces/processors/telemetryProcessor.js +311 -0
  140. package/dist/processor-pieces/processors/tokenManagementProcessor.d.ts +37 -0
  141. package/dist/processor-pieces/processors/tokenManagementProcessor.js +178 -0
  142. package/dist/processor-pieces/processors/toolExecutionProcessor.d.ts +43 -0
  143. package/dist/processor-pieces/processors/toolExecutionProcessor.js +207 -0
  144. package/dist/processor-pieces/tools/fileTools.d.ts +26 -0
  145. package/dist/processor-pieces/tools/fileTools.js +162 -0
  146. package/dist/processor-pieces/utils/messageModifierHelper.d.ts +4 -0
  147. package/dist/processor-pieces/utils/messageModifierHelper.js +58 -0
  148. package/dist/types/commonTypes.d.ts +4 -0
  149. package/dist/types/processorTypes.d.ts +67 -0
  150. package/dist/types/processorTypes.js +58 -0
  151. package/dist/unified/agent/agent.d.ts +17 -0
  152. package/dist/unified/agent/agent.js +79 -0
  153. package/dist/unified/agent/team.d.ts +2 -0
  154. package/dist/unified/agent/team.js +6 -0
  155. package/dist/unified/agent/tools.d.ts +44 -0
  156. package/dist/unified/agent/tools.js +487 -0
  157. package/dist/unified/agent/workflow.d.ts +24 -0
  158. package/dist/unified/agent/workflow.js +275 -0
  159. package/dist/unified/agent/workflowControls.d.ts +11 -0
  160. package/dist/unified/agent/workflowControls.js +20 -0
  161. package/dist/unified/agent/workflowSteps.d.ts +63 -0
  162. package/dist/unified/agent/workflowSteps.js +284 -0
  163. package/dist/unified/base/agentStep.d.ts +32 -0
  164. package/dist/unified/base/agentStep.js +96 -0
  165. package/dist/unified/base/create/createInitialPromptGenerators.d.ts +5 -0
  166. package/dist/unified/base/create/createInitialPromptGenerators.js +17 -0
  167. package/dist/unified/base/index.d.ts +5 -0
  168. package/dist/unified/base/index.js +13 -0
  169. package/dist/unified/base/initialPromptGenerator.d.ts +48 -0
  170. package/dist/unified/base/initialPromptGenerator.js +118 -0
  171. package/dist/unified/base/responseExecutor.d.ts +36 -0
  172. package/dist/unified/base/responseExecutor.js +283 -0
  173. package/dist/unified/index.d.ts +18 -0
  174. package/dist/unified/index.js +42 -0
  175. package/dist/unified/team/team.d.ts +1 -0
  176. package/dist/unified/team/team.js +2 -0
  177. package/dist/unified/types/libTypes.d.ts +378 -0
  178. package/dist/unified/types/libTypes.js +6 -0
  179. package/dist/unified/types/types.d.ts +212 -0
  180. package/dist/unified/types/types.js +43 -0
  181. package/dist/unified/utils/utils.d.ts +40 -0
  182. package/dist/unified/utils/utils.js +219 -0
  183. package/package.json +29 -7
@@ -0,0 +1,194 @@
1
+ /**
2
+ * @fileoverview Type definitions for the Composable Agent Pattern
3
+ * @description Re-exports types from @codebolt/types and adds additional types
4
+ */
5
+ import { z } from 'zod';
6
+ export interface Message {
7
+ role: 'system' | 'user' | 'assistant' | 'tool';
8
+ content: string | MessageContent[];
9
+ tool_calls?: ToolCall[];
10
+ tool_call_id?: string;
11
+ timestamp?: string;
12
+ metadata?: Record<string, any>;
13
+ }
14
+ export interface MessageContent {
15
+ type: 'text' | 'image' | 'file';
16
+ text?: string;
17
+ image_url?: string;
18
+ file?: string;
19
+ }
20
+ export interface ToolCall {
21
+ id: string;
22
+ type: 'function';
23
+ function: {
24
+ name: string;
25
+ arguments: string;
26
+ };
27
+ }
28
+ export interface ToolConfig<TInput = any, TOutput = any> {
29
+ id: string;
30
+ description: string;
31
+ inputSchema: z.ZodType<TInput>;
32
+ outputSchema: z.ZodType<TOutput>;
33
+ execute: (params: {
34
+ context: TInput;
35
+ agent?: ComposableAgent;
36
+ }) => Promise<TOutput>;
37
+ }
38
+ export interface Tool<TInput = any, TOutput = any> extends ToolConfig<TInput, TOutput> {
39
+ validateInput: (input: unknown) => TInput;
40
+ validateOutput: (output: unknown) => TOutput;
41
+ }
42
+ export interface StorageProvider {
43
+ get(key: string): Promise<any>;
44
+ set(key: string, value: any): Promise<void>;
45
+ delete(key: string): Promise<void>;
46
+ keys(): Promise<string[]>;
47
+ clear(): Promise<void>;
48
+ }
49
+ export interface LibSQLStoreConfig {
50
+ url: string;
51
+ authToken?: string;
52
+ tableName?: string;
53
+ }
54
+ export interface MemoryConfig {
55
+ storage: StorageProvider;
56
+ maxMessages?: number;
57
+ autoSave?: boolean;
58
+ }
59
+ export interface AgentProcessingConfig {
60
+ processMentionedMCPs?: boolean;
61
+ processRemixPrompt?: boolean;
62
+ processMentionedFiles?: boolean;
63
+ processMentionedAgents?: boolean;
64
+ fileContentProcessor?: (filePath: string) => Promise<string>;
65
+ mcpToolProcessor?: (toolbox: string, toolName: string) => Promise<Tool | null>;
66
+ }
67
+ export interface ComposableAgentConfig {
68
+ name: string;
69
+ instructions: string;
70
+ model: string;
71
+ tools?: Record<string, Tool>;
72
+ memory?: any;
73
+ maxTurns?: number;
74
+ processing?: AgentProcessingConfig;
75
+ metadata?: Record<string, any>;
76
+ }
77
+ export interface ExecutionResult {
78
+ success: boolean;
79
+ message?: string;
80
+ error?: string;
81
+ conversation: Message[];
82
+ metadata?: Record<string, any>;
83
+ }
84
+ export interface StreamChunk {
85
+ type: 'text' | 'tool_call' | 'tool_result' | 'error';
86
+ content: string;
87
+ tool_call?: ToolCall;
88
+ metadata?: Record<string, any>;
89
+ }
90
+ export type StreamCallback = (chunk: StreamChunk) => void | Promise<void>;
91
+ export interface ComposableAgent {
92
+ readonly config: ComposableAgentConfig;
93
+ execute(message: string, options?: {
94
+ stream?: boolean;
95
+ callback?: StreamCallback;
96
+ }): Promise<ExecutionResult>;
97
+ executeMessage(message: CodeBoltMessage, options?: {
98
+ stream?: boolean;
99
+ callback?: StreamCallback;
100
+ }): Promise<ExecutionResult>;
101
+ run(options?: {
102
+ stream?: boolean;
103
+ callback?: StreamCallback;
104
+ }): Promise<ExecutionResult>;
105
+ addMessage(message: Message): void;
106
+ getConversation(): Message[];
107
+ clearConversation(): void;
108
+ saveConversation(): Promise<void>;
109
+ loadConversation(): Promise<void>;
110
+ }
111
+ export interface CodeBoltMessage {
112
+ userMessage: string;
113
+ mentionedFiles?: string[];
114
+ mentionedMCPs: {
115
+ toolbox: string;
116
+ toolName: string;
117
+ }[];
118
+ mentionedAgents: any[];
119
+ remixPrompt?: string;
120
+ }
121
+ export interface DocumentConfig {
122
+ content: string;
123
+ type?: 'text' | 'markdown' | 'json' | 'xml';
124
+ metadata?: Record<string, any>;
125
+ }
126
+ export interface ProcessedDocument {
127
+ content: string;
128
+ chunks?: string[];
129
+ metadata: Record<string, any>;
130
+ embeddings?: number[][];
131
+ }
132
+ export interface WorkflowContext {
133
+ data: Record<string, any>;
134
+ history: WorkflowStepResult[];
135
+ currentStep: number;
136
+ metadata: Record<string, any>;
137
+ }
138
+ export interface WorkflowStepResult {
139
+ stepId: string;
140
+ success: boolean;
141
+ output?: any;
142
+ error?: string;
143
+ executionTime: number;
144
+ metadata?: Record<string, any>;
145
+ }
146
+ export interface WorkflowStep {
147
+ id: string;
148
+ name: string;
149
+ description?: string;
150
+ inputSchema?: any;
151
+ outputSchema?: any;
152
+ execute: (context: WorkflowContext) => Promise<WorkflowStepResult>;
153
+ condition?: (context: WorkflowContext) => boolean | Promise<boolean>;
154
+ dependencies?: string[];
155
+ parallel?: boolean;
156
+ retry?: {
157
+ maxAttempts: number;
158
+ delay: number;
159
+ backoff?: 'linear' | 'exponential';
160
+ };
161
+ }
162
+ export interface WorkflowConfig {
163
+ name: string;
164
+ description?: string;
165
+ steps: WorkflowStep[];
166
+ initialData?: Record<string, any>;
167
+ timeout?: number;
168
+ continueOnError?: boolean;
169
+ maxParallelSteps?: number;
170
+ }
171
+ export interface WorkflowResult {
172
+ success: boolean;
173
+ data: Record<string, any>;
174
+ stepResults: WorkflowStepResult[];
175
+ executionTime: number;
176
+ error?: string;
177
+ metadata: Record<string, any>;
178
+ }
179
+ export interface AgentStepConfig {
180
+ agent: ComposableAgent;
181
+ messageTemplate: string;
182
+ inputMapping?: Record<string, string>;
183
+ outputMapping?: Record<string, string>;
184
+ }
185
+ export interface ExecutionContext {
186
+ /** Current conversation history */
187
+ messages: Message[];
188
+ /** Available tools */
189
+ tools: Record<string, Tool>;
190
+ /** Agent configuration */
191
+ config: ComposableAgentConfig;
192
+ /** Execution metadata */
193
+ metadata?: Record<string, any>;
194
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Type definitions for the Composable Agent Pattern
4
+ * @description Re-exports types from @codebolt/types and adds additional types
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,214 @@
1
+ /**
2
+ * @fileoverview User Context Management for CodeBolt Integration
3
+ * @description Manages user message state and configuration for ComposableAgent
4
+ */
5
+ import type { CodeBoltMessage } from './types';
6
+ /**
7
+ * Global user context state
8
+ */
9
+ interface UserContextState {
10
+ /** Current user message */
11
+ currentMessage?: CodeBoltMessage;
12
+ /** User configuration for processing */
13
+ userConfig?: {
14
+ processMentionedMCPs?: boolean;
15
+ processRemixPrompt?: boolean;
16
+ processMentionedFiles?: boolean;
17
+ processMentionedAgents?: boolean;
18
+ };
19
+ /** Session data */
20
+ sessionData?: Record<string, any>;
21
+ }
22
+ /**
23
+ * Global user context manager
24
+ */
25
+ declare class UserContextManager {
26
+ private state;
27
+ /**
28
+ * Save user message and extract configuration
29
+ *
30
+ * @param message - CodeBolt message from onMessage
31
+ * @param config - Optional user configuration override
32
+ */
33
+ saveUserMessage(message: CodeBoltMessage, config?: UserContextState['userConfig']): void;
34
+ /**
35
+ * Get current user message
36
+ *
37
+ * @returns Current CodeBolt message or undefined
38
+ */
39
+ getUserMessage(): CodeBoltMessage | undefined;
40
+ /**
41
+ * Get user configuration
42
+ *
43
+ * @returns User processing configuration
44
+ */
45
+ getUserConfig(): UserContextState['userConfig'];
46
+ /**
47
+ * Get mentioned MCPs from current message
48
+ *
49
+ * @returns Array of mentioned MCP tools
50
+ */
51
+ getMentionedMCPs(): {
52
+ toolbox: string;
53
+ toolName: string;
54
+ }[];
55
+ /**
56
+ * Get mentioned files from current message
57
+ *
58
+ * @returns Array of mentioned file paths
59
+ */
60
+ getMentionedFiles(): string[];
61
+ /**
62
+ * Get mentioned agents from current message
63
+ *
64
+ * @returns Array of mentioned agents
65
+ */
66
+ getMentionedAgents(): any[];
67
+ /**
68
+ * Get remix prompt from current message
69
+ *
70
+ * @returns Remix prompt string or undefined
71
+ */
72
+ getRemixPrompt(): string | undefined;
73
+ /**
74
+ * Check if a specific processing type is enabled
75
+ *
76
+ * @param type - Processing type to check
77
+ * @returns Whether the processing type is enabled
78
+ */
79
+ isProcessingEnabled(type: keyof NonNullable<UserContextState['userConfig']>): boolean;
80
+ /**
81
+ * Set session data
82
+ *
83
+ * @param key - Session data key
84
+ * @param value - Session data value
85
+ */
86
+ setSessionData(key: string, value: any): void;
87
+ /**
88
+ * Get session data
89
+ *
90
+ * @param key - Session data key
91
+ * @returns Session data value
92
+ */
93
+ getSessionData(key: string): any;
94
+ /**
95
+ * Clear all user context (typically called at start of new message)
96
+ */
97
+ clear(): void;
98
+ /**
99
+ * Get current message text content
100
+ *
101
+ * @returns User message text
102
+ */
103
+ getMessageText(): string;
104
+ /**
105
+ * Create a simplified message object for agent execution
106
+ *
107
+ * @returns Simple message object with just text content
108
+ */
109
+ getSimpleMessage(): {
110
+ text: string;
111
+ hasContext: boolean;
112
+ };
113
+ }
114
+ declare const userContextManager: UserContextManager;
115
+ /**
116
+ * Save user message and configuration globally
117
+ * This should be called in codebolt.onMessage() before creating agents
118
+ *
119
+ * @param message - CodeBolt message from onMessage
120
+ * @param config - Optional configuration override
121
+ */
122
+ export declare function saveUserMessage(message: CodeBoltMessage, config?: {
123
+ processMentionedMCPs?: boolean;
124
+ processRemixPrompt?: boolean;
125
+ processMentionedFiles?: boolean;
126
+ processMentionedAgents?: boolean;
127
+ }): void;
128
+ /**
129
+ * Get current user message
130
+ * Can be called from anywhere in the agent execution
131
+ *
132
+ * @returns Current CodeBolt message or undefined
133
+ */
134
+ export declare function getUserMessage(): CodeBoltMessage | undefined;
135
+ /**
136
+ * Get user processing configuration
137
+ *
138
+ * @returns User configuration object
139
+ */
140
+ export declare function getUserConfig(): {
141
+ processMentionedMCPs?: boolean;
142
+ processRemixPrompt?: boolean;
143
+ processMentionedFiles?: boolean;
144
+ processMentionedAgents?: boolean;
145
+ } | undefined;
146
+ /**
147
+ * Get mentioned MCPs from current message
148
+ *
149
+ * @returns Array of mentioned MCP tools
150
+ */
151
+ export declare function getMentionedMCPs(): {
152
+ toolbox: string;
153
+ toolName: string;
154
+ }[];
155
+ /**
156
+ * Get mentioned files from current message
157
+ *
158
+ * @returns Array of mentioned file paths
159
+ */
160
+ export declare function getMentionedFiles(): string[];
161
+ /**
162
+ * Get mentioned agents from current message
163
+ *
164
+ * @returns Array of mentioned agents
165
+ */
166
+ export declare function getMentionedAgents(): any[];
167
+ /**
168
+ * Get remix prompt from current message
169
+ *
170
+ * @returns Remix prompt string or undefined
171
+ */
172
+ export declare function getRemixPrompt(): string | undefined;
173
+ /**
174
+ * Check if a specific processing type is enabled
175
+ *
176
+ * @param type - Processing type to check
177
+ * @returns Whether the processing type is enabled
178
+ */
179
+ export declare function isProcessingEnabled(type: 'processMentionedMCPs' | 'processRemixPrompt' | 'processMentionedFiles' | 'processMentionedAgents'): boolean;
180
+ /**
181
+ * Get simple message text for agent execution
182
+ *
183
+ * @returns Message text content
184
+ */
185
+ export declare function getMessageText(): string;
186
+ /**
187
+ * Get simplified message object
188
+ *
189
+ * @returns Simple message with text and context flag
190
+ */
191
+ export declare function getSimpleMessage(): {
192
+ text: string;
193
+ hasContext: boolean;
194
+ };
195
+ /**
196
+ * Set session data
197
+ *
198
+ * @param key - Session data key
199
+ * @param value - Session data value
200
+ */
201
+ export declare function setSessionData(key: string, value: any): void;
202
+ /**
203
+ * Get session data
204
+ *
205
+ * @param key - Session data key
206
+ * @returns Session data value
207
+ */
208
+ export declare function getSessionData(key: string): any;
209
+ /**
210
+ * Clear user context (call at start of new message)
211
+ */
212
+ export declare function clearUserContext(): void;
213
+ export { userContextManager };
214
+ export type { UserContextState };
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview User Context Management for CodeBolt Integration
4
+ * @description Manages user message state and configuration for ComposableAgent
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.userContextManager = void 0;
8
+ exports.saveUserMessage = saveUserMessage;
9
+ exports.getUserMessage = getUserMessage;
10
+ exports.getUserConfig = getUserConfig;
11
+ exports.getMentionedMCPs = getMentionedMCPs;
12
+ exports.getMentionedFiles = getMentionedFiles;
13
+ exports.getMentionedAgents = getMentionedAgents;
14
+ exports.getRemixPrompt = getRemixPrompt;
15
+ exports.isProcessingEnabled = isProcessingEnabled;
16
+ exports.getMessageText = getMessageText;
17
+ exports.getSimpleMessage = getSimpleMessage;
18
+ exports.setSessionData = setSessionData;
19
+ exports.getSessionData = getSessionData;
20
+ exports.clearUserContext = clearUserContext;
21
+ /**
22
+ * Global user context manager
23
+ */
24
+ class UserContextManager {
25
+ constructor() {
26
+ this.state = {};
27
+ }
28
+ /**
29
+ * Save user message and extract configuration
30
+ *
31
+ * @param message - CodeBolt message from onMessage
32
+ * @param config - Optional user configuration override
33
+ */
34
+ saveUserMessage(message, config) {
35
+ var _a, _b, _c, _d;
36
+ this.state.currentMessage = message;
37
+ // Auto-detect configuration from message if not explicitly provided
38
+ if (config) {
39
+ this.state.userConfig = { ...config };
40
+ }
41
+ else {
42
+ this.state.userConfig = {
43
+ processMentionedMCPs: ((_a = message.mentionedMCPs) === null || _a === void 0 ? void 0 : _a.length) > 0,
44
+ processRemixPrompt: !!message.remixPrompt,
45
+ processMentionedFiles: ((_c = (_b = message.mentionedFiles) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0,
46
+ processMentionedAgents: ((_d = message.mentionedAgents) === null || _d === void 0 ? void 0 : _d.length) > 0
47
+ };
48
+ }
49
+ }
50
+ /**
51
+ * Get current user message
52
+ *
53
+ * @returns Current CodeBolt message or undefined
54
+ */
55
+ getUserMessage() {
56
+ return this.state.currentMessage;
57
+ }
58
+ /**
59
+ * Get user configuration
60
+ *
61
+ * @returns User processing configuration
62
+ */
63
+ getUserConfig() {
64
+ return this.state.userConfig || {};
65
+ }
66
+ /**
67
+ * Get mentioned MCPs from current message
68
+ *
69
+ * @returns Array of mentioned MCP tools
70
+ */
71
+ getMentionedMCPs() {
72
+ var _a;
73
+ return ((_a = this.state.currentMessage) === null || _a === void 0 ? void 0 : _a.mentionedMCPs) || [];
74
+ }
75
+ /**
76
+ * Get mentioned files from current message
77
+ *
78
+ * @returns Array of mentioned file paths
79
+ */
80
+ getMentionedFiles() {
81
+ var _a;
82
+ return ((_a = this.state.currentMessage) === null || _a === void 0 ? void 0 : _a.mentionedFiles) || [];
83
+ }
84
+ /**
85
+ * Get mentioned agents from current message
86
+ *
87
+ * @returns Array of mentioned agents
88
+ */
89
+ getMentionedAgents() {
90
+ var _a;
91
+ return ((_a = this.state.currentMessage) === null || _a === void 0 ? void 0 : _a.mentionedAgents) || [];
92
+ }
93
+ /**
94
+ * Get remix prompt from current message
95
+ *
96
+ * @returns Remix prompt string or undefined
97
+ */
98
+ getRemixPrompt() {
99
+ var _a;
100
+ return (_a = this.state.currentMessage) === null || _a === void 0 ? void 0 : _a.remixPrompt;
101
+ }
102
+ /**
103
+ * Check if a specific processing type is enabled
104
+ *
105
+ * @param type - Processing type to check
106
+ * @returns Whether the processing type is enabled
107
+ */
108
+ isProcessingEnabled(type) {
109
+ var _a, _b;
110
+ return (_b = (_a = this.state.userConfig) === null || _a === void 0 ? void 0 : _a[type]) !== null && _b !== void 0 ? _b : false;
111
+ }
112
+ /**
113
+ * Set session data
114
+ *
115
+ * @param key - Session data key
116
+ * @param value - Session data value
117
+ */
118
+ setSessionData(key, value) {
119
+ if (!this.state.sessionData) {
120
+ this.state.sessionData = {};
121
+ }
122
+ this.state.sessionData[key] = value;
123
+ }
124
+ /**
125
+ * Get session data
126
+ *
127
+ * @param key - Session data key
128
+ * @returns Session data value
129
+ */
130
+ getSessionData(key) {
131
+ var _a;
132
+ return (_a = this.state.sessionData) === null || _a === void 0 ? void 0 : _a[key];
133
+ }
134
+ /**
135
+ * Clear all user context (typically called at start of new message)
136
+ */
137
+ clear() {
138
+ this.state = {};
139
+ }
140
+ /**
141
+ * Get current message text content
142
+ *
143
+ * @returns User message text
144
+ */
145
+ getMessageText() {
146
+ var _a;
147
+ return ((_a = this.state.currentMessage) === null || _a === void 0 ? void 0 : _a.userMessage) || '';
148
+ }
149
+ /**
150
+ * Create a simplified message object for agent execution
151
+ *
152
+ * @returns Simple message object with just text content
153
+ */
154
+ getSimpleMessage() {
155
+ var _a, _b, _c, _d, _e, _f, _g;
156
+ return {
157
+ text: this.getMessageText(),
158
+ hasContext: !!(((_b = (_a = this.state.currentMessage) === null || _a === void 0 ? void 0 : _a.mentionedFiles) === null || _b === void 0 ? void 0 : _b.length) ||
159
+ ((_d = (_c = this.state.currentMessage) === null || _c === void 0 ? void 0 : _c.mentionedMCPs) === null || _d === void 0 ? void 0 : _d.length) ||
160
+ ((_f = (_e = this.state.currentMessage) === null || _e === void 0 ? void 0 : _e.mentionedAgents) === null || _f === void 0 ? void 0 : _f.length) ||
161
+ ((_g = this.state.currentMessage) === null || _g === void 0 ? void 0 : _g.remixPrompt))
162
+ };
163
+ }
164
+ }
165
+ // Global singleton instance
166
+ const userContextManager = new UserContextManager();
167
+ exports.userContextManager = userContextManager;
168
+ /**
169
+ * Save user message and configuration globally
170
+ * This should be called in codebolt.onMessage() before creating agents
171
+ *
172
+ * @param message - CodeBolt message from onMessage
173
+ * @param config - Optional configuration override
174
+ */
175
+ function saveUserMessage(message, config) {
176
+ userContextManager.saveUserMessage(message, config);
177
+ }
178
+ /**
179
+ * Get current user message
180
+ * Can be called from anywhere in the agent execution
181
+ *
182
+ * @returns Current CodeBolt message or undefined
183
+ */
184
+ function getUserMessage() {
185
+ return userContextManager.getUserMessage();
186
+ }
187
+ /**
188
+ * Get user processing configuration
189
+ *
190
+ * @returns User configuration object
191
+ */
192
+ function getUserConfig() {
193
+ return userContextManager.getUserConfig();
194
+ }
195
+ /**
196
+ * Get mentioned MCPs from current message
197
+ *
198
+ * @returns Array of mentioned MCP tools
199
+ */
200
+ function getMentionedMCPs() {
201
+ return userContextManager.getMentionedMCPs();
202
+ }
203
+ /**
204
+ * Get mentioned files from current message
205
+ *
206
+ * @returns Array of mentioned file paths
207
+ */
208
+ function getMentionedFiles() {
209
+ return userContextManager.getMentionedFiles();
210
+ }
211
+ /**
212
+ * Get mentioned agents from current message
213
+ *
214
+ * @returns Array of mentioned agents
215
+ */
216
+ function getMentionedAgents() {
217
+ return userContextManager.getMentionedAgents();
218
+ }
219
+ /**
220
+ * Get remix prompt from current message
221
+ *
222
+ * @returns Remix prompt string or undefined
223
+ */
224
+ function getRemixPrompt() {
225
+ return userContextManager.getRemixPrompt();
226
+ }
227
+ /**
228
+ * Check if a specific processing type is enabled
229
+ *
230
+ * @param type - Processing type to check
231
+ * @returns Whether the processing type is enabled
232
+ */
233
+ function isProcessingEnabled(type) {
234
+ return userContextManager.isProcessingEnabled(type);
235
+ }
236
+ /**
237
+ * Get simple message text for agent execution
238
+ *
239
+ * @returns Message text content
240
+ */
241
+ function getMessageText() {
242
+ return userContextManager.getMessageText();
243
+ }
244
+ /**
245
+ * Get simplified message object
246
+ *
247
+ * @returns Simple message with text and context flag
248
+ */
249
+ function getSimpleMessage() {
250
+ return userContextManager.getSimpleMessage();
251
+ }
252
+ /**
253
+ * Set session data
254
+ *
255
+ * @param key - Session data key
256
+ * @param value - Session data value
257
+ */
258
+ function setSessionData(key, value) {
259
+ userContextManager.setSessionData(key, value);
260
+ }
261
+ /**
262
+ * Get session data
263
+ *
264
+ * @param key - Session data key
265
+ * @returns Session data value
266
+ */
267
+ function getSessionData(key) {
268
+ return userContextManager.getSessionData(key);
269
+ }
270
+ /**
271
+ * Clear user context (call at start of new message)
272
+ */
273
+ function clearUserContext() {
274
+ userContextManager.clear();
275
+ }