@recallbricks/runtime 0.2.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 (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +502 -0
  3. package/dist/adapters/api/index.d.ts +2 -0
  4. package/dist/adapters/api/index.d.ts.map +1 -0
  5. package/dist/adapters/api/index.js +6 -0
  6. package/dist/adapters/api/index.js.map +1 -0
  7. package/dist/adapters/api/server.d.ts +13 -0
  8. package/dist/adapters/api/server.d.ts.map +1 -0
  9. package/dist/adapters/api/server.js +241 -0
  10. package/dist/adapters/api/server.js.map +1 -0
  11. package/dist/adapters/mcp/index.d.ts +2 -0
  12. package/dist/adapters/mcp/index.d.ts.map +1 -0
  13. package/dist/adapters/mcp/index.js +6 -0
  14. package/dist/adapters/mcp/index.js.map +1 -0
  15. package/dist/adapters/mcp/server.d.ts +27 -0
  16. package/dist/adapters/mcp/server.d.ts.map +1 -0
  17. package/dist/adapters/mcp/server.js +227 -0
  18. package/dist/adapters/mcp/server.js.map +1 -0
  19. package/dist/adapters/typescript/index.d.ts +4 -0
  20. package/dist/adapters/typescript/index.d.ts.map +1 -0
  21. package/dist/adapters/typescript/index.js +24 -0
  22. package/dist/adapters/typescript/index.js.map +1 -0
  23. package/dist/api/RecallBricksClient.d.ts +53 -0
  24. package/dist/api/RecallBricksClient.d.ts.map +1 -0
  25. package/dist/api/RecallBricksClient.js +129 -0
  26. package/dist/api/RecallBricksClient.js.map +1 -0
  27. package/dist/api/TelemetryClient.d.ts +54 -0
  28. package/dist/api/TelemetryClient.d.ts.map +1 -0
  29. package/dist/api/TelemetryClient.js +190 -0
  30. package/dist/api/TelemetryClient.js.map +1 -0
  31. package/dist/api/index.d.ts +3 -0
  32. package/dist/api/index.d.ts.map +1 -0
  33. package/dist/api/index.js +6 -0
  34. package/dist/api/index.js.map +1 -0
  35. package/dist/config/index.d.ts +13 -0
  36. package/dist/config/index.d.ts.map +1 -0
  37. package/dist/config/index.js +206 -0
  38. package/dist/config/index.js.map +1 -0
  39. package/dist/core/AgentRuntime.d.ts +45 -0
  40. package/dist/core/AgentRuntime.d.ts.map +1 -0
  41. package/dist/core/AgentRuntime.js +328 -0
  42. package/dist/core/AgentRuntime.js.map +1 -0
  43. package/dist/core/AutoSaver.d.ts +26 -0
  44. package/dist/core/AutoSaver.d.ts.map +1 -0
  45. package/dist/core/AutoSaver.js +162 -0
  46. package/dist/core/AutoSaver.js.map +1 -0
  47. package/dist/core/CircuitBreaker.d.ts +64 -0
  48. package/dist/core/CircuitBreaker.d.ts.map +1 -0
  49. package/dist/core/CircuitBreaker.js +201 -0
  50. package/dist/core/CircuitBreaker.js.map +1 -0
  51. package/dist/core/ContextLoader.d.ts +31 -0
  52. package/dist/core/ContextLoader.d.ts.map +1 -0
  53. package/dist/core/ContextLoader.js +236 -0
  54. package/dist/core/ContextLoader.js.map +1 -0
  55. package/dist/core/ContextWeaver.d.ts +49 -0
  56. package/dist/core/ContextWeaver.d.ts.map +1 -0
  57. package/dist/core/ContextWeaver.js +216 -0
  58. package/dist/core/ContextWeaver.js.map +1 -0
  59. package/dist/core/IdentityValidator.d.ts +24 -0
  60. package/dist/core/IdentityValidator.d.ts.map +1 -0
  61. package/dist/core/IdentityValidator.js +161 -0
  62. package/dist/core/IdentityValidator.js.map +1 -0
  63. package/dist/core/LLMAdapter.d.ts +19 -0
  64. package/dist/core/LLMAdapter.d.ts.map +1 -0
  65. package/dist/core/LLMAdapter.js +223 -0
  66. package/dist/core/LLMAdapter.js.map +1 -0
  67. package/dist/core/Metrics.d.ts +96 -0
  68. package/dist/core/Metrics.d.ts.map +1 -0
  69. package/dist/core/Metrics.js +271 -0
  70. package/dist/core/Metrics.js.map +1 -0
  71. package/dist/core/RateLimiter.d.ts +39 -0
  72. package/dist/core/RateLimiter.d.ts.map +1 -0
  73. package/dist/core/RateLimiter.js +251 -0
  74. package/dist/core/RateLimiter.js.map +1 -0
  75. package/dist/core/ReflectionEngine.d.ts +70 -0
  76. package/dist/core/ReflectionEngine.d.ts.map +1 -0
  77. package/dist/core/ReflectionEngine.js +319 -0
  78. package/dist/core/ReflectionEngine.js.map +1 -0
  79. package/dist/index.d.ts +14 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +40 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/types/index.d.ts +259 -0
  84. package/dist/types/index.d.ts.map +1 -0
  85. package/dist/types/index.js +38 -0
  86. package/dist/types/index.js.map +1 -0
  87. package/package.json +91 -0
@@ -0,0 +1,45 @@
1
+ import { RuntimeConfig, RuntimeOptions, LLMMessage, ChatResponse, AgentIdentity, MemoryContext } from '../types';
2
+ import { Reflection, ReasoningTrace } from './ReflectionEngine';
3
+ import { RecallBricksClient } from '../api/RecallBricksClient';
4
+ export declare class AgentRuntime {
5
+ private config;
6
+ private logger;
7
+ private llmAdapter?;
8
+ private contextLoader;
9
+ private contextWeaver?;
10
+ private autoSaver;
11
+ private identityValidator?;
12
+ private reflectionEngine?;
13
+ private apiClient;
14
+ private currentIdentity?;
15
+ private currentContext?;
16
+ private weavedContext?;
17
+ private previousTurn?;
18
+ private conversationHistory;
19
+ private interactionCount;
20
+ constructor(options: RuntimeOptions);
21
+ chat(message: string, conversationHistory?: LLMMessage[]): Promise<ChatResponse>;
22
+ reflect(): Promise<Reflection>;
23
+ explain(query: string): Promise<ReasoningTrace>;
24
+ private buildEnrichedMessages;
25
+ private registerAgent;
26
+ getIdentity(): AgentIdentity;
27
+ getContext(): Promise<MemoryContext | undefined>;
28
+ refreshContext(): Promise<void>;
29
+ saveNow(): Promise<void>;
30
+ flush(): Promise<void>;
31
+ shutdown(): Promise<void>;
32
+ getConversationHistory(): LLMMessage[];
33
+ clearConversationHistory(): void;
34
+ getValidationStats(): {
35
+ total: number;
36
+ byType: Record<string, number>;
37
+ bySeverity: Record<string, number>;
38
+ } | undefined;
39
+ getReflectionHistory(): Reflection[];
40
+ getConfig(): RuntimeConfig;
41
+ getVersion(): string;
42
+ updateLLMConfig(newConfig: Partial<RuntimeConfig['llmConfig']>): void;
43
+ getApiClient(): RecallBricksClient;
44
+ }
45
+ //# sourceMappingURL=AgentRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EAEZ,aAAa,EACb,aAAa,EAGd,MAAM,UAAU,CAAC;AAOlB,OAAO,EAAoB,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAY/D,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAU;IAChC,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,OAAO,CAAC,gBAAgB,CAAK;gBAEjB,OAAO,EAAE,cAAc;IA0F7B,IAAI,CACR,OAAO,EAAE,MAAM,EACf,mBAAmB,CAAC,EAAE,UAAU,EAAE,GACjC,OAAO,CAAC,YAAY,CAAC;IA6JlB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAY9B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAcrD,OAAO,CAAC,qBAAqB;YA4Cf,aAAa;IAmB3B,WAAW,IAAI,aAAa;IAOtB,UAAU,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAWhD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B,sBAAsB,IAAI,UAAU,EAAE;IAOtC,wBAAwB,IAAI,IAAI;IAQhC,kBAAkB,IACd;QACE,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,GACD,SAAS;IAOb,oBAAoB,IAAI,UAAU,EAAE;IAOpC,SAAS,IAAI,aAAa;IAO1B,UAAU,IAAI,MAAM;IAOpB,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI;IAmBrE,YAAY,IAAI,kBAAkB;CAGnC"}
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentRuntime = void 0;
4
+ const config_1 = require("../config");
5
+ const LLMAdapter_1 = require("./LLMAdapter");
6
+ const ContextLoader_1 = require("./ContextLoader");
7
+ const ContextWeaver_1 = require("./ContextWeaver");
8
+ const AutoSaver_1 = require("./AutoSaver");
9
+ const IdentityValidator_1 = require("./IdentityValidator");
10
+ const ReflectionEngine_1 = require("./ReflectionEngine");
11
+ const RecallBricksClient_1 = require("../api/RecallBricksClient");
12
+ const RUNTIME_VERSION = '0.2.0';
13
+ class AgentRuntime {
14
+ constructor(options) {
15
+ this.conversationHistory = [];
16
+ this.interactionCount = 0;
17
+ this.config = (0, config_1.buildConfigFromOptions)(options);
18
+ this.logger = (0, config_1.createLogger)(this.config.debug);
19
+ this.logger.info('Initializing RecallBricks Agent Runtime', {
20
+ version: RUNTIME_VERSION,
21
+ agentId: this.config.agentId,
22
+ userId: this.config.userId,
23
+ provider: this.config.llmConfig?.provider,
24
+ tier: this.config.tier,
25
+ mcpMode: this.config.mcpMode,
26
+ });
27
+ this.apiClient = new RecallBricksClient_1.RecallBricksClient({
28
+ apiUrl: this.config.apiUrl,
29
+ apiKey: this.config.apiKey || '',
30
+ userId: this.config.userId,
31
+ logger: this.logger,
32
+ });
33
+ if (!this.config.mcpMode && this.config.llmConfig) {
34
+ this.llmAdapter = new LLMAdapter_1.LLMAdapter(this.config.llmConfig, this.logger);
35
+ }
36
+ this.contextLoader = new ContextLoader_1.ContextLoader({
37
+ apiUrl: this.config.apiUrl,
38
+ apiKey: this.config.apiKey || '',
39
+ agentId: this.config.agentId,
40
+ userId: this.config.userId,
41
+ agentName: this.config.agentName,
42
+ agentPurpose: this.config.agentPurpose,
43
+ cacheEnabled: this.config.cacheEnabled,
44
+ cacheTTL: this.config.cacheTTL,
45
+ maxContextTokens: this.config.maxContextTokens,
46
+ logger: this.logger,
47
+ });
48
+ this.contextWeaver = new ContextWeaver_1.ContextWeaver({
49
+ apiClient: this.apiClient,
50
+ agentId: this.config.agentId,
51
+ agentName: this.config.agentName || 'RecallBricks Agent',
52
+ agentPurpose: this.config.agentPurpose || 'A persistent cognitive agent',
53
+ maxContextMemories: 10,
54
+ maxContextTokens: this.config.maxContextTokens,
55
+ logger: this.logger,
56
+ });
57
+ this.autoSaver = new AutoSaver_1.AutoSaver({
58
+ apiUrl: this.config.apiUrl,
59
+ apiKey: this.config.apiKey || '',
60
+ agentId: this.config.agentId,
61
+ userId: this.config.userId,
62
+ tier: this.config.tier,
63
+ logger: this.logger,
64
+ });
65
+ if (this.llmAdapter) {
66
+ this.reflectionEngine = new ReflectionEngine_1.ReflectionEngine({
67
+ llmAdapter: this.llmAdapter,
68
+ apiClient: this.apiClient,
69
+ agentId: this.config.agentId,
70
+ agentName: this.config.agentName || 'RecallBricks Agent',
71
+ reflectionInterval: 5,
72
+ confidenceThreshold: 0.6,
73
+ logger: this.logger,
74
+ });
75
+ }
76
+ if (this.config.registerAgent === true) {
77
+ this.registerAgent().catch((err) => {
78
+ this.logger.debug('Agent registration skipped', { error: err.message });
79
+ });
80
+ }
81
+ this.logger.info('AgentRuntime initialized successfully');
82
+ }
83
+ async chat(message, conversationHistory) {
84
+ this.logger.info('Processing chat message', {
85
+ messageLength: message.length,
86
+ mcpMode: this.config.mcpMode,
87
+ });
88
+ const startTime = Date.now();
89
+ this.interactionCount++;
90
+ try {
91
+ if (this.previousTurn && this.config.autoSave) {
92
+ this.logger.debug('Saving previous conversation turn');
93
+ await this.autoSaver.save(this.previousTurn);
94
+ }
95
+ this.logger.debug('Building context from Memory Graph');
96
+ this.weavedContext = await this.contextWeaver.buildContext(message);
97
+ this.currentIdentity = this.weavedContext.identity;
98
+ this.currentContext = {
99
+ recentMemories: this.weavedContext.recentMemories,
100
+ relevantMemories: this.weavedContext.relevantMemories,
101
+ predictedContext: this.weavedContext.predictedTopics,
102
+ totalMemories: this.weavedContext.totalMemoriesAvailable,
103
+ lastUpdated: new Date().toISOString(),
104
+ };
105
+ if (this.config.validateIdentity && this.currentIdentity) {
106
+ this.identityValidator = new IdentityValidator_1.IdentityValidator({
107
+ agentIdentity: this.currentIdentity,
108
+ autoCorrect: true,
109
+ logger: this.logger,
110
+ });
111
+ }
112
+ if (this.config.mcpMode) {
113
+ this.logger.debug('MCP mode: returning context without LLM call');
114
+ const duration = Date.now() - startTime;
115
+ this.logger.info('Context loaded successfully in MCP mode', {
116
+ duration: `${duration}ms`,
117
+ });
118
+ return {
119
+ response: this.weavedContext.systemPrompt,
120
+ metadata: {
121
+ provider: 'none',
122
+ model: 'mcp-mode',
123
+ contextLoaded: true,
124
+ identityValidated: false,
125
+ autoSaved: false,
126
+ tokensUsed: 0,
127
+ },
128
+ };
129
+ }
130
+ const enrichedMessages = this.buildEnrichedMessages(message, conversationHistory);
131
+ if (!this.llmAdapter) {
132
+ throw new Error('LLM adapter not initialized. This should not happen in non-MCP mode.');
133
+ }
134
+ this.logger.debug('Calling LLM with enriched context');
135
+ const llmResponse = await this.llmAdapter.chat(enrichedMessages);
136
+ let finalResponse = llmResponse.content;
137
+ let identityValidated = false;
138
+ if (this.identityValidator) {
139
+ this.logger.debug('Validating response for identity violations');
140
+ const validation = this.identityValidator.validate(llmResponse.content);
141
+ if (!validation.isValid) {
142
+ this.logger.warn('Identity violations detected', {
143
+ count: validation.violations.length,
144
+ });
145
+ if (validation.correctedResponse) {
146
+ finalResponse = validation.correctedResponse;
147
+ identityValidated = true;
148
+ }
149
+ }
150
+ else {
151
+ identityValidated = true;
152
+ }
153
+ }
154
+ this.previousTurn = {
155
+ userMessage: message,
156
+ assistantResponse: finalResponse,
157
+ timestamp: new Date().toISOString(),
158
+ };
159
+ if (this.reflectionEngine) {
160
+ this.reflectionEngine.recordInteraction(this.previousTurn);
161
+ }
162
+ this.conversationHistory.push({ role: 'user', content: message }, { role: 'assistant', content: finalResponse });
163
+ const duration = Date.now() - startTime;
164
+ this.logger.info('Chat message processed successfully', {
165
+ duration: `${duration}ms`,
166
+ tokensUsed: llmResponse.usage?.totalTokens,
167
+ });
168
+ if (this.reflectionEngine) {
169
+ const { shouldReflect, trigger } = this.reflectionEngine.shouldReflect();
170
+ if (shouldReflect && trigger) {
171
+ this.reflectionEngine.reflect(trigger).then((reflection) => {
172
+ this.logger.info('Background reflection completed', {
173
+ insights: reflection.insights.length,
174
+ });
175
+ }).catch((err) => {
176
+ this.logger.warn('Background reflection failed', { error: err.message });
177
+ });
178
+ }
179
+ }
180
+ return {
181
+ response: finalResponse,
182
+ metadata: {
183
+ provider: llmResponse.provider,
184
+ model: llmResponse.model,
185
+ contextLoaded: true,
186
+ identityValidated,
187
+ autoSaved: this.config.autoSave,
188
+ tokensUsed: llmResponse.usage?.totalTokens,
189
+ },
190
+ };
191
+ }
192
+ catch (error) {
193
+ this.logger.error('Chat processing failed', { error });
194
+ throw error;
195
+ }
196
+ }
197
+ async reflect() {
198
+ if (!this.reflectionEngine) {
199
+ throw new Error('Reflection engine not initialized (requires LLM adapter)');
200
+ }
201
+ this.logger.info('Triggering manual reflection');
202
+ return this.reflectionEngine.reflect('manual');
203
+ }
204
+ async explain(query) {
205
+ if (!this.reflectionEngine) {
206
+ throw new Error('Reflection engine not initialized (requires LLM adapter)');
207
+ }
208
+ const context = await this.contextWeaver.buildContext(query);
209
+ return this.reflectionEngine.explain(query, context.memories);
210
+ }
211
+ buildEnrichedMessages(userMessage, conversationHistory) {
212
+ const messages = [];
213
+ if (this.weavedContext) {
214
+ messages.push({
215
+ role: 'system',
216
+ content: this.weavedContext.systemPrompt,
217
+ });
218
+ }
219
+ else if (this.currentIdentity && this.currentContext) {
220
+ const contextPrompt = this.contextLoader.formatContextPrompt(this.currentIdentity, this.currentContext);
221
+ messages.push({
222
+ role: 'system',
223
+ content: contextPrompt.systemPrompt,
224
+ });
225
+ }
226
+ if (conversationHistory && conversationHistory.length > 0) {
227
+ messages.push(...conversationHistory);
228
+ }
229
+ else if (this.conversationHistory.length > 0) {
230
+ messages.push(...this.conversationHistory.slice(-10));
231
+ }
232
+ messages.push({
233
+ role: 'user',
234
+ content: userMessage,
235
+ });
236
+ return messages;
237
+ }
238
+ async registerAgent() {
239
+ try {
240
+ await this.apiClient.registerAgent({
241
+ agentId: this.config.agentId,
242
+ runtimeVersion: RUNTIME_VERSION,
243
+ metadata: {
244
+ provider: this.config.llmConfig?.provider,
245
+ tier: this.config.tier,
246
+ },
247
+ });
248
+ this.logger.debug('Agent registered with RecallBricks');
249
+ }
250
+ catch {
251
+ }
252
+ }
253
+ getIdentity() {
254
+ return this.contextWeaver?.getIdentity() || this.currentIdentity;
255
+ }
256
+ async getContext() {
257
+ if (!this.currentContext) {
258
+ const contextResponse = await this.contextLoader.loadContext();
259
+ this.currentContext = contextResponse.context;
260
+ }
261
+ return this.currentContext;
262
+ }
263
+ async refreshContext() {
264
+ this.logger.info('Refreshing context');
265
+ this.contextLoader.clearCache();
266
+ const contextResponse = await this.contextLoader.loadContext();
267
+ this.currentIdentity = contextResponse.identity;
268
+ this.currentContext = contextResponse.context;
269
+ this.logger.info('Context refreshed successfully');
270
+ }
271
+ async saveNow() {
272
+ if (this.previousTurn) {
273
+ this.logger.info('Saving current conversation turn');
274
+ await this.autoSaver.saveSync(this.previousTurn);
275
+ this.previousTurn = undefined;
276
+ }
277
+ else {
278
+ this.logger.warn('No conversation turn to save');
279
+ }
280
+ }
281
+ async flush() {
282
+ this.logger.info('Flushing pending saves');
283
+ await this.autoSaver.flush();
284
+ this.logger.info('All saves completed');
285
+ }
286
+ async shutdown() {
287
+ this.logger.info('Shutting down AgentRuntime');
288
+ await this.flush();
289
+ this.logger.info('AgentRuntime shutdown complete');
290
+ }
291
+ getConversationHistory() {
292
+ return [...this.conversationHistory];
293
+ }
294
+ clearConversationHistory() {
295
+ this.conversationHistory = [];
296
+ this.logger.debug('Conversation history cleared');
297
+ }
298
+ getValidationStats() {
299
+ return this.identityValidator?.getViolationStats();
300
+ }
301
+ getReflectionHistory() {
302
+ return this.reflectionEngine?.getReflectionHistory() || [];
303
+ }
304
+ getConfig() {
305
+ return { ...this.config };
306
+ }
307
+ getVersion() {
308
+ return RUNTIME_VERSION;
309
+ }
310
+ updateLLMConfig(newConfig) {
311
+ if (this.config.mcpMode) {
312
+ this.logger.warn('Cannot update LLM config in MCP mode');
313
+ return;
314
+ }
315
+ if (!this.config.llmConfig) {
316
+ this.logger.warn('LLM config not initialized');
317
+ return;
318
+ }
319
+ this.config.llmConfig = { ...this.config.llmConfig, ...newConfig };
320
+ this.llmAdapter?.updateConfig(this.config.llmConfig);
321
+ this.logger.info('LLM configuration updated');
322
+ }
323
+ getApiClient() {
324
+ return this.apiClient;
325
+ }
326
+ }
327
+ exports.AgentRuntime = AgentRuntime;
328
+ //# sourceMappingURL=AgentRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRuntime.js","sourceRoot":"","sources":["../../src/core/AgentRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { ConversationTurn, SaveConversationResponse, RecallBricksTier, Logger } from '../types';
2
+ interface AutoSaverConfig {
3
+ apiUrl: string;
4
+ apiKey: string;
5
+ agentId: string;
6
+ userId: string;
7
+ tier: RecallBricksTier;
8
+ logger: Logger;
9
+ }
10
+ export declare class AutoSaver {
11
+ private config;
12
+ private apiClient;
13
+ private saveQueue;
14
+ private isProcessing;
15
+ constructor(config: AutoSaverConfig);
16
+ save(turn: ConversationTurn): Promise<boolean>;
17
+ saveSync(turn: ConversationTurn): Promise<SaveConversationResponse>;
18
+ private processQueue;
19
+ private classifyImportance;
20
+ private calculateHeuristicImportance;
21
+ flush(): Promise<void>;
22
+ getQueueSize(): number;
23
+ private handleAPIError;
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=AutoSaver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoSaver.d.ts","sourceRoot":"","sources":["../../src/core/AutoSaver.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EAExB,gBAAgB,EAEhB,MAAM,EACP,MAAM,UAAU,CAAC;AAMlB,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD,qBAAa,SAAS;IASR,OAAO,CAAC,MAAM;IAR1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,SAAS,CAIT;IACR,OAAO,CAAC,YAAY,CAAS;gBAET,MAAM,EAAE,eAAe;IAmBrC,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAc9C,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,CAAC;YA0D3D,YAAY;YA4BZ,kBAAkB;IAiBhC,OAAO,CAAC,4BAA4B;IA+C9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,YAAY,IAAI,MAAM;IAOtB,OAAO,CAAC,cAAc;CAoBvB"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AutoSaver = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const p_retry_1 = __importDefault(require("p-retry"));
9
+ const types_1 = require("../types");
10
+ class AutoSaver {
11
+ constructor(config) {
12
+ this.config = config;
13
+ this.saveQueue = [];
14
+ this.isProcessing = false;
15
+ this.apiClient = axios_1.default.create({
16
+ baseURL: config.apiUrl,
17
+ timeout: 30000,
18
+ headers: {
19
+ 'Content-Type': 'application/json',
20
+ 'X-API-Key': config.apiKey,
21
+ },
22
+ });
23
+ config.logger.debug('AutoSaver initialized', {
24
+ tier: config.tier,
25
+ apiUrl: config.apiUrl,
26
+ });
27
+ }
28
+ async save(turn) {
29
+ this.config.logger.debug('Queuing conversation turn for save', {
30
+ timestamp: turn.timestamp,
31
+ });
32
+ return new Promise((resolve, reject) => {
33
+ this.saveQueue.push({ turn, resolve, reject });
34
+ this.processQueue();
35
+ });
36
+ }
37
+ async saveSync(turn) {
38
+ this.config.logger.debug('Saving conversation turn synchronously');
39
+ const importance = turn.importance ?? (await this.classifyImportance(turn));
40
+ const conversationText = `User: ${turn.userMessage}
41
+ Assistant: ${turn.assistantResponse}`;
42
+ try {
43
+ const response = await (0, p_retry_1.default)(async () => {
44
+ const result = await this.apiClient.post('/api/v1/memories', {
45
+ text: conversationText,
46
+ source: 'agent-runtime',
47
+ metadata: {
48
+ importance: importance,
49
+ agent_id: this.config.agentId,
50
+ timestamp: turn.timestamp,
51
+ },
52
+ });
53
+ return result.data;
54
+ }, {
55
+ retries: 3,
56
+ minTimeout: 1000,
57
+ onFailedAttempt: (error) => {
58
+ this.config.logger.warn(`Save attempt ${error.attemptNumber} failed. ${error.retriesLeft} retries left.`);
59
+ },
60
+ });
61
+ this.config.logger.info('Conversation saved successfully', {
62
+ memoryId: response.id,
63
+ importance: response.metadata?.importance ?? importance,
64
+ });
65
+ return {
66
+ success: true,
67
+ memoryId: response.id,
68
+ importance: response.metadata?.importance ?? importance,
69
+ };
70
+ }
71
+ catch (error) {
72
+ this.config.logger.error('Failed to save conversation', { error });
73
+ throw this.handleAPIError(error);
74
+ }
75
+ }
76
+ async processQueue() {
77
+ if (this.isProcessing || this.saveQueue.length === 0) {
78
+ return;
79
+ }
80
+ this.isProcessing = true;
81
+ while (this.saveQueue.length > 0) {
82
+ const item = this.saveQueue.shift();
83
+ if (!item)
84
+ continue;
85
+ try {
86
+ await this.saveSync(item.turn);
87
+ item.resolve(true);
88
+ }
89
+ catch (error) {
90
+ this.config.logger.error('Queue processing error', { error });
91
+ item.reject(error instanceof Error ? error : new Error('Unknown error'));
92
+ }
93
+ }
94
+ this.isProcessing = false;
95
+ }
96
+ async classifyImportance(turn) {
97
+ this.config.logger.debug('Classifying conversation importance');
98
+ const importance = this.calculateHeuristicImportance(turn);
99
+ this.config.logger.debug('Importance classified', { importance });
100
+ return importance;
101
+ }
102
+ calculateHeuristicImportance(turn) {
103
+ let score = 0.5;
104
+ const responseLength = turn.assistantResponse.length;
105
+ if (responseLength > 1000)
106
+ score += 0.2;
107
+ else if (responseLength > 500)
108
+ score += 0.1;
109
+ const questionCount = (turn.userMessage.match(/\?/g) || []).length;
110
+ score += Math.min(questionCount * 0.1, 0.2);
111
+ const exclamationCount = (turn.userMessage.match(/!/g) || []).length;
112
+ score += Math.min(exclamationCount * 0.05, 0.1);
113
+ const codeBlockCount = (turn.assistantResponse.match(/```/g) || []).length / 2;
114
+ score += Math.min(codeBlockCount * 0.1, 0.2);
115
+ const importantKeywords = [
116
+ 'important',
117
+ 'critical',
118
+ 'remember',
119
+ 'note',
120
+ 'warning',
121
+ 'error',
122
+ 'issue',
123
+ 'problem',
124
+ 'solution',
125
+ 'decision',
126
+ ];
127
+ const lowerMessage = turn.userMessage.toLowerCase();
128
+ const keywordMatches = importantKeywords.filter((keyword) => lowerMessage.includes(keyword)).length;
129
+ score += Math.min(keywordMatches * 0.1, 0.3);
130
+ return Math.max(0, Math.min(1, score));
131
+ }
132
+ async flush() {
133
+ this.config.logger.debug('Flushing save queue', {
134
+ queueSize: this.saveQueue.length,
135
+ });
136
+ while (this.saveQueue.length > 0 || this.isProcessing) {
137
+ await new Promise((resolve) => setTimeout(resolve, 100));
138
+ }
139
+ this.config.logger.info('Save queue flushed');
140
+ }
141
+ getQueueSize() {
142
+ return this.saveQueue.length;
143
+ }
144
+ handleAPIError(error) {
145
+ if (axios_1.default.isAxiosError(error)) {
146
+ const status = error.response?.status || 500;
147
+ const message = error.response?.data?.message ||
148
+ error.message ||
149
+ 'Unknown API error';
150
+ return new types_1.APIError(message, status, {
151
+ url: error.config?.url,
152
+ method: error.config?.method,
153
+ });
154
+ }
155
+ if (error instanceof Error) {
156
+ return new types_1.APIError(error.message, 500);
157
+ }
158
+ return new types_1.APIError('Unknown error occurred', 500, { error });
159
+ }
160
+ }
161
+ exports.AutoSaver = AutoSaver;
162
+ //# sourceMappingURL=AutoSaver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoSaver.js","sourceRoot":"","sources":["../../src/core/AutoSaver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { Logger } from '../types';
2
+ export interface CircuitBreakerConfig {
3
+ failureThreshold: number;
4
+ resetTimeout: number;
5
+ monitorInterval: number;
6
+ halfOpenMaxAttempts: number;
7
+ name: string;
8
+ }
9
+ export type CircuitState = 'closed' | 'open' | 'half-open';
10
+ export interface CircuitBreakerStats {
11
+ state: CircuitState;
12
+ failures: number;
13
+ successes: number;
14
+ totalRequests: number;
15
+ lastFailureTime?: number;
16
+ lastSuccessTime?: number;
17
+ stateChanges: number;
18
+ uptime: number;
19
+ }
20
+ export declare class CircuitBreakerOpenError extends Error {
21
+ constructor(circuitName: string, nextRetryTime?: number);
22
+ }
23
+ export declare class CircuitBreaker {
24
+ private config;
25
+ private logger;
26
+ private state;
27
+ private failures;
28
+ private successes;
29
+ private totalRequests;
30
+ private lastFailureTime?;
31
+ private lastSuccessTime?;
32
+ private stateChanges;
33
+ private createdAt;
34
+ private nextRetryTime?;
35
+ private halfOpenAttempts;
36
+ constructor(config: CircuitBreakerConfig, logger: Logger);
37
+ execute<T>(fn: () => Promise<T>): Promise<T>;
38
+ private onSuccess;
39
+ private onFailure;
40
+ private shouldAttemptReset;
41
+ private transitionToClosed;
42
+ private transitionToOpen;
43
+ private transitionToHalfOpen;
44
+ getState(): CircuitState;
45
+ getStats(): CircuitBreakerStats;
46
+ forceClose(): void;
47
+ forceOpen(): void;
48
+ resetStats(): void;
49
+ }
50
+ export declare class CircuitBreakerManager {
51
+ private logger;
52
+ private breakers;
53
+ constructor(logger: Logger);
54
+ getOrCreate(name: string, config?: Partial<CircuitBreakerConfig>): CircuitBreaker;
55
+ getAll(): Map<string, CircuitBreaker>;
56
+ getAllStats(): Record<string, CircuitBreakerStats>;
57
+ forceCloseAll(): void;
58
+ getHealth(): {
59
+ healthy: boolean;
60
+ openCircuits: string[];
61
+ totalCircuits: number;
62
+ };
63
+ }
64
+ //# sourceMappingURL=CircuitBreaker.d.ts.map