@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.
- package/LICENSE +21 -0
- package/README.md +502 -0
- package/dist/adapters/api/index.d.ts +2 -0
- package/dist/adapters/api/index.d.ts.map +1 -0
- package/dist/adapters/api/index.js +6 -0
- package/dist/adapters/api/index.js.map +1 -0
- package/dist/adapters/api/server.d.ts +13 -0
- package/dist/adapters/api/server.d.ts.map +1 -0
- package/dist/adapters/api/server.js +241 -0
- package/dist/adapters/api/server.js.map +1 -0
- package/dist/adapters/mcp/index.d.ts +2 -0
- package/dist/adapters/mcp/index.d.ts.map +1 -0
- package/dist/adapters/mcp/index.js +6 -0
- package/dist/adapters/mcp/index.js.map +1 -0
- package/dist/adapters/mcp/server.d.ts +27 -0
- package/dist/adapters/mcp/server.d.ts.map +1 -0
- package/dist/adapters/mcp/server.js +227 -0
- package/dist/adapters/mcp/server.js.map +1 -0
- package/dist/adapters/typescript/index.d.ts +4 -0
- package/dist/adapters/typescript/index.d.ts.map +1 -0
- package/dist/adapters/typescript/index.js +24 -0
- package/dist/adapters/typescript/index.js.map +1 -0
- package/dist/api/RecallBricksClient.d.ts +53 -0
- package/dist/api/RecallBricksClient.d.ts.map +1 -0
- package/dist/api/RecallBricksClient.js +129 -0
- package/dist/api/RecallBricksClient.js.map +1 -0
- package/dist/api/TelemetryClient.d.ts +54 -0
- package/dist/api/TelemetryClient.d.ts.map +1 -0
- package/dist/api/TelemetryClient.js +190 -0
- package/dist/api/TelemetryClient.js.map +1 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +6 -0
- package/dist/api/index.js.map +1 -0
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +206 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/AgentRuntime.d.ts +45 -0
- package/dist/core/AgentRuntime.d.ts.map +1 -0
- package/dist/core/AgentRuntime.js +328 -0
- package/dist/core/AgentRuntime.js.map +1 -0
- package/dist/core/AutoSaver.d.ts +26 -0
- package/dist/core/AutoSaver.d.ts.map +1 -0
- package/dist/core/AutoSaver.js +162 -0
- package/dist/core/AutoSaver.js.map +1 -0
- package/dist/core/CircuitBreaker.d.ts +64 -0
- package/dist/core/CircuitBreaker.d.ts.map +1 -0
- package/dist/core/CircuitBreaker.js +201 -0
- package/dist/core/CircuitBreaker.js.map +1 -0
- package/dist/core/ContextLoader.d.ts +31 -0
- package/dist/core/ContextLoader.d.ts.map +1 -0
- package/dist/core/ContextLoader.js +236 -0
- package/dist/core/ContextLoader.js.map +1 -0
- package/dist/core/ContextWeaver.d.ts +49 -0
- package/dist/core/ContextWeaver.d.ts.map +1 -0
- package/dist/core/ContextWeaver.js +216 -0
- package/dist/core/ContextWeaver.js.map +1 -0
- package/dist/core/IdentityValidator.d.ts +24 -0
- package/dist/core/IdentityValidator.d.ts.map +1 -0
- package/dist/core/IdentityValidator.js +161 -0
- package/dist/core/IdentityValidator.js.map +1 -0
- package/dist/core/LLMAdapter.d.ts +19 -0
- package/dist/core/LLMAdapter.d.ts.map +1 -0
- package/dist/core/LLMAdapter.js +223 -0
- package/dist/core/LLMAdapter.js.map +1 -0
- package/dist/core/Metrics.d.ts +96 -0
- package/dist/core/Metrics.d.ts.map +1 -0
- package/dist/core/Metrics.js +271 -0
- package/dist/core/Metrics.js.map +1 -0
- package/dist/core/RateLimiter.d.ts +39 -0
- package/dist/core/RateLimiter.d.ts.map +1 -0
- package/dist/core/RateLimiter.js +251 -0
- package/dist/core/RateLimiter.js.map +1 -0
- package/dist/core/ReflectionEngine.d.ts +70 -0
- package/dist/core/ReflectionEngine.d.ts.map +1 -0
- package/dist/core/ReflectionEngine.js +319 -0
- package/dist/core/ReflectionEngine.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +259 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +38 -0
- package/dist/types/index.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|