agentdb 1.3.7 → 1.3.8

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 (2) hide show
  1. package/dist/agentdb.min.js +85 -19
  2. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /*! AgentDB Browser Bundle v1.3.7 | MIT License | https://agentdb.ruv.io */
1
+ /*! AgentDB Browser Bundle v1.3.8 | MIT License | https://agentdb.ruv.io */
2
2
  /*! Backward compatible with v1.0.7 API | Uses sql.js WASM SQLite */
3
3
 
4
4
  // We are modularizing this manually because the current modularize setting in Emscripten has some issues:
@@ -193,7 +193,7 @@ else if (typeof exports === 'object'){
193
193
  ;(function(global) {
194
194
  'use strict';
195
195
 
196
- // AgentDB v1.3.7 - v1.0.7 Compatible Browser Bundle
196
+ // AgentDB v1.3.8 - v1.0.7 Compatible Browser Bundle
197
197
 
198
198
  var sqlReady = false;
199
199
  var SQL = null;
@@ -270,24 +270,52 @@ else if (typeof exports === 'object'){
270
270
  return Promise.resolve(this);
271
271
  };
272
272
 
273
- // Higher-level insert method (for newer demos)
274
- this.insert = function(table, data) {
275
- if (!table || !data) {
276
- throw new Error('Table name and data are required');
277
- }
273
+ // Higher-level insert method (supports both signatures)
274
+ this.insert = function(textOrTable, metadataOrData) {
275
+ // Detect which signature is being used
276
+ if (typeof textOrTable === 'string' && typeof metadataOrData === 'object') {
277
+ // Check if this looks like insert(text, metadata) or insert(table, data)
278
+ if (arguments.length === 2 && metadataOrData && Object.keys(metadataOrData).length > 0) {
279
+ var firstKey = Object.keys(metadataOrData)[0];
280
+
281
+ // If metadataOrData has SQL column names, treat as insert(table, data)
282
+ if (['id', 'pattern', 'trajectory', 'cause', 'effect', 'skill_name', 'code'].indexOf(firstKey) !== -1) {
283
+ // insert(table, data) signature
284
+ var table = textOrTable;
285
+ var data = metadataOrData;
286
+
287
+ var columns = Object.keys(data);
288
+ var values = Object.values(data);
289
+ var placeholders = columns.map(function() { return '?'; }).join(', ');
290
+ var sql = 'INSERT INTO ' + table + ' (' + columns.join(', ') + ') VALUES (' + placeholders + ')';
291
+
292
+ this.run(sql, values);
293
+
294
+ var result = this.exec('SELECT last_insert_rowid() as id');
295
+ return {
296
+ lastID: result[0].values[0][0],
297
+ changes: 1
298
+ };
299
+ }
300
+ }
278
301
 
279
- var columns = Object.keys(data);
280
- var values = Object.values(data);
281
- var placeholders = columns.map(function() { return '?'; }).join(', ');
282
- var sql = 'INSERT INTO ' + table + ' (' + columns.join(', ') + ') VALUES (' + placeholders + ')';
302
+ // insert(text, metadata) signature - insert into vectors table
303
+ var text = textOrTable;
304
+ var metadata = metadataOrData || {};
283
305
 
284
- this.run(sql, values);
306
+ this.run(
307
+ 'INSERT INTO vectors (text, metadata) VALUES (?, ?)',
308
+ [text, JSON.stringify(metadata)]
309
+ );
285
310
 
286
- var result = this.exec('SELECT last_insert_rowid() as id');
287
- return {
288
- lastID: result[0].values[0][0],
289
- changes: 1
290
- };
311
+ var result = this.exec('SELECT last_insert_rowid() as id');
312
+ return {
313
+ lastID: result[0].values[0][0],
314
+ changes: 1
315
+ };
316
+ }
317
+
318
+ throw new Error('Invalid insert arguments');
291
319
  };
292
320
 
293
321
  // Higher-level search method (for newer demos)
@@ -328,6 +356,44 @@ else if (typeof exports === 'object'){
328
356
  return { changes: 1 };
329
357
  };
330
358
 
359
+ // Controller-style methods for frontier features
360
+ this.storePattern = function(patternData) {
361
+ var data = {
362
+ pattern: patternData.pattern || JSON.stringify(patternData),
363
+ metadata: JSON.stringify(patternData.metadata || {})
364
+ };
365
+ return this.insert('patterns', data);
366
+ };
367
+
368
+ this.storeEpisode = function(episodeData) {
369
+ var data = {
370
+ trajectory: episodeData.trajectory || JSON.stringify(episodeData),
371
+ self_reflection: episodeData.self_reflection || episodeData.reflection || '',
372
+ verdict: episodeData.verdict || 'unknown',
373
+ metadata: JSON.stringify(episodeData.metadata || {})
374
+ };
375
+ return this.insert('episodes', data);
376
+ };
377
+
378
+ this.addCausalEdge = function(edgeData) {
379
+ var data = {
380
+ cause: edgeData.cause || '',
381
+ effect: edgeData.effect || '',
382
+ strength: edgeData.strength || 0.5,
383
+ metadata: JSON.stringify(edgeData.metadata || {})
384
+ };
385
+ return this.insert('causal_edges', data);
386
+ };
387
+
388
+ this.storeSkill = function(skillData) {
389
+ var data = {
390
+ skill_name: skillData.skill_name || skillData.name || '',
391
+ code: skillData.code || '',
392
+ metadata: JSON.stringify(skillData.metadata || {})
393
+ };
394
+ return this.insert('skills', data);
395
+ };
396
+
331
397
  // Initialize with comprehensive schema if new database
332
398
  if (!data) {
333
399
  // Core vectors table
@@ -404,7 +470,7 @@ else if (typeof exports === 'object'){
404
470
 
405
471
  // Create AgentDB namespace with all exports
406
472
  var AgentDB = {
407
- version: '1.3.7',
473
+ version: '1.3.8',
408
474
  Database: Database,
409
475
  ready: false,
410
476
 
@@ -442,6 +508,6 @@ else if (typeof exports === 'object'){
442
508
  global.SQLiteVectorDB = Database;
443
509
  }
444
510
 
445
- console.log('AgentDB v1.3.7 loaded (v1.0.7 API compatible)');
511
+ console.log('AgentDB v1.3.8 loaded (v1.0.7 API compatible)');
446
512
 
447
513
  })(typeof window !== 'undefined' ? window : this);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentdb",
3
- "version": "1.3.7",
3
+ "version": "1.3.8",
4
4
  "description": "AgentDB - Frontier Memory Features with MCP Integration: Causal reasoning, reflexion memory, skill library, and automated learning. 150x faster vector search. Full Claude Desktop support via Model Context Protocol.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",