@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,241 @@
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.RecallBricksAPIServer = void 0;
7
+ const express_1 = __importDefault(require("express"));
8
+ const cors_1 = __importDefault(require("cors"));
9
+ const helmet_1 = __importDefault(require("helmet"));
10
+ const AgentRuntime_1 = require("../../core/AgentRuntime");
11
+ const types_1 = require("../../types");
12
+ class RecallBricksAPIServer {
13
+ constructor(port = 3000) {
14
+ this.app = (0, express_1.default)();
15
+ this.port = port;
16
+ this.setupMiddleware();
17
+ this.setupRoutes();
18
+ }
19
+ setupMiddleware() {
20
+ this.app.use((0, helmet_1.default)());
21
+ this.app.use((0, cors_1.default)());
22
+ this.app.use(express_1.default.json({ limit: '10mb' }));
23
+ this.app.use(express_1.default.urlencoded({ extended: true }));
24
+ this.app.use((req, _res, next) => {
25
+ console.log(`[${new Date().toISOString()}] ${req.method} ${req.path}`);
26
+ next();
27
+ });
28
+ }
29
+ setupRoutes() {
30
+ this.app.get('/health', (_req, res) => {
31
+ return res.json({
32
+ status: 'healthy',
33
+ version: '0.1.0',
34
+ timestamp: new Date().toISOString(),
35
+ });
36
+ });
37
+ this.app.post('/init', async (req, res) => {
38
+ try {
39
+ const options = req.body;
40
+ if (!options.agentId || !options.userId) {
41
+ return res.status(400).json({
42
+ error: 'Missing required fields: agentId and userId',
43
+ });
44
+ }
45
+ this.runtime = new AgentRuntime_1.AgentRuntime(options);
46
+ return res.json({
47
+ success: true,
48
+ message: 'Runtime initialized successfully',
49
+ agentId: options.agentId,
50
+ userId: options.userId,
51
+ });
52
+ }
53
+ catch (error) {
54
+ return this.handleError(error, res);
55
+ }
56
+ });
57
+ this.app.post('/chat', async (req, res) => {
58
+ try {
59
+ if (!this.runtime) {
60
+ return res.status(400).json({
61
+ error: 'Runtime not initialized. Call /init first.',
62
+ });
63
+ }
64
+ const body = req.body;
65
+ if (!body.message) {
66
+ return res.status(400).json({
67
+ error: 'Missing required field: message',
68
+ });
69
+ }
70
+ const result = await this.runtime.chat(body.message, body.conversationHistory);
71
+ return res.json({
72
+ success: true,
73
+ ...result,
74
+ });
75
+ }
76
+ catch (error) {
77
+ return this.handleError(error, res);
78
+ }
79
+ });
80
+ this.app.get('/context', async (_req, res) => {
81
+ try {
82
+ if (!this.runtime) {
83
+ return res.status(400).json({
84
+ error: 'Runtime not initialized. Call /init first.',
85
+ });
86
+ }
87
+ const context = await this.runtime.getContext();
88
+ return res.json({
89
+ success: true,
90
+ context,
91
+ });
92
+ }
93
+ catch (error) {
94
+ return this.handleError(error, res);
95
+ }
96
+ });
97
+ this.app.get('/identity', async (_req, res) => {
98
+ try {
99
+ if (!this.runtime) {
100
+ return res.status(400).json({
101
+ error: 'Runtime not initialized. Call /init first.',
102
+ });
103
+ }
104
+ const identity = await this.runtime.getIdentity();
105
+ return res.json({
106
+ success: true,
107
+ identity,
108
+ });
109
+ }
110
+ catch (error) {
111
+ return this.handleError(error, res);
112
+ }
113
+ });
114
+ this.app.post('/context/refresh', async (_req, res) => {
115
+ try {
116
+ if (!this.runtime) {
117
+ return res.status(400).json({
118
+ error: 'Runtime not initialized. Call /init first.',
119
+ });
120
+ }
121
+ await this.runtime.refreshContext();
122
+ return res.json({
123
+ success: true,
124
+ message: 'Context refreshed successfully',
125
+ });
126
+ }
127
+ catch (error) {
128
+ return this.handleError(error, res);
129
+ }
130
+ });
131
+ this.app.get('/history', (_req, res) => {
132
+ try {
133
+ if (!this.runtime) {
134
+ return res.status(400).json({
135
+ error: 'Runtime not initialized. Call /init first.',
136
+ });
137
+ }
138
+ const history = this.runtime.getConversationHistory();
139
+ return res.json({
140
+ success: true,
141
+ history,
142
+ });
143
+ }
144
+ catch (error) {
145
+ return this.handleError(error, res);
146
+ }
147
+ });
148
+ this.app.post('/history/clear', (_req, res) => {
149
+ try {
150
+ if (!this.runtime) {
151
+ return res.status(400).json({
152
+ error: 'Runtime not initialized. Call /init first.',
153
+ });
154
+ }
155
+ this.runtime.clearConversationHistory();
156
+ return res.json({
157
+ success: true,
158
+ message: 'Conversation history cleared',
159
+ });
160
+ }
161
+ catch (error) {
162
+ return this.handleError(error, res);
163
+ }
164
+ });
165
+ this.app.post('/flush', async (_req, res) => {
166
+ try {
167
+ if (!this.runtime) {
168
+ return res.status(400).json({
169
+ error: 'Runtime not initialized. Call /init first.',
170
+ });
171
+ }
172
+ await this.runtime.flush();
173
+ return res.json({
174
+ success: true,
175
+ message: 'All pending saves completed',
176
+ });
177
+ }
178
+ catch (error) {
179
+ return this.handleError(error, res);
180
+ }
181
+ });
182
+ this.app.get('/stats/validation', (_req, res) => {
183
+ try {
184
+ if (!this.runtime) {
185
+ return res.status(400).json({
186
+ error: 'Runtime not initialized. Call /init first.',
187
+ });
188
+ }
189
+ const stats = this.runtime.getValidationStats();
190
+ return res.json({
191
+ success: true,
192
+ stats,
193
+ });
194
+ }
195
+ catch (error) {
196
+ return this.handleError(error, res);
197
+ }
198
+ });
199
+ this.app.use((_req, res) => {
200
+ res.status(404).json({
201
+ error: 'Endpoint not found',
202
+ });
203
+ });
204
+ }
205
+ handleError(error, res) {
206
+ console.error('API Error:', error);
207
+ if (error instanceof types_1.RecallBricksError) {
208
+ res.status(error.statusCode || 500).json({
209
+ error: error.message,
210
+ code: error.code,
211
+ details: error.details,
212
+ });
213
+ }
214
+ else if (error instanceof Error) {
215
+ res.status(500).json({
216
+ error: error.message,
217
+ });
218
+ }
219
+ else {
220
+ res.status(500).json({
221
+ error: 'Unknown error occurred',
222
+ });
223
+ }
224
+ }
225
+ start() {
226
+ this.app.listen(this.port, () => {
227
+ console.log(`RecallBricks API Server listening on port ${this.port}`);
228
+ console.log(`Health check: http://localhost:${this.port}/health`);
229
+ });
230
+ }
231
+ getApp() {
232
+ return this.app;
233
+ }
234
+ }
235
+ exports.RecallBricksAPIServer = RecallBricksAPIServer;
236
+ if (require.main === module) {
237
+ const port = parseInt(process.env.PORT || '3000', 10);
238
+ const server = new RecallBricksAPIServer(port);
239
+ server.start();
240
+ }
241
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/api/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { RecallBricksMCPServer } from './server';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecallBricksMCPServer = void 0;
4
+ var server_1 = require("./server");
5
+ Object.defineProperty(exports, "RecallBricksMCPServer", { enumerable: true, get: function () { return server_1.RecallBricksMCPServer; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/mcp/index.ts"],"names":[],"mappings":";;;AAIA,mCAAiD;AAAxC,+GAAA,qBAAqB,OAAA"}
@@ -0,0 +1,27 @@
1
+ interface MCPTool {
2
+ name: string;
3
+ description: string;
4
+ inputSchema: {
5
+ type: string;
6
+ properties: Record<string, unknown>;
7
+ required?: string[];
8
+ };
9
+ }
10
+ export declare class RecallBricksMCPServer {
11
+ private runtime?;
12
+ private initializationError?;
13
+ constructor();
14
+ private ensureRuntimeInitialized;
15
+ handleToolCall(toolName: string, args: Record<string, unknown>): Promise<unknown>;
16
+ private handleChat;
17
+ private handleGetContext;
18
+ private handleGetIdentity;
19
+ private handleRefreshContext;
20
+ private handleGetHistory;
21
+ private handleClearHistory;
22
+ getTools(): MCPTool[];
23
+ startStdio(): Promise<void>;
24
+ private handleStdioRequest;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/adapters/mcp/server.ts"],"names":[],"mappings":"AAaA,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAgED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,mBAAmB,CAAC,CAAQ;;YAStB,wBAAwB;IA6DhC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YA+BzE,UAAU;YAkBV,gBAAgB;YAQhB,iBAAiB;YAQjB,oBAAoB;YAQpB,gBAAgB;YAQhB,kBAAkB;IAQhC,QAAQ,IAAI,OAAO,EAAE;IAOf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAgCnB,kBAAkB;CAyDjC"}
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecallBricksMCPServer = void 0;
4
+ const AgentRuntime_1 = require("../../core/AgentRuntime");
5
+ const RECALLBRICKS_TOOLS = [
6
+ {
7
+ name: 'recallbricks_chat',
8
+ description: 'Send a message to the RecallBricks agent and get a contextual response with persistent memory',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {
12
+ message: {
13
+ type: 'string',
14
+ description: 'The message to send to the agent',
15
+ },
16
+ },
17
+ required: ['message'],
18
+ },
19
+ },
20
+ {
21
+ name: 'recallbricks_get_context',
22
+ description: 'Retrieve current memory context for the agent',
23
+ inputSchema: {
24
+ type: 'object',
25
+ properties: {},
26
+ },
27
+ },
28
+ {
29
+ name: 'recallbricks_get_identity',
30
+ description: 'Get the agent identity and behavioral rules',
31
+ inputSchema: {
32
+ type: 'object',
33
+ properties: {},
34
+ },
35
+ },
36
+ {
37
+ name: 'recallbricks_refresh_context',
38
+ description: 'Refresh memory context from the API (bypasses cache)',
39
+ inputSchema: {
40
+ type: 'object',
41
+ properties: {},
42
+ },
43
+ },
44
+ {
45
+ name: 'recallbricks_get_history',
46
+ description: 'Get the conversation history for this session',
47
+ inputSchema: {
48
+ type: 'object',
49
+ properties: {},
50
+ },
51
+ },
52
+ {
53
+ name: 'recallbricks_clear_history',
54
+ description: 'Clear the conversation history for this session',
55
+ inputSchema: {
56
+ type: 'object',
57
+ properties: {},
58
+ },
59
+ },
60
+ ];
61
+ class RecallBricksMCPServer {
62
+ constructor() {
63
+ }
64
+ async ensureRuntimeInitialized() {
65
+ if (this.runtime) {
66
+ return;
67
+ }
68
+ if (this.initializationError) {
69
+ throw this.initializationError;
70
+ }
71
+ try {
72
+ const agentId = process.env.RECALLBRICKS_AGENT_ID;
73
+ const userId = process.env.RECALLBRICKS_USER_ID || 'default-user';
74
+ const apiUrl = process.env.RECALLBRICKS_API_URL;
75
+ if (!agentId) {
76
+ throw new Error('RECALLBRICKS_AGENT_ID environment variable is required');
77
+ }
78
+ if (!apiUrl) {
79
+ throw new Error('RECALLBRICKS_API_URL environment variable is required');
80
+ }
81
+ const options = {
82
+ agentId,
83
+ userId,
84
+ apiUrl,
85
+ mcpMode: true,
86
+ autoSave: true,
87
+ validateIdentity: true,
88
+ cacheEnabled: true,
89
+ cacheTTL: 300000,
90
+ maxContextTokens: 8000,
91
+ debug: process.env.RECALLBRICKS_DEBUG === 'true',
92
+ };
93
+ this.runtime = new AgentRuntime_1.AgentRuntime(options);
94
+ }
95
+ catch (error) {
96
+ this.initializationError = error instanceof Error ? error : new Error(String(error));
97
+ throw this.initializationError;
98
+ }
99
+ }
100
+ async handleToolCall(toolName, args) {
101
+ await this.ensureRuntimeInitialized();
102
+ switch (toolName) {
103
+ case 'recallbricks_chat':
104
+ return await this.handleChat(args);
105
+ case 'recallbricks_get_context':
106
+ return await this.handleGetContext();
107
+ case 'recallbricks_get_identity':
108
+ return await this.handleGetIdentity();
109
+ case 'recallbricks_refresh_context':
110
+ return await this.handleRefreshContext();
111
+ case 'recallbricks_get_history':
112
+ return await this.handleGetHistory();
113
+ case 'recallbricks_clear_history':
114
+ return await this.handleClearHistory();
115
+ default:
116
+ throw new Error(`Unknown tool: ${toolName}`);
117
+ }
118
+ }
119
+ async handleChat(args) {
120
+ const message = args.message;
121
+ if (!message) {
122
+ throw new Error('Message is required');
123
+ }
124
+ const result = await this.runtime.chat(message);
125
+ return {
126
+ response: result.response,
127
+ metadata: result.metadata,
128
+ };
129
+ }
130
+ async handleGetContext() {
131
+ const context = await this.runtime.getContext();
132
+ return { context };
133
+ }
134
+ async handleGetIdentity() {
135
+ const identity = await this.runtime.getIdentity();
136
+ return { identity };
137
+ }
138
+ async handleRefreshContext() {
139
+ await this.runtime.refreshContext();
140
+ return { success: true, message: 'Context refreshed successfully' };
141
+ }
142
+ async handleGetHistory() {
143
+ const history = this.runtime.getConversationHistory();
144
+ return { history };
145
+ }
146
+ async handleClearHistory() {
147
+ this.runtime.clearConversationHistory();
148
+ return { success: true, message: 'Conversation history cleared' };
149
+ }
150
+ getTools() {
151
+ return RECALLBRICKS_TOOLS;
152
+ }
153
+ async startStdio() {
154
+ process.stdin.setEncoding('utf8');
155
+ let buffer = '';
156
+ process.stdin.on('data', async (chunk) => {
157
+ buffer += chunk;
158
+ const lines = buffer.split('\n');
159
+ buffer = lines.pop() || '';
160
+ for (const line of lines) {
161
+ if (line.trim()) {
162
+ try {
163
+ const request = JSON.parse(line);
164
+ await this.handleStdioRequest(request);
165
+ }
166
+ catch (error) {
167
+ }
168
+ }
169
+ }
170
+ });
171
+ process.stdin.on('end', () => {
172
+ process.exit(0);
173
+ });
174
+ }
175
+ async handleStdioRequest(request) {
176
+ try {
177
+ let result;
178
+ switch (request.method) {
179
+ case 'initialize':
180
+ result = {
181
+ protocolVersion: '2024-11-05',
182
+ capabilities: {
183
+ tools: {},
184
+ },
185
+ serverInfo: {
186
+ name: 'recallbricks',
187
+ version: '1.0.0',
188
+ },
189
+ };
190
+ break;
191
+ case 'tools/list':
192
+ result = { tools: this.getTools() };
193
+ break;
194
+ case 'tools/call':
195
+ const toolName = request.params?.name;
196
+ const args = request.params?.arguments || {};
197
+ result = await this.handleToolCall(toolName, args);
198
+ break;
199
+ default:
200
+ throw new Error(`Unknown method: ${request.method}`);
201
+ }
202
+ const response = {
203
+ jsonrpc: '2.0',
204
+ id: request.id,
205
+ result,
206
+ };
207
+ process.stdout.write(JSON.stringify(response) + '\n');
208
+ }
209
+ catch (error) {
210
+ const errorResponse = {
211
+ jsonrpc: '2.0',
212
+ id: request.id,
213
+ error: {
214
+ code: -32603,
215
+ message: error instanceof Error ? error.message : 'Unknown error',
216
+ },
217
+ };
218
+ process.stdout.write(JSON.stringify(errorResponse) + '\n');
219
+ }
220
+ }
221
+ }
222
+ exports.RecallBricksMCPServer = RecallBricksMCPServer;
223
+ if (require.main === module) {
224
+ const server = new RecallBricksMCPServer();
225
+ server.startStdio();
226
+ }
227
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { AgentRuntime } from '../../core/AgentRuntime';
2
+ export * from '../../types';
3
+ export { buildConfigFromOptions, buildConfigFromEnv } from '../../config';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/typescript/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.buildConfigFromEnv = exports.buildConfigFromOptions = exports.AgentRuntime = void 0;
18
+ var AgentRuntime_1 = require("../../core/AgentRuntime");
19
+ Object.defineProperty(exports, "AgentRuntime", { enumerable: true, get: function () { return AgentRuntime_1.AgentRuntime; } });
20
+ __exportStar(require("../../types"), exports);
21
+ var config_1 = require("../../config");
22
+ Object.defineProperty(exports, "buildConfigFromOptions", { enumerable: true, get: function () { return config_1.buildConfigFromOptions; } });
23
+ Object.defineProperty(exports, "buildConfigFromEnv", { enumerable: true, get: function () { return config_1.buildConfigFromEnv; } });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/typescript/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAMA,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,8CAA4B;AAC5B,uCAA0E;AAAjE,gHAAA,sBAAsB,OAAA;AAAE,4GAAA,kBAAkB,OAAA"}
@@ -0,0 +1,53 @@
1
+ import { SaveResponse, RecallResponse, RecallMemory, Logger } from '../types';
2
+ export interface RecallBricksClientConfig {
3
+ apiUrl: string;
4
+ apiKey: string;
5
+ userId: string;
6
+ timeout?: number;
7
+ retries?: number;
8
+ logger?: Logger;
9
+ }
10
+ export interface SaveMemoryRequest {
11
+ text: string;
12
+ tags?: string[];
13
+ source?: string;
14
+ metadata?: Record<string, unknown>;
15
+ }
16
+ export interface RecallMemoriesRequest {
17
+ query: string;
18
+ limit?: number;
19
+ organized?: boolean;
20
+ }
21
+ export interface RegisterAgentRequest {
22
+ agentId: string;
23
+ runtimeVersion: string;
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ export interface RegisterAgentResponse {
27
+ success: boolean;
28
+ agentId: string;
29
+ registeredAt: string;
30
+ }
31
+ export interface RuntimeHeuristics {
32
+ reflectionInterval: number;
33
+ confidenceThreshold: number;
34
+ maxContextMemories: number;
35
+ batchFlushInterval: number;
36
+ }
37
+ export declare class RecallBricksClient {
38
+ private config;
39
+ private client;
40
+ private retries;
41
+ private logger?;
42
+ constructor(config: RecallBricksClientConfig);
43
+ saveMemory(request: SaveMemoryRequest): Promise<SaveResponse>;
44
+ recallMemories(request: RecallMemoriesRequest): Promise<RecallResponse>;
45
+ registerAgent(request: RegisterAgentRequest): Promise<RegisterAgentResponse>;
46
+ getHeuristics(): Promise<RuntimeHeuristics>;
47
+ getTopMemories(query: string, limit?: number): Promise<RecallMemory[]>;
48
+ healthCheck(): Promise<boolean>;
49
+ private withRetry;
50
+ updateApiKey(apiKey: string): void;
51
+ updateUserId(userId: string): void;
52
+ }
53
+ //# sourceMappingURL=RecallBricksClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecallBricksClient.d.ts","sourceRoot":"","sources":["../../src/api/RecallBricksClient.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,MAAM,EACP,MAAM,UAAU,CAAC;AAMlB,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAMD,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,MAAM;IAJ1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEJ,MAAM,EAAE,wBAAwB;IAyC9C,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAqB7D,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAmBvE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuB5E,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAyB3C,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAU1E,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAYvB,SAAS;IAiBvB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQlC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAInC"}