@agentic-robotics/mcp 0.2.5 → 0.2.7

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/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
  [![Downloads](https://img.shields.io/npm/dm/@agentic-robotics/mcp.svg)](https://www.npmjs.com/package/@agentic-robotics/mcp)
5
5
  [![License](https://img.shields.io/npm/l/@agentic-robotics/mcp.svg)](https://github.com/ruvnet/agentic-robotics)
6
6
 
7
+ ![agentic-robotics message flow: node, publisher, subscriber, MCP server, AgentDB](https://raw.githubusercontent.com/ruvnet/agentic-robotics/main/docs/assets/agentic-robotics-flow.svg)
8
+
7
9
  **Model Context Protocol (MCP) server** for agentic robotics with AgentDB memory and agentic-flow orchestration.
8
10
 
9
11
  ## Features
@@ -15,6 +17,7 @@
15
17
  - 🔄 **Multi-Robot Swarm** - Coordinate multiple robots intelligently
16
18
  - 📊 **Performance Tracking** - Built-in metrics and benchmarking
17
19
  - 🎯 **Production Ready** - Optimized hybrid SQL implementation
20
+ - 🔎 **Semantic recall** - With the optional `ruvector` package installed, `HybridAgentDBMemory.retrieveMemories` ranks episodes by meaning (ONNX all-MiniLM-L6-v2); without it, keyword SQL search is used
18
21
 
19
22
  ## Installation
20
23
 
@@ -11,6 +11,33 @@ export interface RetrieveOptions {
11
11
  minReward?: number;
12
12
  onlySuccesses?: boolean;
13
13
  onlyFailures?: boolean;
14
+ timeWindowDays?: number;
15
+ }
16
+ /** An episode as agentdb stores it, with the similarity of the match. */
17
+ export interface StoredEpisode {
18
+ task: string;
19
+ reward: number;
20
+ success: boolean;
21
+ critique: string;
22
+ metadata: Record<string, any>;
23
+ ts: number;
24
+ similarity?: number;
25
+ }
26
+ /** A skill as agentdb's SkillLibrary returns it, plus when it was last used. */
27
+ export interface StoredSkill {
28
+ id?: number;
29
+ name: string;
30
+ description: string;
31
+ successRate: number;
32
+ avgReward: number;
33
+ uses: number;
34
+ lastUsed: number;
35
+ metadata: Record<string, any>;
36
+ }
37
+ export interface SynthesizedContext {
38
+ summary: string;
39
+ keyInsights: string[];
40
+ recommendations: string[];
14
41
  }
15
42
  export interface ConsolidateOptions {
16
43
  minAttempts: number;
@@ -29,10 +56,21 @@ export declare class InProcessAgentDB {
29
56
  static open(dbPath: string): Promise<InProcessAgentDB | null>;
30
57
  storeEpisode(episode: Episode): Promise<number>;
31
58
  retrieve(query: string, k: number, options?: RetrieveOptions): Promise<Memory[]>;
59
+ retrieveEpisodes(query: string, k: number, options?: RetrieveOptions): Promise<StoredEpisode[]>;
60
+ /** Summarise retrieved episodes with agentdb's ContextSynthesizer. */
61
+ synthesize(episodes: StoredEpisode[]): Promise<SynthesizedContext>;
62
+ searchSkills(query: string, k: number, minSuccessRate: number): Promise<StoredSkill[]>;
32
63
  consolidateSkills(options: ConsolidateOptions): Promise<{
33
64
  created: number;
34
65
  updated: number;
35
66
  }>;
67
+ /** Number of stored episodes and skills. */
68
+ counts(): {
69
+ episodes: number;
70
+ skills: number;
71
+ };
72
+ /** Rebuild indexes and reclaim free pages. */
73
+ optimize(): void;
36
74
  /** Row counts in the same `name: N records` shape the agentdb CLI prints. */
37
75
  stats(): string;
38
76
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"agentdb-engine.d.ts","sourceRoot":"","sources":["../src/agentdb-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAKD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,OAAO;IAMP;;;OAGG;WACU,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAY7D,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAa/C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBpF,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAQnG,6EAA6E;IAC7E,KAAK,IAAI,MAAM;IAcT,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"agentdb-engine.d.ts","sourceRoot":"","sources":["../src/agentdb-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKnD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAKD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,OAAO;IAMP;;;OAGG;WACU,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAY7D,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAa/C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYpF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoBzG,sEAAsE;IAChE,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUlE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAetF,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAQnG,4CAA4C;IAC5C,MAAM,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAM9C,8CAA8C;IAC9C,QAAQ,IAAI,IAAI;IAKhB,6EAA6E;IAC7E,KAAK,IAAI,MAAM;IAcT,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -46,20 +46,55 @@ export class InProcessAgentDB {
46
46
  });
47
47
  }
48
48
  async retrieve(query, k, options = {}) {
49
+ const episodes = await this.retrieveEpisodes(query, k, options);
50
+ return episodes.map((e) => ({
51
+ task: e.task,
52
+ confidence: e.reward,
53
+ success: e.success,
54
+ outcome: e.critique,
55
+ strategy: e.metadata.strategy,
56
+ timestamp: e.ts,
57
+ }));
58
+ }
59
+ async retrieveEpisodes(query, k, options = {}) {
49
60
  const episodes = await this.reflexion.retrieveRelevant({
50
61
  task: query,
51
62
  k,
52
63
  minReward: options.minReward,
53
64
  onlySuccesses: options.onlySuccesses,
54
65
  onlyFailures: options.onlyFailures,
66
+ timeWindowDays: options.timeWindowDays,
55
67
  });
56
68
  return episodes.map((e) => ({
57
69
  task: e.task,
58
- confidence: e.reward,
70
+ reward: e.reward,
59
71
  success: Boolean(e.success),
60
- outcome: e.critique ?? '',
61
- strategy: e.metadata?.strategy,
62
- timestamp: e.ts ?? 0,
72
+ critique: e.critique ?? '',
73
+ metadata: e.metadata ?? {},
74
+ ts: e.ts ?? 0,
75
+ similarity: e.similarity,
76
+ }));
77
+ }
78
+ /** Summarise retrieved episodes with agentdb's ContextSynthesizer. */
79
+ async synthesize(episodes) {
80
+ // A subpath export; the package's moduleResolution cannot see its types.
81
+ const spec = 'agentdb/controllers/ContextSynthesizer';
82
+ const { ContextSynthesizer } = await import(spec);
83
+ const ctx = ContextSynthesizer.synthesize(episodes.map((e) => ({ task: e.task, reward: e.reward, success: e.success, critique: e.critique, similarity: e.similarity })));
84
+ return { summary: ctx.summary, keyInsights: ctx.keyInsights, recommendations: ctx.recommendations };
85
+ }
86
+ async searchSkills(query, k, minSuccessRate) {
87
+ const skills = await this.skills.searchSkills({ task: query, k, minSuccessRate });
88
+ const lastUsed = this.db.database.prepare('SELECT last_used_at AS t FROM skills WHERE id = ?');
89
+ return skills.map((s) => ({
90
+ id: s.id,
91
+ name: s.name,
92
+ description: s.description ?? '',
93
+ successRate: s.successRate ?? 0,
94
+ avgReward: s.avgReward ?? 0,
95
+ uses: s.uses ?? 0,
96
+ lastUsed: s.id === undefined ? 0 : (lastUsed.get(s.id)?.t ?? 0),
97
+ metadata: s.metadata ?? {},
63
98
  }));
64
99
  }
65
100
  async consolidateSkills(options) {
@@ -69,6 +104,16 @@ export class InProcessAgentDB {
69
104
  });
70
105
  return { created: result.created, updated: result.updated };
71
106
  }
107
+ /** Number of stored episodes and skills. */
108
+ counts() {
109
+ const count = (table) => this.db.database.prepare(`SELECT COUNT(*) AS n FROM ${table}`).get().n;
110
+ return { episodes: count('episodes'), skills: count('skills') };
111
+ }
112
+ /** Rebuild indexes and reclaim free pages. */
113
+ optimize() {
114
+ this.db.database.exec('REINDEX');
115
+ this.db.database.exec('VACUUM');
116
+ }
72
117
  /** Row counts in the same `name: N records` shape the agentdb CLI prints. */
73
118
  stats() {
74
119
  const tables = ['episodes', 'skills', 'causal_edges'];
@@ -1 +1 @@
1
- {"version":3,"file":"agentdb-engine.js","sourceRoot":"","sources":["../src/agentdb-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentdb-engine.js","sourceRoot":"","sources":["../src/agentdb-engine.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -2,11 +2,13 @@
2
2
  /**
3
3
  * ROS3 MCP Server CLI
4
4
  */
5
+ import { readFileSync } from 'fs';
5
6
  import { ROS3McpServer } from './server.js';
7
+ const { version } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
6
8
  async function main() {
7
9
  const server = new ROS3McpServer({
8
10
  name: 'ros3-mcp-server',
9
- version: '1.0.0',
11
+ version,
10
12
  dbPath: process.env.AGENTDB_PATH || './ros3-agentdb.db',
11
13
  });
12
14
  // Handle graceful shutdown
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * CLI fallback for EnhancedAgentDBMemory.
3
+ *
4
+ * Used only when the optional `agentdb` package cannot be imported in-process.
5
+ * Every call spawns `npx agentdb ...` (roughly 300 ms each).
6
+ *
7
+ * SECURITY: commands are spawned with argument arrays (no shell), so query,
8
+ * taskName, outcome, strategy and the like are never shell-interpolated.
9
+ *
10
+ * agentdb 3.x prints human-readable text, not JSON, for `reflexion retrieve`,
11
+ * `query` and `skill search`, so those lookups are best-effort and usually
12
+ * return nothing here. Stores, consolidation and the episode/skill counts work.
13
+ */
14
+ import type { Episode, Memory, Skill } from './enhanced-memory.js';
15
+ export declare function cliInit(dbPath: string): Promise<void>;
16
+ export declare function cliStoreEpisode(dbPath: string, episode: Episode, critique?: string): Promise<void>;
17
+ export declare function cliRetrieve(dbPath: string, query: string, k: number, options: {
18
+ minReward?: number;
19
+ onlySuccesses?: boolean;
20
+ onlyFailures?: boolean;
21
+ synthesizeContext?: boolean;
22
+ enableReasoning?: boolean;
23
+ timeWindow?: number;
24
+ }): Promise<Memory[]>;
25
+ export declare function cliQuery(dbPath: string, query: string, options: {
26
+ k: number;
27
+ minConfidence: number;
28
+ domain?: string;
29
+ synthesizeReasoning: boolean;
30
+ }): Promise<{
31
+ memories: Memory[];
32
+ context?: string;
33
+ reasoning?: string;
34
+ }>;
35
+ export declare function cliConsolidate(dbPath: string, options: {
36
+ minAttempts: number;
37
+ minReward: number;
38
+ timeWindowDays: number;
39
+ }): Promise<number>;
40
+ export declare function cliSearchSkills(dbPath: string, query: string, options: {
41
+ k: number;
42
+ minSuccessRate: number;
43
+ sortBy: string;
44
+ }): Promise<Skill[]>;
45
+ /**
46
+ * Episode and skill counts. `agentdb db stats` does not list skills, so the
47
+ * file is read directly with better-sqlite3 (a dependency of this package);
48
+ * if that fails, the episode count comes from the CLI output.
49
+ */
50
+ export declare function cliCounts(dbPath: string): Promise<{
51
+ episodes: number;
52
+ skills: number;
53
+ }>;
54
+ export declare function cliOptimize(dbPath: string): Promise<void>;
55
+ //# sourceMappingURL=enhanced-memory-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-memory-cli.d.ts","sourceRoot":"","sources":["../src/enhanced-memory-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA+DnE,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3D;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxG;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,EACT,OAAO,EAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAA;CAAE,GAC3F,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBvE;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAC1E,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7D,OAAO,CAAC,KAAK,EAAE,CAAC,CAWlB;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAe7F;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * CLI fallback for EnhancedAgentDBMemory.
3
+ *
4
+ * Used only when the optional `agentdb` package cannot be imported in-process.
5
+ * Every call spawns `npx agentdb ...` (roughly 300 ms each).
6
+ *
7
+ * SECURITY: commands are spawned with argument arrays (no shell), so query,
8
+ * taskName, outcome, strategy and the like are never shell-interpolated.
9
+ *
10
+ * agentdb 3.x prints human-readable text, not JSON, for `reflexion retrieve`,
11
+ * `query` and `skill search`, so those lookups are best-effort and usually
12
+ * return nothing here. Stores, consolidation and the episode/skill counts work.
13
+ */
14
+ import { spawn } from 'child_process';
15
+ // The sql.js backend rewrites the whole file and refuses to save over a
16
+ // concurrent change, so CLI calls against one database are run one at a time.
17
+ const dbQueues = new Map();
18
+ // agentdb 3.x CLI calls `db.save()`, which only the sql.js backend implements;
19
+ // with native better-sqlite3 the write lands but the command exits 1. Force the
20
+ // sql.js backend so every CLI call reports its real status.
21
+ const agentdbEnv = (dbPath) => ({
22
+ AGENTDB_PATH: dbPath,
23
+ AGENTDB_FORCE_SQLJS: '1',
24
+ });
25
+ function run(dbPath, args) {
26
+ const next = (dbQueues.get(dbPath) ?? Promise.resolve())
27
+ .catch(() => undefined)
28
+ .then(() => spawnOnce('npx', ['agentdb', ...args], agentdbEnv(dbPath)));
29
+ dbQueues.set(dbPath, next);
30
+ return next;
31
+ }
32
+ function spawnOnce(cmd, args, env) {
33
+ return new Promise((resolve, reject) => {
34
+ const child = spawn(cmd, args, {
35
+ env: { ...process.env, ...env },
36
+ stdio: ['ignore', 'pipe', 'pipe'],
37
+ shell: false,
38
+ });
39
+ let stdout = '';
40
+ let stderr = '';
41
+ child.stdout.on('data', (d) => { stdout += d.toString(); });
42
+ child.stderr.on('data', (d) => { stderr += d.toString(); });
43
+ child.on('close', (code) => {
44
+ if (code !== 0 && code !== null) {
45
+ const err = new Error(stderr || `Process exited with code ${code}`);
46
+ err.code = code;
47
+ reject(err);
48
+ }
49
+ else {
50
+ resolve({ stdout, stderr });
51
+ }
52
+ });
53
+ child.on('error', reject);
54
+ });
55
+ }
56
+ const stripAnsi = (s) => s.replace(/\x1b\[[0-9;]*m/g, '');
57
+ function firstJson(stdout) {
58
+ const line = stdout.trim().split('\n').find((l) => l.startsWith('[') || l.startsWith('{'));
59
+ return line ? JSON.parse(line) : undefined;
60
+ }
61
+ /** Reads `<table>: N records` from `agentdb db stats` output. */
62
+ function recordCount(text, table) {
63
+ const match = stripAnsi(text).match(new RegExp(`^\\s*${table}:\\s*(\\d+)\\s+records`, 'm'));
64
+ return match ? parseInt(match[1], 10) : 0;
65
+ }
66
+ export async function cliInit(dbPath) {
67
+ try {
68
+ await run(dbPath, ['init', dbPath, '--dimension', '768', '--preset', 'high-performance', '--enable-cache']);
69
+ }
70
+ catch (error) {
71
+ if (!error.message.includes('already exists')) {
72
+ console.error('⚠️ AgentDB initialization warning:', error.message);
73
+ }
74
+ }
75
+ }
76
+ export async function cliStoreEpisode(dbPath, episode, critique) {
77
+ const args = [
78
+ 'reflexion', 'store',
79
+ episode.sessionId,
80
+ episode.taskName,
81
+ episode.confidence.toString(),
82
+ episode.success.toString(),
83
+ episode.outcome || '',
84
+ ];
85
+ if (episode.strategy)
86
+ args.push('--strategy', episode.strategy);
87
+ if (episode.reasoning)
88
+ args.push('--reasoning', episode.reasoning);
89
+ if (critique)
90
+ args.push('--critique', critique);
91
+ await run(dbPath, args);
92
+ }
93
+ export async function cliRetrieve(dbPath, query, k, options) {
94
+ const args = ['reflexion', 'retrieve', query, '--k', String(k)];
95
+ if (options.minReward !== undefined)
96
+ args.push('--min-reward', String(options.minReward));
97
+ if (options.onlySuccesses)
98
+ args.push('--only-successes');
99
+ if (options.onlyFailures)
100
+ args.push('--only-failures');
101
+ if (options.synthesizeContext)
102
+ args.push('--synthesize-context');
103
+ if (options.enableReasoning)
104
+ args.push('--enable-causal-reasoning');
105
+ if (options.timeWindow)
106
+ args.push('--time-window', String(options.timeWindow));
107
+ const data = firstJson((await run(dbPath, args)).stdout);
108
+ return data === undefined ? [] : Array.isArray(data) ? data : [data];
109
+ }
110
+ export async function cliQuery(dbPath, query, options) {
111
+ const args = [
112
+ 'query',
113
+ '--query', query,
114
+ '--k', String(options.k),
115
+ '--min-confidence', String(options.minConfidence),
116
+ '--synthesize-context',
117
+ '--format', 'json',
118
+ ];
119
+ if (options.domain)
120
+ args.push('--domain', options.domain);
121
+ if (options.synthesizeReasoning)
122
+ args.push('--enable-causal-reasoning');
123
+ const data = firstJson((await run(dbPath, args)).stdout);
124
+ if (data === undefined)
125
+ return { memories: [] };
126
+ return {
127
+ memories: Array.isArray(data) ? data : [data],
128
+ context: data.context || data.summary,
129
+ reasoning: data.reasoning || data.causal_chain,
130
+ };
131
+ }
132
+ export async function cliConsolidate(dbPath, options) {
133
+ // The fourth positional is agentdb's extract-patterns flag.
134
+ const { stdout } = await run(dbPath, [
135
+ 'skill', 'consolidate',
136
+ String(options.minAttempts),
137
+ String(options.minReward),
138
+ String(options.timeWindowDays),
139
+ 'true',
140
+ ]);
141
+ const text = stripAnsi(stdout);
142
+ const created = text.match(/Created\s+(\d+)/i) ?? text.match(/(\d+)\s+skills?\s+(?:created|consolidated)/i);
143
+ return created ? parseInt(created[1], 10) : 0;
144
+ }
145
+ export async function cliSearchSkills(dbPath, query, options) {
146
+ const data = firstJson((await run(dbPath, [
147
+ 'skill', 'search', query,
148
+ '--k', String(options.k),
149
+ '--min-success-rate', String(options.minSuccessRate),
150
+ '--sort-by', options.sortBy,
151
+ '--format', 'json',
152
+ ])).stdout);
153
+ return data === undefined ? [] : Array.isArray(data) ? data : [data];
154
+ }
155
+ /**
156
+ * Episode and skill counts. `agentdb db stats` does not list skills, so the
157
+ * file is read directly with better-sqlite3 (a dependency of this package);
158
+ * if that fails, the episode count comes from the CLI output.
159
+ */
160
+ export async function cliCounts(dbPath) {
161
+ await (dbQueues.get(dbPath) ?? Promise.resolve()).catch(() => undefined);
162
+ try {
163
+ const { default: Database } = await import('better-sqlite3');
164
+ const db = new Database(dbPath, { readonly: true, fileMustExist: true });
165
+ try {
166
+ const count = (table) => db.prepare(`SELECT COUNT(*) AS n FROM ${table}`).get().n;
167
+ return { episodes: count('episodes'), skills: count('skills') };
168
+ }
169
+ finally {
170
+ db.close();
171
+ }
172
+ }
173
+ catch {
174
+ const { stdout } = await run(dbPath, ['db', 'stats']);
175
+ return { episodes: recordCount(stdout, 'episodes'), skills: 0 };
176
+ }
177
+ }
178
+ export async function cliOptimize(dbPath) {
179
+ await run(dbPath, ['db', 'vacuum']);
180
+ await run(dbPath, ['db', 'reindex']);
181
+ await run(dbPath, ['db', 'optimize-vectors']);
182
+ }
183
+ //# sourceMappingURL=enhanced-memory-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-memory-cli.js","sourceRoot":"","sources":["../src/enhanced-memory-cli.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Enhanced AgentDB Memory Integration
3
3
  *
4
- * Uses ALL AgentDB features:
5
- * - Reflexion memory with self-critique
6
- * - Skill library with semantic search
7
- * - Causal reasoning
8
- * - Automated learning
9
- * - Performance optimization
4
+ * Reflexion memory with self-critique, a skill library with semantic search,
5
+ * context synthesis and performance metrics.
6
+ *
7
+ * The optional `agentdb` package is imported lazily and driven in-process
8
+ * (see agentdb-engine.ts). Only when it cannot be imported does this class
9
+ * fall back to spawning the agentdb CLI (see enhanced-memory-cli.ts).
10
10
  */
11
11
  export interface Episode {
12
12
  sessionId: string;
@@ -46,18 +46,28 @@ export interface MemoryStats {
46
46
  cacheHitRate: number;
47
47
  dbSize: number;
48
48
  }
49
+ type SortBy = 'success_rate' | 'avg_reward' | 'num_attempts' | 'last_used';
49
50
  export declare class EnhancedAgentDBMemory {
50
51
  private dbPath;
51
52
  private initialized;
53
+ /** In-process agentdb; null means the CLI fallback is in use. */
54
+ private engine;
52
55
  private performanceMetrics;
53
56
  constructor(dbPath: string);
57
+ /** True when agentdb runs in this process, false when the CLI fallback is in use. */
58
+ get inProcess(): boolean;
54
59
  initialize(): Promise<void>;
55
60
  /**
56
- * Store episode with full context and self-critique
61
+ * Store episode with full context and self-critique.
62
+ *
63
+ * In-process, `outcome` is stored as agentdb's critique (as AgentDBMemory
64
+ * does, so both classes read one database the same way); strategy,
65
+ * reasoning and the self-critique go into the episode metadata.
57
66
  */
58
67
  storeEpisode(episode: Episode): Promise<void>;
59
68
  /**
60
- * Retrieve memories with semantic search and causal reasoning
69
+ * Retrieve memories with semantic search.
70
+ * `synthesizeContext` and `enableReasoning` only affect the CLI fallback.
61
71
  */
62
72
  retrieveMemories(query: string, k?: number, options?: {
63
73
  minReward?: number;
@@ -68,7 +78,9 @@ export declare class EnhancedAgentDBMemory {
68
78
  timeWindow?: number;
69
79
  }): Promise<Memory[]>;
70
80
  /**
71
- * Query with full context synthesis and reasoning
81
+ * Query with context synthesis. In-process, `context` is agentdb's
82
+ * ContextSynthesizer summary and `reasoning` its key insights and
83
+ * recommendations. `domain` has no in-process equivalent.
72
84
  */
73
85
  queryWithContext(query: string, options?: {
74
86
  k?: number;
@@ -81,7 +93,9 @@ export declare class EnhancedAgentDBMemory {
81
93
  reasoning?: string;
82
94
  }>;
83
95
  /**
84
- * Consolidate skills with advanced filtering
96
+ * Consolidate successful episodes into skills. Returns the number of skills
97
+ * created. `enablePruning` is accepted for compatibility; agentdb has no
98
+ * skill pruning step in consolidation.
85
99
  */
86
100
  consolidateSkills(options?: {
87
101
  minAttempts?: number;
@@ -89,13 +103,11 @@ export declare class EnhancedAgentDBMemory {
89
103
  timeWindowDays?: number;
90
104
  enablePruning?: boolean;
91
105
  }): Promise<number>;
92
- /**
93
- * Get skill library with semantic search
94
- */
106
+ /** Search the skill library semantically, then order by `sortBy`. */
95
107
  searchSkills(query: string, options?: {
96
108
  k?: number;
97
109
  minSuccessRate?: number;
98
- sortBy?: 'success_rate' | 'avg_reward' | 'num_attempts' | 'last_used';
110
+ sortBy?: SortBy;
99
111
  }): Promise<Skill[]>;
100
112
  /**
101
113
  * Generate self-critique for an episode
@@ -106,7 +118,8 @@ export declare class EnhancedAgentDBMemory {
106
118
  */
107
119
  getStats(): Promise<MemoryStats>;
108
120
  /**
109
- * Optimize database performance
121
+ * Optimize database performance: REINDEX and VACUUM in-process; the CLI
122
+ * fallback also runs agentdb's optimize-vectors.
110
123
  */
111
124
  optimize(): Promise<void>;
112
125
  /**
@@ -115,4 +128,5 @@ export declare class EnhancedAgentDBMemory {
115
128
  clearMetrics(): void;
116
129
  close(): Promise<void>;
117
130
  }
131
+ export {};
118
132
  //# sourceMappingURL=enhanced-memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-memory.d.ts","sourceRoot":"","sources":["../src/enhanced-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-memory.d.ts","sourceRoot":"","sources":["../src/enhanced-memory.ts"],"names":[],"mappings":"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"}