@falai/agent 0.3.21 → 0.3.23

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.
@@ -12,4 +12,6 @@ export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./Postg
12
12
  export { SQLiteAdapter } from "./SQLiteAdapter";
13
13
  export type { SqliteDatabase, SqliteStatement, SQLiteAdapterOptions, } from "./SQLiteAdapter";
14
14
  export { MemoryAdapter } from "./MemoryAdapter";
15
+ export { OpenSearchAdapter } from "./OpenSearchAdapter";
16
+ export type { OpenSearchClient, OpenSearchAdapterOptions, } from "./OpenSearchAdapter";
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,QAAQ,EACR,aAAa,EACb,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,QAAQ,EACR,aAAa,EACb,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Database adapters for persistence
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MemoryAdapter = exports.SQLiteAdapter = exports.PostgreSQLAdapter = exports.MongoAdapter = exports.RedisAdapter = exports.PrismaAdapter = void 0;
6
+ exports.OpenSearchAdapter = exports.MemoryAdapter = exports.SQLiteAdapter = exports.PostgreSQLAdapter = exports.MongoAdapter = exports.RedisAdapter = exports.PrismaAdapter = void 0;
7
7
  var PrismaAdapter_1 = require("./PrismaAdapter");
8
8
  Object.defineProperty(exports, "PrismaAdapter", { enumerable: true, get: function () { return PrismaAdapter_1.PrismaAdapter; } });
9
9
  var RedisAdapter_1 = require("./RedisAdapter");
@@ -16,4 +16,6 @@ var SQLiteAdapter_1 = require("./SQLiteAdapter");
16
16
  Object.defineProperty(exports, "SQLiteAdapter", { enumerable: true, get: function () { return SQLiteAdapter_1.SQLiteAdapter; } });
17
17
  var MemoryAdapter_1 = require("./MemoryAdapter");
18
18
  Object.defineProperty(exports, "MemoryAdapter", { enumerable: true, get: function () { return MemoryAdapter_1.MemoryAdapter; } });
19
+ var OpenSearchAdapter_1 = require("./OpenSearchAdapter");
20
+ Object.defineProperty(exports, "OpenSearchAdapter", { enumerable: true, get: function () { return OpenSearchAdapter_1.OpenSearchAdapter; } });
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAOtB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAGrB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAQrB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAO1B,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAOtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAOtB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAGrB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAQrB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAO1B,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAOtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA"}
@@ -34,6 +34,8 @@ export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./adapt
34
34
  export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
35
35
  export type { SqliteDatabase, SqliteStatement, SQLiteAdapterOptions, } from "./adapters/SQLiteAdapter";
36
36
  export { MemoryAdapter } from "./adapters/MemoryAdapter";
37
+ export { OpenSearchAdapter } from "./adapters/OpenSearchAdapter";
38
+ export type { OpenSearchClient, OpenSearchAdapterOptions, } from "./adapters/OpenSearchAdapter";
37
39
  export { END_ROUTE } from "./constants";
38
40
  export { generateRouteId, generateStateId, generateObservationId, generateToolId, } from "./utils/id";
39
41
  export type { AgentOptions, Term, Guideline, Capability, GuidelineMatch, ContextLifecycleHooks, ContextProvider, } from "./types/agent";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * A strongly-typed, modular agent framework with route DSL and AI provider strategy
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.SectionStatus = exports.EventSource = exports.EventKind = exports.CompositionMode = exports.generateToolId = exports.generateObservationId = exports.generateStateId = exports.generateRouteId = exports.END_ROUTE = exports.MemoryAdapter = exports.SQLiteAdapter = exports.PostgreSQLAdapter = exports.MongoAdapter = exports.RedisAdapter = exports.PrismaAdapter = exports.AnthropicProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.PersistenceManager = exports.BuiltInSection = exports.PromptBuilder = exports.createToolEvent = exports.createMessageEvent = exports.adaptEvent = exports.DomainRegistry = exports.defineTool = exports.Observation = exports.Transition = exports.State = exports.Route = exports.Agent = void 0;
8
+ exports.SectionStatus = exports.EventSource = exports.EventKind = exports.CompositionMode = exports.generateToolId = exports.generateObservationId = exports.generateStateId = exports.generateRouteId = exports.END_ROUTE = exports.OpenSearchAdapter = exports.MemoryAdapter = exports.SQLiteAdapter = exports.PostgreSQLAdapter = exports.MongoAdapter = exports.RedisAdapter = exports.PrismaAdapter = exports.AnthropicProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = exports.PersistenceManager = exports.BuiltInSection = exports.PromptBuilder = exports.createToolEvent = exports.createMessageEvent = exports.adaptEvent = exports.DomainRegistry = exports.defineTool = exports.Observation = exports.Transition = exports.State = exports.Route = exports.Agent = void 0;
9
9
  // Core
10
10
  var Agent_1 = require("./core/Agent");
11
11
  Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return Agent_1.Agent; } });
@@ -53,6 +53,8 @@ var SQLiteAdapter_1 = require("./adapters/SQLiteAdapter");
53
53
  Object.defineProperty(exports, "SQLiteAdapter", { enumerable: true, get: function () { return SQLiteAdapter_1.SQLiteAdapter; } });
54
54
  var MemoryAdapter_1 = require("./adapters/MemoryAdapter");
55
55
  Object.defineProperty(exports, "MemoryAdapter", { enumerable: true, get: function () { return MemoryAdapter_1.MemoryAdapter; } });
56
+ var OpenSearchAdapter_1 = require("./adapters/OpenSearchAdapter");
57
+ Object.defineProperty(exports, "OpenSearchAdapter", { enumerable: true, get: function () { return OpenSearchAdapter_1.OpenSearchAdapter; } });
56
58
  // Constants
57
59
  var constants_1 = require("./constants");
58
60
  Object.defineProperty(exports, "END_ROUTE", { enumerable: true, get: function () { return constants_1.END_ROUTE; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,OAAO;AACP,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,oCAAyC;AAAhC,kGAAA,UAAU,OAAA;AACnB,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,wCAAgF;AAAvE,oGAAA,UAAU,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxD,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAEtB,sDAAsD;AAA7C,+GAAA,cAAc,OAAA;AACvB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAE3B,YAAY;AACZ,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAE3B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAG1B,WAAW;AACX,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAErB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAOrB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAM1B,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAEtB,YAAY;AACZ,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,QAAQ;AACR,iCAKoB;AAJlB,qGAAA,eAAe,OAAA;AACf,qGAAA,eAAe,OAAA;AACf,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AAahB,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AAUxB,2CAAyD;AAAhD,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AA8B/B,yCAA+C;AAAtC,uGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,OAAO;AACP,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,oCAAyC;AAAhC,kGAAA,UAAU,OAAA;AACnB,wDAAuD;AAA9C,gHAAA,cAAc,OAAA;AACvB,wCAAgF;AAAvE,oGAAA,UAAU,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,yGAAA,eAAe,OAAA;AACxD,sDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAEtB,sDAAsD;AAA7C,+GAAA,cAAc,OAAA;AACvB,gEAA+D;AAAtD,wHAAA,kBAAkB,OAAA;AAE3B,YAAY;AACZ,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AAEvB,qEAAoE;AAA3D,wHAAA,kBAAkB,OAAA;AAE3B,mEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAG1B,WAAW;AACX,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAErB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AAOrB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAM1B,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AAMtB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,kEAAiE;AAAxD,sHAAA,iBAAiB,OAAA;AAM1B,YAAY;AACZ,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,QAAQ;AACR,iCAKoB;AAJlB,qGAAA,eAAe,OAAA;AACf,qGAAA,eAAe,OAAA;AACf,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AAahB,uCAAgD;AAAvC,wGAAA,eAAe,OAAA;AAUxB,2CAAyD;AAAhD,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AA8B/B,yCAA+C;AAAtC,uGAAA,aAAa,OAAA"}
package/dist/index.d.ts CHANGED
@@ -34,6 +34,8 @@ export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./adapt
34
34
  export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
35
35
  export type { SqliteDatabase, SqliteStatement, SQLiteAdapterOptions, } from "./adapters/SQLiteAdapter";
36
36
  export { MemoryAdapter } from "./adapters/MemoryAdapter";
37
+ export { OpenSearchAdapter } from "./adapters/OpenSearchAdapter";
38
+ export type { OpenSearchClient, OpenSearchAdapterOptions, } from "./adapters/OpenSearchAdapter";
37
39
  export { END_ROUTE } from "./constants";
38
40
  export { generateRouteId, generateStateId, generateObservationId, generateToolId, } from "./utils/id";
39
41
  export type { AgentOptions, Term, Guideline, Capability, GuidelineMatch, ContextLifecycleHooks, ContextProvider, } from "./types/agent";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@ export { MongoAdapter } from "./adapters/MongoAdapter";
27
27
  export { PostgreSQLAdapter } from "./adapters/PostgreSQLAdapter";
28
28
  export { SQLiteAdapter } from "./adapters/SQLiteAdapter";
29
29
  export { MemoryAdapter } from "./adapters/MemoryAdapter";
30
+ export { OpenSearchAdapter } from "./adapters/OpenSearchAdapter";
30
31
  // Constants
31
32
  export { END_ROUTE } from "./constants";
32
33
  // Utils
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAQ;AACR,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAUhD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8BzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAQ;AACR,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAUhD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8BzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
package/docs/ADAPTERS.md CHANGED
@@ -50,7 +50,18 @@ All adapters follow the **provider pattern** - no dependencies required in the p
50
50
  - Auto table/index creation
51
51
  - Zero configuration
52
52
 
53
- ### 6. **MemoryAdapter**
53
+ ### 6. **OpenSearchAdapter**
54
+
55
+ - **Use case:** Full-text search & analytics
56
+ - **Install:** `npm install @opensearch-project/opensearch`
57
+ - **Features:**
58
+ - Built-in full-text search
59
+ - Powerful aggregations
60
+ - Auto index/mapping creation
61
+ - Compatible with Elasticsearch 7.x
62
+ - AWS OpenSearch Service ready
63
+
64
+ ### 7. **MemoryAdapter**
54
65
 
55
66
  - **Use case:** Testing & development
56
67
  - **Install:** Built-in (no dependencies required) ✨
@@ -94,7 +105,8 @@ All database clients are **optional peer dependencies** - they won't be installe
94
105
  "mongodb": "^6.0.0 || ^7.0.0",
95
106
  "pg": "^8.11.0",
96
107
  "mysql2": "^3.2.0",
97
- "better-sqlite3": "^11.0.0 || ^12.0.0"
108
+ "better-sqlite3": "^11.0.0 || ^12.0.0",
109
+ "@opensearch-project/opensearch": "^2.0.0"
98
110
  },
99
111
  "peerDependenciesMeta": {
100
112
  "@prisma/client": { "optional": true },
@@ -994,6 +994,74 @@ const agent = new Agent({
994
994
 
995
995
  ---
996
996
 
997
+ ### `OpenSearchAdapter`
998
+
999
+ Full-text search and analytics-powered persistence. Compatible with OpenSearch and Elasticsearch 7.x.
1000
+
1001
+ #### Constructor
1002
+
1003
+ ```typescript
1004
+ new OpenSearchAdapter(client: OpenSearchClient, options?: OpenSearchAdapterOptions)
1005
+
1006
+ interface OpenSearchAdapterOptions {
1007
+ indices?: {
1008
+ sessions?: string; // Default: "agent_sessions"
1009
+ messages?: string; // Default: "agent_messages"
1010
+ };
1011
+ autoCreateIndices?: boolean; // Default: true
1012
+ refresh?: boolean | "wait_for"; // Default: false
1013
+ }
1014
+ ```
1015
+
1016
+ #### Methods
1017
+
1018
+ ##### `initialize(): Promise<void>`
1019
+
1020
+ Creates indices with proper mappings if they don't exist.
1021
+
1022
+ ##### `disconnect(): Promise<void>`
1023
+
1024
+ Gracefully disconnect (no-op for OpenSearch - connection pooling is automatic).
1025
+
1026
+ #### Example
1027
+
1028
+ ```typescript
1029
+ import { OpenSearchAdapter } from "@falai/agent";
1030
+ import { Client } from "@opensearch-project/opensearch";
1031
+
1032
+ const client = new Client({
1033
+ node: "https://localhost:9200",
1034
+ auth: {
1035
+ username: "admin",
1036
+ password: "admin",
1037
+ },
1038
+ });
1039
+
1040
+ const adapter = new OpenSearchAdapter(client, {
1041
+ indices: {
1042
+ sessions: "agent_sessions",
1043
+ messages: "agent_messages",
1044
+ },
1045
+ autoCreateIndices: true,
1046
+ refresh: "wait_for", // Wait for documents to be searchable
1047
+ });
1048
+
1049
+ // Auto-create indices with mappings
1050
+ await adapter.initialize();
1051
+
1052
+ const agent = new Agent({
1053
+ persistence: { adapter },
1054
+ });
1055
+ ```
1056
+
1057
+ **Install:** `npm install @opensearch-project/opensearch`
1058
+
1059
+ **Perfect for:** Full-text search, analytics, time-series analysis, AWS OpenSearch Service, Elasticsearch 7.x users
1060
+
1061
+ **Full Example:** See [examples/opensearch-persistence.ts](../examples/opensearch-persistence.ts)
1062
+
1063
+ ---
1064
+
997
1065
  ### `MemoryAdapter`
998
1066
 
999
1067
  Zero-dependency in-memory storage for testing and development.
@@ -434,16 +434,17 @@ const agent = new Agent({
434
434
 
435
435
  **Install:** `npm install ioredis` or `npm install redis`
436
436
 
437
- ### Coming Soon
437
+ ### More Adapters
438
438
 
439
- Create your own adapter for:
439
+ All adapters are production-ready and available now:
440
440
 
441
- - **MongoDB**: Document-based storage āœ… **Available!**
442
- - **PostgreSQL**: Raw SQL for custom schemas āœ… **Available!**
443
- - **MySQL**: Traditional relational database (coming soon)
444
- - **Elasticsearch**: Full-text search integration (coming soon)
441
+ - **MongoDB**: Document-based storage āœ…
442
+ - **PostgreSQL**: Raw SQL for custom schemas āœ…
443
+ - **SQLite**: Lightweight file-based database āœ…
444
+ - **OpenSearch**: Full-text search & analytics āœ…
445
+ - **Memory**: Built-in for testing āœ…
445
446
 
446
- Just implement the `PersistenceAdapter` interface!
447
+ Create your own adapter by implementing the `PersistenceAdapter` interface!
447
448
 
448
449
  ### MongoDB
449
450
 
@@ -541,6 +542,76 @@ const agent = new Agent({
541
542
  - Desktop applications
542
543
  - Single-user apps
543
544
 
545
+ ### OpenSearch
546
+
547
+ Full-text search and analytics-powered persistence. Also compatible with Elasticsearch 7.x:
548
+
549
+ ```typescript
550
+ import { OpenSearchAdapter } from "@falai/agent";
551
+ import { Client } from "@opensearch-project/opensearch";
552
+
553
+ const client = new Client({
554
+ node: "https://localhost:9200",
555
+ auth: {
556
+ username: "admin",
557
+ password: "admin",
558
+ },
559
+ });
560
+
561
+ const adapter = new OpenSearchAdapter(client, {
562
+ indices: {
563
+ sessions: "agent_sessions",
564
+ messages: "agent_messages",
565
+ },
566
+ autoCreateIndices: true, // Auto-create indices with mappings
567
+ refresh: "wait_for", // Ensure documents are searchable immediately
568
+ });
569
+
570
+ // Auto-create indices with mappings
571
+ await adapter.initialize();
572
+
573
+ const agent = new Agent({
574
+ persistence: { adapter },
575
+ });
576
+ ```
577
+
578
+ **Install:** `npm install @opensearch-project/opensearch`
579
+
580
+ **Perfect for:**
581
+
582
+ - Full-text search across conversations
583
+ - Analytics and aggregations
584
+ - Time-series analysis
585
+ - AWS OpenSearch Service
586
+ - Elasticsearch 7.x users
587
+
588
+ **Advanced features:**
589
+
590
+ ```typescript
591
+ // Get OpenSearch client for custom queries
592
+ const pm = agent.getPersistenceManager();
593
+ if (pm) {
594
+ const messages = await pm.getSessionMessages(sessionId);
595
+
596
+ // Now use the client directly for advanced queries
597
+ const results = await client.search({
598
+ index: "agent_messages",
599
+ body: {
600
+ query: {
601
+ match: {
602
+ content: "flight booking",
603
+ },
604
+ },
605
+ aggregations: {
606
+ by_route: {
607
+ terms: { field: "route" },
608
+ },
609
+ },
610
+ },
611
+ });
612
+ }
613
+ ```
614
+
544
615
  ### Memory (Built-in)
545
616
 
546
617
  Zero-dependency in-memory storage for testing:
package/docs/README.md CHANGED
@@ -16,7 +16,9 @@ Welcome to the `@falai/agent` documentation!
16
16
  ### Reference
17
17
 
18
18
  - **[API Reference](./API_REFERENCE.md)** - Complete API documentation for all classes, methods, and types
19
- - **[AI Providers Guide](./PROVIDERS.md)** - Gemini, OpenAI, and custom providers
19
+ - **[AI Providers Guide](./PROVIDERS.md)** - Gemini, OpenAI, Anthropic, and custom providers
20
+ - **[Persistence Guide](./PERSISTENCE.md)** - Auto-save sessions and messages to any database
21
+ - **[Database Adapters](./ADAPTERS.md)** - Adapter comparison and configuration examples
20
22
  - **[Contributing Guide](./CONTRIBUTING.md)** - How to contribute to the project
21
23
  - **[Publishing Guide](./PUBLISHING.md)** - How to publish updates to npm
22
24
 
@@ -36,21 +38,44 @@ Welcome to the `@falai/agent` documentation!
36
38
  **Understanding the codebase?**
37
39
  → Read [Package Structure](./STRUCTURE.md)
38
40
 
41
+ **Need persistence?**
42
+ → See [Persistence Guide](./PERSISTENCE.md)
43
+
39
44
  ### By Topic
40
45
 
41
46
  - **Agent Configuration**: [Constructor Options](./CONSTRUCTOR_OPTIONS.md)
42
47
  - **Conversation Flows**: [API Reference - Routes](./API_REFERENCE.md#route)
43
48
  - **Tools & Functions**: [API Reference - Tools](./API_REFERENCE.md#definetool)
44
49
  - **Disambiguation**: [API Reference - Observations](./API_REFERENCE.md#observation)
45
- - **AI Providers**: [API Reference - GeminiProvider](./API_REFERENCE.md#geminiprovider)
50
+ - **AI Providers**: [Providers Guide](./PROVIDERS.md) | [API Reference](./API_REFERENCE.md#geminiprovider)
51
+ - **Database Persistence**: [Persistence Guide](./PERSISTENCE.md) | [Adapters](./ADAPTERS.md)
46
52
 
47
53
  ## šŸ’” Examples
48
54
 
49
55
  Check out the [`examples/`](../examples/) directory for complete, runnable examples:
50
56
 
57
+ ### Core Examples
58
+
51
59
  - **[Declarative Agent](../examples/declarative-agent.ts)** - Full constructor-based configuration
52
60
  - **[Travel Agent](../examples/travel-agent.ts)** - Complex multi-route travel booking system
53
61
  - **[Healthcare Agent](../examples/healthcare-agent.ts)** - Disambiguation with observations
62
+ - **[Streaming Agent](../examples/streaming-agent.ts)** - Real-time streaming responses
63
+
64
+ ### Persistence Examples
65
+
66
+ - **[Prisma Persistence](../examples/prisma-persistence.ts)** - Auto-save with Prisma ORM
67
+ - **[Redis Persistence](../examples/redis-persistence.ts)** - Fast in-memory persistence
68
+
69
+ ### Provider Examples
70
+
71
+ - **[OpenAI Agent](../examples/openai-agent.ts)** - GPT-5 integration
72
+ - **[Gemini Agent](../examples/gemini-agent.ts)** - Google Gemini integration
73
+ - **[Anthropic Agent](../examples/healthcare-agent.ts)** - Claude 3.5 Sonnet
74
+
75
+ ### Advanced Examples
76
+
77
+ - **[Domain Scoping](../examples/domain-scoping.ts)** - Control tool access per route
78
+ - **[Rules & Prohibitions](../examples/rules-prohibitions.ts)** - Fine-grained behavior control
54
79
 
55
80
  ## šŸ¤ Contributing
56
81
 
@@ -0,0 +1,175 @@
1
+ /**
2
+ * OpenSearch Persistence Example
3
+ *
4
+ * This example demonstrates how to use the OpenSearchAdapter for persistent storage.
5
+ * Also compatible with Elasticsearch 7.x.
6
+ *
7
+ * Setup:
8
+ * 1. Install the OpenSearch client: npm install @opensearch-project/opensearch
9
+ * 2. Run OpenSearch locally:
10
+ * docker run -d -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" opensearchproject/opensearch:latest
11
+ * 3. Run this example: bun run examples/opensearch-persistence.ts
12
+ */
13
+
14
+ // @ts-ignore - OpenSearch is a peer dependency
15
+ import { Client } from "@opensearch-project/opensearch";
16
+ import {
17
+ Agent,
18
+ GeminiProvider,
19
+ OpenSearchAdapter,
20
+ defineTool,
21
+ createMessageEvent,
22
+ EventSource,
23
+ } from "../src/index.js";
24
+
25
+ // Initialize OpenSearch client
26
+ const client = new Client({
27
+ node: process.env.OPENSEARCH_URL || "https://localhost:9200",
28
+ auth: {
29
+ username: process.env.OPENSEARCH_USERNAME || "admin",
30
+ password: process.env.OPENSEARCH_PASSWORD || "admin",
31
+ },
32
+ ssl: {
33
+ rejectUnauthorized: false, // For development only!
34
+ },
35
+ });
36
+
37
+ // Create adapter with custom index names
38
+ const adapter = new OpenSearchAdapter(client, {
39
+ indices: {
40
+ sessions: "my_agent_sessions",
41
+ messages: "my_agent_messages",
42
+ },
43
+ autoCreateIndices: true, // Automatically create indices with mappings
44
+ refresh: "wait_for", // Wait for documents to be searchable (slower but consistent)
45
+ });
46
+
47
+ // Define context type
48
+ interface TravelContext {
49
+ userId: string;
50
+ userName: string;
51
+ }
52
+
53
+ // Define a simple tool
54
+ const bookFlight = defineTool<
55
+ TravelContext,
56
+ [destination: string, date: string],
57
+ { success: boolean; confirmation: string }
58
+ >(
59
+ "book_flight",
60
+ async ({ context }, destination, date) => {
61
+ console.log(`šŸ“ Booking flight for ${context.userName}...`);
62
+ return {
63
+ data: {
64
+ success: true,
65
+ confirmation: `Flight to ${destination} booked for ${date}`,
66
+ },
67
+ };
68
+ },
69
+ {
70
+ description: "Book a flight for the user",
71
+ parameters: {
72
+ type: "object",
73
+ properties: {
74
+ destination: { type: "string", description: "Destination city" },
75
+ date: { type: "string", description: "Travel date" },
76
+ },
77
+ required: ["destination", "date"],
78
+ },
79
+ }
80
+ );
81
+
82
+ // Create agent with OpenSearch persistence
83
+ const agent = new Agent<TravelContext>({
84
+ name: "Travel Assistant",
85
+ description: "A helpful travel booking assistant",
86
+ ai: new GeminiProvider({
87
+ apiKey: process.env.GEMINI_API_KEY || "",
88
+ model: "gemini-2.0-flash-exp",
89
+ }),
90
+ context: {
91
+ userId: "user_123",
92
+ userName: "Alex",
93
+ },
94
+ persistence: {
95
+ adapter,
96
+ autoSave: true,
97
+ userId: "user_123",
98
+ },
99
+ capabilities: [
100
+ {
101
+ title: "Flight Booking",
102
+ description: "Book flights for travel",
103
+ tools: [bookFlight],
104
+ },
105
+ ],
106
+ });
107
+
108
+ async function main() {
109
+ try {
110
+ console.log("šŸš€ Starting OpenSearch persistence example...\n");
111
+
112
+ // First conversation
113
+ console.log("šŸ’¬ User: I need to book a flight to Tokyo");
114
+ const history1 = [
115
+ createMessageEvent(
116
+ EventSource.CUSTOMER,
117
+ "Alex",
118
+ "I need to book a flight to Tokyo"
119
+ ),
120
+ ];
121
+ let response = await agent.respond({ history: history1 });
122
+ console.log("šŸ¤– Agent:", response.message);
123
+ console.log();
124
+
125
+ // Continue conversation (uses same session)
126
+ console.log("šŸ’¬ User: Make it for next Monday");
127
+ const history2 = [
128
+ ...history1,
129
+ createMessageEvent(
130
+ EventSource.AI_AGENT,
131
+ "Travel Assistant",
132
+ response.message
133
+ ),
134
+ createMessageEvent(
135
+ EventSource.CUSTOMER,
136
+ "Alex",
137
+ "Make it for next Monday"
138
+ ),
139
+ ];
140
+ response = await agent.respond({ history: history2 });
141
+ console.log("šŸ¤– Agent:", response.message);
142
+ console.log();
143
+
144
+ // Get persistence manager
145
+ const pm = agent.getPersistenceManager();
146
+ if (pm) {
147
+ // Query sessions
148
+ const sessions = await pm.getUserSessions("user_123");
149
+ console.log(`šŸ“Š Found ${sessions.length} session(s) for user_123`);
150
+
151
+ if (sessions.length > 0) {
152
+ const session = sessions[0];
153
+ console.log(` Session ID: ${session.id}`);
154
+ console.log(` Status: ${session.status}`);
155
+ console.log(` Messages: ${session.messageCount || 0}`);
156
+ console.log();
157
+
158
+ // Query messages
159
+ const messages = await pm.getSessionMessages(session.id);
160
+ console.log(`šŸ“ Session has ${messages.length} message(s):`);
161
+ messages.forEach((msg, idx) => {
162
+ console.log(
163
+ ` ${idx + 1}. [${msg.role}] ${msg.content.substring(0, 50)}...`
164
+ );
165
+ });
166
+ }
167
+ }
168
+
169
+ console.log("\nāœ… OpenSearch persistence example completed!");
170
+ } catch (error) {
171
+ console.error("āŒ Error:", error);
172
+ }
173
+ }
174
+
175
+ main();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@falai/agent",
3
- "version": "0.3.21",
3
+ "version": "0.3.23",
4
4
  "description": "Standalone, strongly-typed AI Agent framework with route DSL and AI provider strategy",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -88,7 +88,8 @@
88
88
  "mongodb": "^6.0.0 || ^7.0.0",
89
89
  "pg": "^8.11.0",
90
90
  "mysql2": "^3.2.0",
91
- "better-sqlite3": "^11.0.0 || ^12.0.0"
91
+ "better-sqlite3": "^11.0.0 || ^12.0.0",
92
+ "@opensearch-project/opensearch": "^2.0.0"
92
93
  },
93
94
  "peerDependenciesMeta": {
94
95
  "@prisma/client": {
@@ -111,6 +112,9 @@
111
112
  },
112
113
  "better-sqlite3": {
113
114
  "optional": true
115
+ },
116
+ "@opensearch-project/opensearch": {
117
+ "optional": true
114
118
  }
115
119
  }
116
120
  }