@agenticc/core 1.0.0

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 (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/README.zh-CN.md +372 -0
  4. package/dist/audit/index.d.ts +9 -0
  5. package/dist/audit/index.d.ts.map +1 -0
  6. package/dist/audit/index.js +9 -0
  7. package/dist/audit/index.js.map +1 -0
  8. package/dist/audit/logger.d.ts +211 -0
  9. package/dist/audit/logger.d.ts.map +1 -0
  10. package/dist/audit/logger.js +268 -0
  11. package/dist/audit/logger.js.map +1 -0
  12. package/dist/audit/query.d.ts +164 -0
  13. package/dist/audit/query.d.ts.map +1 -0
  14. package/dist/audit/query.js +250 -0
  15. package/dist/audit/query.js.map +1 -0
  16. package/dist/conversation/context-builder.d.ts +119 -0
  17. package/dist/conversation/context-builder.d.ts.map +1 -0
  18. package/dist/conversation/context-builder.js +252 -0
  19. package/dist/conversation/context-builder.js.map +1 -0
  20. package/dist/conversation/index.d.ts +10 -0
  21. package/dist/conversation/index.d.ts.map +1 -0
  22. package/dist/conversation/index.js +10 -0
  23. package/dist/conversation/index.js.map +1 -0
  24. package/dist/conversation/message-store.d.ts +231 -0
  25. package/dist/conversation/message-store.d.ts.map +1 -0
  26. package/dist/conversation/message-store.js +404 -0
  27. package/dist/conversation/message-store.js.map +1 -0
  28. package/dist/conversation/session.d.ts +201 -0
  29. package/dist/conversation/session.d.ts.map +1 -0
  30. package/dist/conversation/session.js +285 -0
  31. package/dist/conversation/session.js.map +1 -0
  32. package/dist/core/agent.d.ts +277 -0
  33. package/dist/core/agent.d.ts.map +1 -0
  34. package/dist/core/agent.js +674 -0
  35. package/dist/core/agent.js.map +1 -0
  36. package/dist/core/agentic-loop.d.ts +98 -0
  37. package/dist/core/agentic-loop.d.ts.map +1 -0
  38. package/dist/core/agentic-loop.js +496 -0
  39. package/dist/core/agentic-loop.js.map +1 -0
  40. package/dist/core/index.d.ts +14 -0
  41. package/dist/core/index.d.ts.map +1 -0
  42. package/dist/core/index.js +14 -0
  43. package/dist/core/index.js.map +1 -0
  44. package/dist/core/intent-parser.d.ts +101 -0
  45. package/dist/core/intent-parser.d.ts.map +1 -0
  46. package/dist/core/intent-parser.js +221 -0
  47. package/dist/core/intent-parser.js.map +1 -0
  48. package/dist/core/plan-generator.d.ts +133 -0
  49. package/dist/core/plan-generator.d.ts.map +1 -0
  50. package/dist/core/plan-generator.js +294 -0
  51. package/dist/core/plan-generator.js.map +1 -0
  52. package/dist/core/plugin-manager.d.ts +120 -0
  53. package/dist/core/plugin-manager.d.ts.map +1 -0
  54. package/dist/core/plugin-manager.js +369 -0
  55. package/dist/core/plugin-manager.js.map +1 -0
  56. package/dist/core/response-handler.d.ts +141 -0
  57. package/dist/core/response-handler.d.ts.map +1 -0
  58. package/dist/core/response-handler.js +384 -0
  59. package/dist/core/response-handler.js.map +1 -0
  60. package/dist/core/tool-executor.d.ts +143 -0
  61. package/dist/core/tool-executor.d.ts.map +1 -0
  62. package/dist/core/tool-executor.js +354 -0
  63. package/dist/core/tool-executor.js.map +1 -0
  64. package/dist/core/tool-registry.d.ts +133 -0
  65. package/dist/core/tool-registry.d.ts.map +1 -0
  66. package/dist/core/tool-registry.js +252 -0
  67. package/dist/core/tool-registry.js.map +1 -0
  68. package/dist/index.d.ts +44 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +47 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/knowledge/chunker.d.ts +78 -0
  73. package/dist/knowledge/chunker.d.ts.map +1 -0
  74. package/dist/knowledge/chunker.js +233 -0
  75. package/dist/knowledge/chunker.js.map +1 -0
  76. package/dist/knowledge/embedder.d.ts +93 -0
  77. package/dist/knowledge/embedder.d.ts.map +1 -0
  78. package/dist/knowledge/embedder.js +205 -0
  79. package/dist/knowledge/embedder.js.map +1 -0
  80. package/dist/knowledge/index.d.ts +10 -0
  81. package/dist/knowledge/index.d.ts.map +1 -0
  82. package/dist/knowledge/index.js +11 -0
  83. package/dist/knowledge/index.js.map +1 -0
  84. package/dist/knowledge/loaders/index.d.ts +10 -0
  85. package/dist/knowledge/loaders/index.d.ts.map +1 -0
  86. package/dist/knowledge/loaders/index.js +10 -0
  87. package/dist/knowledge/loaders/index.js.map +1 -0
  88. package/dist/knowledge/loaders/markdown.d.ts +88 -0
  89. package/dist/knowledge/loaders/markdown.d.ts.map +1 -0
  90. package/dist/knowledge/loaders/markdown.js +205 -0
  91. package/dist/knowledge/loaders/markdown.js.map +1 -0
  92. package/dist/knowledge/loaders/yaml.d.ts +112 -0
  93. package/dist/knowledge/loaders/yaml.d.ts.map +1 -0
  94. package/dist/knowledge/loaders/yaml.js +368 -0
  95. package/dist/knowledge/loaders/yaml.js.map +1 -0
  96. package/dist/knowledge/retriever.d.ts +144 -0
  97. package/dist/knowledge/retriever.d.ts.map +1 -0
  98. package/dist/knowledge/retriever.js +399 -0
  99. package/dist/knowledge/retriever.js.map +1 -0
  100. package/dist/knowledge/store.d.ts +146 -0
  101. package/dist/knowledge/store.d.ts.map +1 -0
  102. package/dist/knowledge/store.js +420 -0
  103. package/dist/knowledge/store.js.map +1 -0
  104. package/dist/llm/adapter.d.ts +194 -0
  105. package/dist/llm/adapter.d.ts.map +1 -0
  106. package/dist/llm/adapter.js +42 -0
  107. package/dist/llm/adapter.js.map +1 -0
  108. package/dist/llm/adapters/anyrouter.d.ts +84 -0
  109. package/dist/llm/adapters/anyrouter.d.ts.map +1 -0
  110. package/dist/llm/adapters/anyrouter.js +372 -0
  111. package/dist/llm/adapters/anyrouter.js.map +1 -0
  112. package/dist/llm/adapters/claude.d.ts +66 -0
  113. package/dist/llm/adapters/claude.d.ts.map +1 -0
  114. package/dist/llm/adapters/claude.js +323 -0
  115. package/dist/llm/adapters/claude.js.map +1 -0
  116. package/dist/llm/adapters/index.d.ts +12 -0
  117. package/dist/llm/adapters/index.d.ts.map +1 -0
  118. package/dist/llm/adapters/index.js +12 -0
  119. package/dist/llm/adapters/index.js.map +1 -0
  120. package/dist/llm/adapters/mimo.d.ts +85 -0
  121. package/dist/llm/adapters/mimo.d.ts.map +1 -0
  122. package/dist/llm/adapters/mimo.js +316 -0
  123. package/dist/llm/adapters/mimo.js.map +1 -0
  124. package/dist/llm/adapters/openai.d.ts +53 -0
  125. package/dist/llm/adapters/openai.d.ts.map +1 -0
  126. package/dist/llm/adapters/openai.js +293 -0
  127. package/dist/llm/adapters/openai.js.map +1 -0
  128. package/dist/llm/adapters/qwen.d.ts +53 -0
  129. package/dist/llm/adapters/qwen.d.ts.map +1 -0
  130. package/dist/llm/adapters/qwen.js +299 -0
  131. package/dist/llm/adapters/qwen.js.map +1 -0
  132. package/dist/llm/adapters/siliconflow.d.ts +69 -0
  133. package/dist/llm/adapters/siliconflow.d.ts.map +1 -0
  134. package/dist/llm/adapters/siliconflow.js +331 -0
  135. package/dist/llm/adapters/siliconflow.js.map +1 -0
  136. package/dist/llm/index.d.ts +9 -0
  137. package/dist/llm/index.d.ts.map +1 -0
  138. package/dist/llm/index.js +12 -0
  139. package/dist/llm/index.js.map +1 -0
  140. package/dist/llm/manager.d.ts +97 -0
  141. package/dist/llm/manager.d.ts.map +1 -0
  142. package/dist/llm/manager.js +337 -0
  143. package/dist/llm/manager.js.map +1 -0
  144. package/dist/test-utils/arbitraries.d.ts +230 -0
  145. package/dist/test-utils/arbitraries.d.ts.map +1 -0
  146. package/dist/test-utils/arbitraries.js +280 -0
  147. package/dist/test-utils/arbitraries.js.map +1 -0
  148. package/dist/test-utils/cleanup.d.ts +184 -0
  149. package/dist/test-utils/cleanup.d.ts.map +1 -0
  150. package/dist/test-utils/cleanup.js +282 -0
  151. package/dist/test-utils/cleanup.js.map +1 -0
  152. package/dist/test-utils/config.d.ts +80 -0
  153. package/dist/test-utils/config.d.ts.map +1 -0
  154. package/dist/test-utils/config.js +94 -0
  155. package/dist/test-utils/config.js.map +1 -0
  156. package/dist/test-utils/index.d.ts +10 -0
  157. package/dist/test-utils/index.d.ts.map +1 -0
  158. package/dist/test-utils/index.js +36 -0
  159. package/dist/test-utils/index.js.map +1 -0
  160. package/dist/test-utils/mocks.d.ts +170 -0
  161. package/dist/test-utils/mocks.d.ts.map +1 -0
  162. package/dist/test-utils/mocks.js +281 -0
  163. package/dist/test-utils/mocks.js.map +1 -0
  164. package/dist/types/config.d.ts +170 -0
  165. package/dist/types/config.d.ts.map +1 -0
  166. package/dist/types/config.js +120 -0
  167. package/dist/types/config.js.map +1 -0
  168. package/dist/types/knowledge.d.ts +95 -0
  169. package/dist/types/knowledge.d.ts.map +1 -0
  170. package/dist/types/knowledge.js +7 -0
  171. package/dist/types/knowledge.js.map +1 -0
  172. package/dist/types/loop.d.ts +148 -0
  173. package/dist/types/loop.d.ts.map +1 -0
  174. package/dist/types/loop.js +16 -0
  175. package/dist/types/loop.js.map +1 -0
  176. package/dist/types/plugin.d.ts +137 -0
  177. package/dist/types/plugin.d.ts.map +1 -0
  178. package/dist/types/plugin.js +15 -0
  179. package/dist/types/plugin.js.map +1 -0
  180. package/dist/types/response.d.ts +186 -0
  181. package/dist/types/response.d.ts.map +1 -0
  182. package/dist/types/response.js +99 -0
  183. package/dist/types/response.js.map +1 -0
  184. package/dist/types/streaming.d.ts +478 -0
  185. package/dist/types/streaming.d.ts.map +1 -0
  186. package/dist/types/streaming.js +483 -0
  187. package/dist/types/streaming.js.map +1 -0
  188. package/dist/types/tool.d.ts +118 -0
  189. package/dist/types/tool.d.ts.map +1 -0
  190. package/dist/types/tool.js +42 -0
  191. package/dist/types/tool.js.map +1 -0
  192. package/dist/utils/error.d.ts +22 -0
  193. package/dist/utils/error.d.ts.map +1 -0
  194. package/dist/utils/error.js +36 -0
  195. package/dist/utils/error.js.map +1 -0
  196. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/audit/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Context Builder
3
+ *
4
+ * Builds LLM context from conversation history.
5
+ * Handles context length limits and message prioritization.
6
+ *
7
+ * _Requirements: 9.3_
8
+ */
9
+ import type { ChatMessage } from '../llm/adapter.js';
10
+ import type { Message } from './session.js';
11
+ import type { StoredMessage } from './message-store.js';
12
+ /**
13
+ * Context builder configuration
14
+ */
15
+ export interface ContextBuilderConfig {
16
+ /** Maximum number of tokens in context (approximate) */
17
+ maxTokens?: number;
18
+ /** Maximum number of messages to include */
19
+ maxMessages?: number;
20
+ /** Whether to include system messages */
21
+ includeSystemMessages?: boolean;
22
+ /** Whether to include tool call details */
23
+ includeToolCalls?: boolean;
24
+ /** System prompt to prepend */
25
+ systemPrompt?: string;
26
+ /** Average characters per token (for estimation) */
27
+ charsPerToken?: number;
28
+ }
29
+ /**
30
+ * Built context result
31
+ */
32
+ export interface BuiltContext {
33
+ /** Messages formatted for LLM */
34
+ messages: ChatMessage[];
35
+ /** Estimated token count */
36
+ estimatedTokens: number;
37
+ /** Number of messages included */
38
+ messageCount: number;
39
+ /** Whether context was truncated */
40
+ truncated: boolean;
41
+ /** Number of messages that were truncated */
42
+ truncatedCount: number;
43
+ }
44
+ /**
45
+ * Context Builder
46
+ *
47
+ * Builds LLM context from conversation history with intelligent
48
+ * truncation and prioritization.
49
+ */
50
+ export declare class ContextBuilder {
51
+ private config;
52
+ constructor(config?: ContextBuilderConfig);
53
+ /**
54
+ * Build context from messages
55
+ *
56
+ * @param messages - Conversation messages (should be in chronological order)
57
+ * @param currentMessage - Optional current user message to append
58
+ * @returns Built context with LLM-formatted messages
59
+ */
60
+ build(messages: (Message | StoredMessage)[], currentMessage?: string): BuiltContext;
61
+ /**
62
+ * Build context from messages with a specific token budget
63
+ *
64
+ * @param messages - Conversation messages
65
+ * @param tokenBudget - Maximum tokens to use
66
+ * @returns Built context
67
+ */
68
+ buildWithBudget(messages: (Message | StoredMessage)[], tokenBudget: number): BuiltContext;
69
+ /**
70
+ * Convert messages to ChatMessage format without truncation
71
+ *
72
+ * @param messages - Conversation messages
73
+ * @returns Array of ChatMessage
74
+ */
75
+ toChat(messages: (Message | StoredMessage)[]): ChatMessage[];
76
+ /**
77
+ * Estimate token count for a string
78
+ *
79
+ * @param text - Text to estimate
80
+ * @returns Estimated token count
81
+ */
82
+ estimateTokens(text: string): number;
83
+ /**
84
+ * Estimate total tokens for messages
85
+ *
86
+ * @param messages - Messages to estimate
87
+ * @returns Total estimated tokens
88
+ */
89
+ estimateTotalTokens(messages: (Message | StoredMessage)[]): number;
90
+ /**
91
+ * Update configuration
92
+ *
93
+ * @param config - New configuration (merged with existing)
94
+ */
95
+ updateConfig(config: Partial<ContextBuilderConfig>): void;
96
+ /**
97
+ * Get current configuration
98
+ */
99
+ getConfig(): Required<ContextBuilderConfig>;
100
+ /**
101
+ * Prioritize messages for context building
102
+ */
103
+ private prioritizeMessages;
104
+ /**
105
+ * Convert a Message to ChatMessage format
106
+ */
107
+ private toChatMessage;
108
+ }
109
+ /**
110
+ * Create a new ContextBuilder instance
111
+ */
112
+ export declare function createContextBuilder(config?: ContextBuilderConfig): ContextBuilder;
113
+ /**
114
+ * Utility function to quickly build context from messages
115
+ */
116
+ export declare function buildContext(messages: (Message | StoredMessage)[], options?: ContextBuilderConfig & {
117
+ currentMessage?: string;
118
+ }): BuiltContext;
119
+ //# sourceMappingURL=context-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../src/conversation/context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;CACxB;AAWD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiC;gBAEnC,MAAM,CAAC,EAAE,oBAAoB;IAIzC;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,YAAY;IAiFnF;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY;IAQzF;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,WAAW,EAAE;IAwB5D;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC;;;;;OAKG;IACH,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,MAAM;IAclE;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAIzD;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,oBAAoB,CAAC;IAI3C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsC1B;;OAEG;IACH,OAAO,CAAC,aAAa;CAgBtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAElF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,CAAC,OAAO,GAAG,aAAa,CAAC,EAAE,EACrC,OAAO,CAAC,EAAE,oBAAoB,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,YAAY,CAGd"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Context Builder
3
+ *
4
+ * Builds LLM context from conversation history.
5
+ * Handles context length limits and message prioritization.
6
+ *
7
+ * _Requirements: 9.3_
8
+ */
9
+ /**
10
+ * Default configuration
11
+ */
12
+ const DEFAULT_CONFIG = {
13
+ maxTokens: 4000,
14
+ maxMessages: 20,
15
+ includeSystemMessages: true,
16
+ includeToolCalls: true,
17
+ systemPrompt: '',
18
+ charsPerToken: 4,
19
+ };
20
+ /**
21
+ * Context Builder
22
+ *
23
+ * Builds LLM context from conversation history with intelligent
24
+ * truncation and prioritization.
25
+ */
26
+ export class ContextBuilder {
27
+ config;
28
+ constructor(config) {
29
+ this.config = { ...DEFAULT_CONFIG, ...config };
30
+ }
31
+ /**
32
+ * Build context from messages
33
+ *
34
+ * @param messages - Conversation messages (should be in chronological order)
35
+ * @param currentMessage - Optional current user message to append
36
+ * @returns Built context with LLM-formatted messages
37
+ */
38
+ build(messages, currentMessage) {
39
+ // Filter and prioritize messages
40
+ const prioritized = this.prioritizeMessages(messages);
41
+ // Calculate available tokens
42
+ let availableTokens = this.config.maxTokens;
43
+ const result = [];
44
+ let truncated = false;
45
+ let truncatedCount = 0;
46
+ // Add system prompt if configured
47
+ if (this.config.systemPrompt) {
48
+ const systemTokens = this.estimateTokens(this.config.systemPrompt);
49
+ result.push({
50
+ role: 'system',
51
+ content: this.config.systemPrompt,
52
+ });
53
+ availableTokens -= systemTokens;
54
+ }
55
+ // Reserve tokens for current message if provided
56
+ let currentMessageTokens = 0;
57
+ if (currentMessage) {
58
+ currentMessageTokens = this.estimateTokens(currentMessage);
59
+ availableTokens -= currentMessageTokens;
60
+ }
61
+ // Select messages that fit within token limit
62
+ const selectedMessages = [];
63
+ let totalTokens = 0;
64
+ // Process messages from most recent to oldest (higher priority first)
65
+ const sortedByPriority = [...prioritized].sort((a, b) => b.priority - a.priority);
66
+ for (const pm of sortedByPriority) {
67
+ if (selectedMessages.length >= this.config.maxMessages) {
68
+ truncated = true;
69
+ truncatedCount++;
70
+ continue;
71
+ }
72
+ if (totalTokens + pm.tokenEstimate <= availableTokens) {
73
+ selectedMessages.push(pm);
74
+ totalTokens += pm.tokenEstimate;
75
+ }
76
+ else {
77
+ truncated = true;
78
+ truncatedCount++;
79
+ }
80
+ }
81
+ // Sort selected messages back to chronological order
82
+ selectedMessages.sort((a, b) => a.message.timestamp.getTime() - b.message.timestamp.getTime());
83
+ // Convert to ChatMessage format
84
+ for (const pm of selectedMessages) {
85
+ const chatMessage = this.toChatMessage(pm.message);
86
+ if (chatMessage) {
87
+ result.push(chatMessage);
88
+ }
89
+ }
90
+ // Add current message if provided
91
+ if (currentMessage) {
92
+ result.push({
93
+ role: 'user',
94
+ content: currentMessage,
95
+ });
96
+ totalTokens += currentMessageTokens;
97
+ }
98
+ return {
99
+ messages: result,
100
+ estimatedTokens: totalTokens +
101
+ (this.config.systemPrompt ? this.estimateTokens(this.config.systemPrompt) : 0),
102
+ messageCount: result.length,
103
+ truncated,
104
+ truncatedCount,
105
+ };
106
+ }
107
+ /**
108
+ * Build context from messages with a specific token budget
109
+ *
110
+ * @param messages - Conversation messages
111
+ * @param tokenBudget - Maximum tokens to use
112
+ * @returns Built context
113
+ */
114
+ buildWithBudget(messages, tokenBudget) {
115
+ const originalMaxTokens = this.config.maxTokens;
116
+ this.config.maxTokens = tokenBudget;
117
+ const result = this.build(messages);
118
+ this.config.maxTokens = originalMaxTokens;
119
+ return result;
120
+ }
121
+ /**
122
+ * Convert messages to ChatMessage format without truncation
123
+ *
124
+ * @param messages - Conversation messages
125
+ * @returns Array of ChatMessage
126
+ */
127
+ toChat(messages) {
128
+ const result = [];
129
+ // Add system prompt if configured
130
+ if (this.config.systemPrompt) {
131
+ result.push({
132
+ role: 'system',
133
+ content: this.config.systemPrompt,
134
+ });
135
+ }
136
+ // Sort by timestamp to ensure chronological order
137
+ const sorted = [...messages].sort((a, b) => a.timestamp.getTime() - b.timestamp.getTime());
138
+ for (const message of sorted) {
139
+ const chatMessage = this.toChatMessage(message);
140
+ if (chatMessage) {
141
+ result.push(chatMessage);
142
+ }
143
+ }
144
+ return result;
145
+ }
146
+ /**
147
+ * Estimate token count for a string
148
+ *
149
+ * @param text - Text to estimate
150
+ * @returns Estimated token count
151
+ */
152
+ estimateTokens(text) {
153
+ return Math.ceil(text.length / this.config.charsPerToken);
154
+ }
155
+ /**
156
+ * Estimate total tokens for messages
157
+ *
158
+ * @param messages - Messages to estimate
159
+ * @returns Total estimated tokens
160
+ */
161
+ estimateTotalTokens(messages) {
162
+ let total = 0;
163
+ if (this.config.systemPrompt) {
164
+ total += this.estimateTokens(this.config.systemPrompt);
165
+ }
166
+ for (const message of messages) {
167
+ total += this.estimateTokens(message.content);
168
+ if (this.config.includeToolCalls && message.toolCalls) {
169
+ total += this.estimateTokens(JSON.stringify(message.toolCalls));
170
+ }
171
+ }
172
+ return total;
173
+ }
174
+ /**
175
+ * Update configuration
176
+ *
177
+ * @param config - New configuration (merged with existing)
178
+ */
179
+ updateConfig(config) {
180
+ this.config = { ...this.config, ...config };
181
+ }
182
+ /**
183
+ * Get current configuration
184
+ */
185
+ getConfig() {
186
+ return { ...this.config };
187
+ }
188
+ /**
189
+ * Prioritize messages for context building
190
+ */
191
+ prioritizeMessages(messages) {
192
+ const result = [];
193
+ const now = Date.now();
194
+ for (let i = 0; i < messages.length; i++) {
195
+ const message = messages[i];
196
+ // Skip system messages if not configured to include them
197
+ if (message.role === 'system' && !this.config.includeSystemMessages) {
198
+ continue;
199
+ }
200
+ // Calculate priority based on:
201
+ // 1. Recency (more recent = higher priority)
202
+ // 2. Position (later in conversation = higher priority)
203
+ // 3. Role (user messages slightly higher priority)
204
+ const recencyScore = 1 - (now - message.timestamp.getTime()) / (24 * 60 * 60 * 1000);
205
+ const positionScore = i / messages.length;
206
+ const roleScore = message.role === 'user' ? 0.1 : 0;
207
+ const priority = recencyScore * 0.5 + positionScore * 0.4 + roleScore;
208
+ // Estimate tokens
209
+ let tokenEstimate = this.estimateTokens(message.content);
210
+ if (this.config.includeToolCalls && message.toolCalls) {
211
+ tokenEstimate += this.estimateTokens(JSON.stringify(message.toolCalls));
212
+ }
213
+ result.push({
214
+ message,
215
+ priority,
216
+ tokenEstimate,
217
+ });
218
+ }
219
+ return result;
220
+ }
221
+ /**
222
+ * Convert a Message to ChatMessage format
223
+ */
224
+ toChatMessage(message) {
225
+ let content = message.content;
226
+ // Append tool call information if configured
227
+ if (this.config.includeToolCalls && message.toolCalls && message.toolCalls.length > 0) {
228
+ const toolCallSummary = message.toolCalls
229
+ .map((tc) => `[Tool: ${tc.toolName}] ${tc.result.success ? '✓' : '✗'} ${tc.result.content}`)
230
+ .join('\n');
231
+ content = `${content}\n\n${toolCallSummary}`;
232
+ }
233
+ return {
234
+ role: message.role === 'assistant' ? 'assistant' : message.role,
235
+ content,
236
+ };
237
+ }
238
+ }
239
+ /**
240
+ * Create a new ContextBuilder instance
241
+ */
242
+ export function createContextBuilder(config) {
243
+ return new ContextBuilder(config);
244
+ }
245
+ /**
246
+ * Utility function to quickly build context from messages
247
+ */
248
+ export function buildContext(messages, options) {
249
+ const builder = new ContextBuilder(options);
250
+ return builder.build(messages, options?.currentMessage);
251
+ }
252
+ //# sourceMappingURL=context-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../src/conversation/context-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Conversation Module
3
+ *
4
+ * Provides conversation history management, message storage,
5
+ * and context building for the Agent.
6
+ */
7
+ export * from './session.js';
8
+ export * from './message-store.js';
9
+ export * from './context-builder.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Conversation Module
3
+ *
4
+ * Provides conversation history management, message storage,
5
+ * and context building for the Agent.
6
+ */
7
+ export * from './session.js';
8
+ export * from './message-store.js';
9
+ export * from './context-builder.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Message Store
3
+ *
4
+ * Provides persistent storage for conversation messages.
5
+ * Supports storing user messages, agent responses, and tool call records.
6
+ *
7
+ * _Requirements: 9.2_
8
+ */
9
+ import type { AgentResponse, ToolCallRecord } from '../types/response.js';
10
+ import type { Message, Session } from './session.js';
11
+ /**
12
+ * Stored message with additional persistence metadata
13
+ */
14
+ export interface StoredMessage extends Message {
15
+ /** Session ID this message belongs to */
16
+ sessionId: string;
17
+ /** Whether the message has been persisted */
18
+ persisted: boolean;
19
+ /** Persistence timestamp */
20
+ persistedAt?: Date;
21
+ }
22
+ /**
23
+ * Stored session with persistence metadata
24
+ */
25
+ export interface StoredSession extends Session {
26
+ /** Whether the session has been persisted */
27
+ persisted: boolean;
28
+ /** Persistence timestamp */
29
+ persistedAt?: Date;
30
+ }
31
+ /**
32
+ * Message query options
33
+ */
34
+ export interface MessageQueryOptions {
35
+ /** Filter by session ID */
36
+ sessionId?: string;
37
+ /** Filter by role */
38
+ role?: 'user' | 'assistant' | 'system';
39
+ /** Filter by response type (for assistant messages) */
40
+ responseType?: string;
41
+ /** Filter by timestamp (after) */
42
+ after?: Date;
43
+ /** Filter by timestamp (before) */
44
+ before?: Date;
45
+ /** Include tool calls in results */
46
+ includeToolCalls?: boolean;
47
+ /** Maximum number of messages to return */
48
+ limit?: number;
49
+ /** Offset for pagination */
50
+ offset?: number;
51
+ /** Sort order */
52
+ order?: 'asc' | 'desc';
53
+ }
54
+ /**
55
+ * Tool call query options
56
+ */
57
+ export interface ToolCallQueryOptions {
58
+ /** Filter by session ID */
59
+ sessionId?: string;
60
+ /** Filter by tool name */
61
+ toolName?: string;
62
+ /** Filter by success status */
63
+ success?: boolean;
64
+ /** Filter by timestamp (after) */
65
+ after?: Date;
66
+ /** Filter by timestamp (before) */
67
+ before?: Date;
68
+ /** Maximum number of results */
69
+ limit?: number;
70
+ }
71
+ /**
72
+ * Stored tool call record with additional metadata
73
+ */
74
+ export interface StoredToolCall extends ToolCallRecord {
75
+ /** Unique ID for this tool call */
76
+ id: string;
77
+ /** Session ID */
78
+ sessionId: string;
79
+ /** Message ID this tool call belongs to */
80
+ messageId: string;
81
+ /** Timestamp of the tool call */
82
+ timestamp: Date;
83
+ }
84
+ /**
85
+ * Message Store
86
+ *
87
+ * In-memory message store with support for persistence hooks.
88
+ * Can be extended with database persistence by implementing the
89
+ * MessagePersistence interface.
90
+ */
91
+ export declare class MessageStore {
92
+ private messages;
93
+ private sessions;
94
+ private toolCalls;
95
+ private messagesBySession;
96
+ private toolCallsBySession;
97
+ private toolCallsByMessage;
98
+ /**
99
+ * Store a user message
100
+ *
101
+ * @param sessionId - Session ID
102
+ * @param content - Message content
103
+ * @param metadata - Optional metadata
104
+ * @returns The stored message
105
+ */
106
+ storeUserMessage(sessionId: string, content: string, metadata?: Record<string, unknown>): StoredMessage;
107
+ /**
108
+ * Store an assistant message with agent response
109
+ *
110
+ * @param sessionId - Session ID
111
+ * @param response - Agent response
112
+ * @param metadata - Optional metadata
113
+ * @returns The stored message
114
+ */
115
+ storeAssistantMessage(sessionId: string, response: AgentResponse, metadata?: Record<string, unknown>): StoredMessage;
116
+ /**
117
+ * Store a system message
118
+ *
119
+ * @param sessionId - Session ID
120
+ * @param content - Message content
121
+ * @returns The stored message
122
+ */
123
+ storeSystemMessage(sessionId: string, content: string): StoredMessage;
124
+ /**
125
+ * Store tool call records
126
+ *
127
+ * @param sessionId - Session ID
128
+ * @param messageId - Message ID
129
+ * @param toolCalls - Tool call records
130
+ */
131
+ private storeToolCalls;
132
+ /**
133
+ * Get a message by ID
134
+ *
135
+ * @param messageId - Message ID
136
+ * @returns The message or undefined
137
+ */
138
+ getMessage(messageId: string): StoredMessage | undefined;
139
+ /**
140
+ * Query messages with filters
141
+ *
142
+ * @param options - Query options
143
+ * @returns Array of matching messages
144
+ */
145
+ queryMessages(options?: MessageQueryOptions): StoredMessage[];
146
+ /**
147
+ * Get conversation history for a session
148
+ * Messages are returned in chronological order
149
+ *
150
+ * @param sessionId - Session ID
151
+ * @returns Array of messages ordered by timestamp
152
+ */
153
+ getSessionHistory(sessionId: string): StoredMessage[];
154
+ /**
155
+ * Query tool calls with filters
156
+ *
157
+ * @param options - Query options
158
+ * @returns Array of matching tool calls
159
+ */
160
+ queryToolCalls(options?: ToolCallQueryOptions): StoredToolCall[];
161
+ /**
162
+ * Get tool calls for a specific message
163
+ *
164
+ * @param messageId - Message ID
165
+ * @returns Array of tool calls
166
+ */
167
+ getToolCallsForMessage(messageId: string): StoredToolCall[];
168
+ /**
169
+ * Get a session by ID
170
+ *
171
+ * @param sessionId - Session ID
172
+ * @returns The session or undefined
173
+ */
174
+ getSession(sessionId: string): StoredSession | undefined;
175
+ /**
176
+ * Get all sessions
177
+ *
178
+ * @returns Array of all sessions
179
+ */
180
+ getAllSessions(): StoredSession[];
181
+ /**
182
+ * Delete a message
183
+ *
184
+ * @param messageId - Message ID
185
+ * @returns True if deleted
186
+ */
187
+ deleteMessage(messageId: string): boolean;
188
+ /**
189
+ * Delete all messages in a session
190
+ *
191
+ * @param sessionId - Session ID
192
+ * @returns Number of messages deleted
193
+ */
194
+ deleteSessionMessages(sessionId: string): number;
195
+ /**
196
+ * Get message count for a session
197
+ *
198
+ * @param sessionId - Session ID
199
+ * @returns Number of messages
200
+ */
201
+ getMessageCount(sessionId: string): number;
202
+ /**
203
+ * Get total message count across all sessions
204
+ *
205
+ * @returns Total number of messages
206
+ */
207
+ getTotalMessageCount(): number;
208
+ /**
209
+ * Get total tool call count
210
+ *
211
+ * @returns Total number of tool calls
212
+ */
213
+ getTotalToolCallCount(): number;
214
+ /**
215
+ * Clear all data
216
+ */
217
+ clear(): void;
218
+ /**
219
+ * Ensure a session exists
220
+ */
221
+ private ensureSession;
222
+ /**
223
+ * Add a message to storage
224
+ */
225
+ private addMessage;
226
+ }
227
+ /**
228
+ * Create a new MessageStore instance
229
+ */
230
+ export declare function createMessageStore(): MessageStore;
231
+ //# sourceMappingURL=message-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-store.d.ts","sourceRoot":"","sources":["../../src/conversation/message-store.ts"],"names":[],"mappings":"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"}