@falai/agent 0.3.11 → 0.3.20
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 +164 -0
- package/dist/adapters/MongoAdapter.d.ts +97 -0
- package/dist/adapters/MongoAdapter.d.ts.map +1 -0
- package/dist/adapters/MongoAdapter.js +163 -0
- package/dist/adapters/MongoAdapter.js.map +1 -0
- package/dist/adapters/PostgreSQLAdapter.d.ts +71 -0
- package/dist/adapters/PostgreSQLAdapter.d.ts.map +1 -0
- package/dist/adapters/PostgreSQLAdapter.js +256 -0
- package/dist/adapters/PostgreSQLAdapter.js.map +1 -0
- package/dist/adapters/PrismaAdapter.d.ts +115 -0
- package/dist/adapters/PrismaAdapter.d.ts.map +1 -0
- package/dist/adapters/PrismaAdapter.js +331 -0
- package/dist/adapters/PrismaAdapter.js.map +1 -0
- package/dist/adapters/RedisAdapter.d.ts +71 -0
- package/dist/adapters/RedisAdapter.d.ts.map +1 -0
- package/dist/adapters/RedisAdapter.js +226 -0
- package/dist/adapters/RedisAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +12 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +8 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/cjs/adapters/MongoAdapter.d.ts +97 -0
- package/dist/cjs/adapters/MongoAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/MongoAdapter.js +167 -0
- package/dist/cjs/adapters/MongoAdapter.js.map +1 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts +71 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.js +260 -0
- package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -0
- package/dist/cjs/adapters/PrismaAdapter.d.ts +115 -0
- package/dist/cjs/adapters/PrismaAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/PrismaAdapter.js +335 -0
- package/dist/cjs/adapters/PrismaAdapter.js.map +1 -0
- package/dist/cjs/adapters/RedisAdapter.d.ts +71 -0
- package/dist/cjs/adapters/RedisAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/RedisAdapter.js +230 -0
- package/dist/cjs/adapters/RedisAdapter.js.map +1 -0
- package/dist/cjs/adapters/index.d.ts +12 -0
- package/dist/cjs/adapters/index.d.ts.map +1 -0
- package/dist/cjs/adapters/index.js +15 -0
- package/dist/cjs/adapters/index.js.map +1 -0
- package/dist/cjs/core/Agent.d.ts +10 -0
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +23 -0
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts +77 -0
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -0
- package/dist/cjs/core/PersistenceManager.js +153 -0
- package/dist/cjs/core/PersistenceManager.js.map +1 -0
- package/dist/cjs/index.d.ts +10 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +12 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +3 -0
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/agent.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/persistence.d.ts +194 -0
- package/dist/cjs/types/persistence.d.ts.map +1 -0
- package/dist/cjs/types/persistence.js +7 -0
- package/dist/cjs/types/persistence.js.map +1 -0
- package/dist/core/Agent.d.ts +10 -0
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +23 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/PersistenceManager.d.ts +77 -0
- package/dist/core/PersistenceManager.d.ts.map +1 -0
- package/dist/core/PersistenceManager.js +149 -0
- package/dist/core/PersistenceManager.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/types/agent.d.ts +3 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/persistence.d.ts +194 -0
- package/dist/types/persistence.d.ts.map +1 -0
- package/dist/types/persistence.js +6 -0
- package/dist/types/persistence.js.map +1 -0
- package/docs/ADAPTERS.md +127 -0
- package/docs/API_REFERENCE.md +337 -0
- package/docs/PERSISTENCE.md +513 -0
- package/examples/prisma-persistence.ts +313 -0
- package/examples/prisma-schema.example.prisma +74 -0
- package/examples/redis-persistence.ts +89 -0
- package/package.json +29 -1
- package/src/adapters/MongoAdapter.ts +295 -0
- package/src/adapters/PostgreSQLAdapter.ts +417 -0
- package/src/adapters/PrismaAdapter.ts +510 -0
- package/src/adapters/RedisAdapter.ts +365 -0
- package/src/adapters/index.ts +28 -0
- package/src/core/Agent.ts +31 -0
- package/src/core/PersistenceManager.ts +222 -0
- package/src/index.ts +36 -0
- package/src/types/agent.ts +3 -0
- package/src/types/index.ts +14 -0
- package/src/types/persistence.ts +234 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Persistence Manager
|
|
4
|
+
* Handles optional persistence of sessions and messages
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.PersistenceManager = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Manager for handling persistence operations
|
|
10
|
+
* Provides a clean interface for optional database persistence
|
|
11
|
+
*/
|
|
12
|
+
class PersistenceManager {
|
|
13
|
+
constructor(config) {
|
|
14
|
+
this.config = {
|
|
15
|
+
autoSave: true,
|
|
16
|
+
...config,
|
|
17
|
+
};
|
|
18
|
+
this.sessionRepository = config.adapter.sessionRepository;
|
|
19
|
+
this.messageRepository = config.adapter.messageRepository;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create a new session
|
|
23
|
+
*/
|
|
24
|
+
async createSession(options) {
|
|
25
|
+
const userId = options.userId || this.config.userId;
|
|
26
|
+
return await this.sessionRepository.create({
|
|
27
|
+
userId,
|
|
28
|
+
agentName: options.agentName,
|
|
29
|
+
status: "active",
|
|
30
|
+
collectedData: options.initialData || {},
|
|
31
|
+
messageCount: 0,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get session by ID
|
|
36
|
+
*/
|
|
37
|
+
async getSession(sessionId) {
|
|
38
|
+
return await this.sessionRepository.findById(sessionId);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Find active session for a user
|
|
42
|
+
*/
|
|
43
|
+
async findActiveSession(userId) {
|
|
44
|
+
const effectiveUserId = userId || this.config.userId;
|
|
45
|
+
if (!effectiveUserId) {
|
|
46
|
+
throw new Error("userId must be provided or configured in PersistenceConfig");
|
|
47
|
+
}
|
|
48
|
+
return await this.sessionRepository.findActiveByUserId(effectiveUserId);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get all sessions for a user
|
|
52
|
+
*/
|
|
53
|
+
async getUserSessions(userId, limit) {
|
|
54
|
+
const effectiveUserId = userId || this.config.userId;
|
|
55
|
+
if (!effectiveUserId) {
|
|
56
|
+
throw new Error("userId must be provided or configured in PersistenceConfig");
|
|
57
|
+
}
|
|
58
|
+
return await this.sessionRepository.findByUserId(effectiveUserId, limit);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Update session status
|
|
62
|
+
*/
|
|
63
|
+
async updateSessionStatus(sessionId, status, completedAt) {
|
|
64
|
+
return await this.sessionRepository.updateStatus(sessionId, status, completedAt);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Update collected data in session
|
|
68
|
+
*/
|
|
69
|
+
async updateCollectedData(sessionId, collectedData) {
|
|
70
|
+
return await this.sessionRepository.updateCollectedData(sessionId, collectedData);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Update current route and state
|
|
74
|
+
*/
|
|
75
|
+
async updateRouteState(sessionId, route, state) {
|
|
76
|
+
return await this.sessionRepository.updateRouteState(sessionId, route, state);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Save a message
|
|
80
|
+
*/
|
|
81
|
+
async saveMessage(options) {
|
|
82
|
+
const userId = options.userId || this.config.userId;
|
|
83
|
+
const message = await this.messageRepository.create({
|
|
84
|
+
sessionId: options.sessionId,
|
|
85
|
+
userId,
|
|
86
|
+
role: options.role,
|
|
87
|
+
content: options.content,
|
|
88
|
+
route: options.route,
|
|
89
|
+
state: options.state,
|
|
90
|
+
toolCalls: options.toolCalls,
|
|
91
|
+
event: options.event,
|
|
92
|
+
});
|
|
93
|
+
// Increment message count in session if autoSave is enabled
|
|
94
|
+
if (this.config.autoSave) {
|
|
95
|
+
await this.sessionRepository.incrementMessageCount(options.sessionId);
|
|
96
|
+
}
|
|
97
|
+
return message;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get all messages for a session
|
|
101
|
+
*/
|
|
102
|
+
async getSessionMessages(sessionId, limit) {
|
|
103
|
+
return await this.messageRepository.findBySessionId(sessionId, limit);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get messages for a user
|
|
107
|
+
*/
|
|
108
|
+
async getUserMessages(userId, limit) {
|
|
109
|
+
const effectiveUserId = userId || this.config.userId;
|
|
110
|
+
if (!effectiveUserId) {
|
|
111
|
+
throw new Error("userId must be provided or configured in PersistenceConfig");
|
|
112
|
+
}
|
|
113
|
+
return await this.messageRepository.findByUserId(effectiveUserId, limit);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Delete a session and all its messages
|
|
117
|
+
*/
|
|
118
|
+
async deleteSession(sessionId) {
|
|
119
|
+
// Delete all messages first
|
|
120
|
+
await this.messageRepository.deleteBySessionId(sessionId);
|
|
121
|
+
// Then delete the session
|
|
122
|
+
return await this.sessionRepository.delete(sessionId);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Complete a session
|
|
126
|
+
*/
|
|
127
|
+
async completeSession(sessionId) {
|
|
128
|
+
return await this.updateSessionStatus(sessionId, "completed", new Date());
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Abandon a session
|
|
132
|
+
*/
|
|
133
|
+
async abandonSession(sessionId) {
|
|
134
|
+
return await this.updateSessionStatus(sessionId, "abandoned");
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Helper: Convert message data to Event format
|
|
138
|
+
*/
|
|
139
|
+
messageToEvent(message) {
|
|
140
|
+
return message.event;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Helper: Load history from session messages
|
|
144
|
+
*/
|
|
145
|
+
async loadSessionHistory(sessionId) {
|
|
146
|
+
const messages = await this.getSessionMessages(sessionId);
|
|
147
|
+
return messages
|
|
148
|
+
.map((m) => this.messageToEvent(m))
|
|
149
|
+
.filter((e) => e !== undefined);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.PersistenceManager = PersistenceManager;
|
|
153
|
+
//# sourceMappingURL=PersistenceManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersistenceManager.js","sourceRoot":"","sources":["../../../src/core/PersistenceManager.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { adaptEvent, createMessageEvent, createToolEvent } from "./core/Events";
|
|
|
14
14
|
export { PromptBuilder } from "./core/PromptBuilder";
|
|
15
15
|
export type { Customer, AgentInfo } from "./core/PromptBuilder";
|
|
16
16
|
export { BuiltInSection } from "./core/PromptBuilder";
|
|
17
|
+
export { PersistenceManager } from "./core/PersistenceManager";
|
|
17
18
|
export { GeminiProvider } from "./providers/GeminiProvider";
|
|
18
19
|
export type { GeminiProviderOptions } from "./providers/GeminiProvider";
|
|
19
20
|
export { OpenAIProvider } from "./providers/OpenAIProvider";
|
|
@@ -22,6 +23,14 @@ export { OpenRouterProvider } from "./providers/OpenRouterProvider";
|
|
|
22
23
|
export type { OpenRouterProviderOptions } from "./providers/OpenRouterProvider";
|
|
23
24
|
export { AnthropicProvider } from "./providers/AnthropicProvider";
|
|
24
25
|
export type { AnthropicProviderOptions } from "./providers/AnthropicProvider";
|
|
26
|
+
export { PrismaAdapter } from "./adapters/PrismaAdapter";
|
|
27
|
+
export type { PrismaClient, FieldMappings, PrismaAdapterOptions, } from "./adapters/PrismaAdapter";
|
|
28
|
+
export { RedisAdapter } from "./adapters/RedisAdapter";
|
|
29
|
+
export type { RedisClient, RedisAdapterOptions } from "./adapters/RedisAdapter";
|
|
30
|
+
export { MongoAdapter } from "./adapters/MongoAdapter";
|
|
31
|
+
export type { MongoClient, MongoDatabase, MongoCollection, MongoAdapterOptions, } from "./adapters/MongoAdapter";
|
|
32
|
+
export { PostgreSQLAdapter } from "./adapters/PostgreSQLAdapter";
|
|
33
|
+
export type { PgClient, PgQueryResult, PostgreSQLAdapterOptions, } from "./adapters/PostgreSQLAdapter";
|
|
25
34
|
export { END_ROUTE } from "./constants";
|
|
26
35
|
export { generateRouteId, generateStateId, generateObservationId, generateToolId, } from "./utils/id";
|
|
27
36
|
export type { AgentOptions, Term, Guideline, Capability, GuidelineMatch, ContextLifecycleHooks, ContextProvider, } from "./types/agent";
|
|
@@ -34,4 +43,5 @@ export type { AiProvider, GenerateMessageInput, GenerateMessageOutput, AgentStru
|
|
|
34
43
|
export type { PromptSection, ContextVariable, ContextVariableValue, } from "./types/prompt";
|
|
35
44
|
export { SectionStatus } from "./types/prompt";
|
|
36
45
|
export type { Observation as IObservation, ObservationOptions, } from "./types/observation";
|
|
46
|
+
export type { SessionData, MessageData, SessionStatus, MessageRole, SessionRepository, MessageRepository, PersistenceConfig, CreateSessionOptions, SaveMessageOptions, } from "./types/persistence";
|
|
37
47
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,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;AACrD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
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.AnthropicProvider = exports.OpenRouterProvider = exports.OpenAIProvider = exports.GeminiProvider = 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.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; } });
|
|
@@ -29,6 +29,8 @@ var PromptBuilder_1 = require("./core/PromptBuilder");
|
|
|
29
29
|
Object.defineProperty(exports, "PromptBuilder", { enumerable: true, get: function () { return PromptBuilder_1.PromptBuilder; } });
|
|
30
30
|
var PromptBuilder_2 = require("./core/PromptBuilder");
|
|
31
31
|
Object.defineProperty(exports, "BuiltInSection", { enumerable: true, get: function () { return PromptBuilder_2.BuiltInSection; } });
|
|
32
|
+
var PersistenceManager_1 = require("./core/PersistenceManager");
|
|
33
|
+
Object.defineProperty(exports, "PersistenceManager", { enumerable: true, get: function () { return PersistenceManager_1.PersistenceManager; } });
|
|
32
34
|
// Providers
|
|
33
35
|
var GeminiProvider_1 = require("./providers/GeminiProvider");
|
|
34
36
|
Object.defineProperty(exports, "GeminiProvider", { enumerable: true, get: function () { return GeminiProvider_1.GeminiProvider; } });
|
|
@@ -38,6 +40,15 @@ var OpenRouterProvider_1 = require("./providers/OpenRouterProvider");
|
|
|
38
40
|
Object.defineProperty(exports, "OpenRouterProvider", { enumerable: true, get: function () { return OpenRouterProvider_1.OpenRouterProvider; } });
|
|
39
41
|
var AnthropicProvider_1 = require("./providers/AnthropicProvider");
|
|
40
42
|
Object.defineProperty(exports, "AnthropicProvider", { enumerable: true, get: function () { return AnthropicProvider_1.AnthropicProvider; } });
|
|
43
|
+
// Adapters
|
|
44
|
+
var PrismaAdapter_1 = require("./adapters/PrismaAdapter");
|
|
45
|
+
Object.defineProperty(exports, "PrismaAdapter", { enumerable: true, get: function () { return PrismaAdapter_1.PrismaAdapter; } });
|
|
46
|
+
var RedisAdapter_1 = require("./adapters/RedisAdapter");
|
|
47
|
+
Object.defineProperty(exports, "RedisAdapter", { enumerable: true, get: function () { return RedisAdapter_1.RedisAdapter; } });
|
|
48
|
+
var MongoAdapter_1 = require("./adapters/MongoAdapter");
|
|
49
|
+
Object.defineProperty(exports, "MongoAdapter", { enumerable: true, get: function () { return MongoAdapter_1.MongoAdapter; } });
|
|
50
|
+
var PostgreSQLAdapter_1 = require("./adapters/PostgreSQLAdapter");
|
|
51
|
+
Object.defineProperty(exports, "PostgreSQLAdapter", { enumerable: true, get: function () { return PostgreSQLAdapter_1.PostgreSQLAdapter; } });
|
|
41
52
|
// Constants
|
|
42
53
|
var constants_1 = require("./constants");
|
|
43
54
|
Object.defineProperty(exports, "END_ROUTE", { enumerable: true, get: function () { return constants_1.END_ROUTE; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -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;
|
|
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;AAO1B,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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type { AiProvider } from "./ai";
|
|
5
5
|
import type { ToolRef } from "./tool";
|
|
6
6
|
import type { RouteOptions } from "./route";
|
|
7
|
+
import type { PersistenceConfig } from "./persistence";
|
|
7
8
|
/**
|
|
8
9
|
* Composition mode determines how the agent processes and structures responses
|
|
9
10
|
*/
|
|
@@ -73,6 +74,8 @@ export interface AgentOptions<TContext = unknown> {
|
|
|
73
74
|
routes?: RouteOptions[];
|
|
74
75
|
/** Initial observations for disambiguation */
|
|
75
76
|
observations?: ObservationOptions[];
|
|
77
|
+
/** Optional persistence configuration for auto-saving sessions and messages */
|
|
78
|
+
persistence?: PersistenceConfig;
|
|
76
79
|
}
|
|
77
80
|
/**
|
|
78
81
|
* A term in the domain glossary
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAOH;;GAEG;AACH,IAAY,eASX;AATD,WAAY,eAAe;IACzB,2DAA2D;IAC3D,kCAAe,CAAA;IACf,2CAA2C;IAC3C,gDAA6B,CAAA;IAC7B,kCAAkC;IAClC,0DAAuC,CAAA;IACvC,mCAAmC;IACnC,kDAA+B,CAAA;AACjC,CAAC,EATW,eAAe,+BAAf,eAAe,QAS1B"}
|
|
@@ -11,4 +11,5 @@ export type { AiProvider, GenerateMessageInput, GenerateMessageOutput, } from ".
|
|
|
11
11
|
export type { PromptSection, ContextVariable, ContextVariableValue, } from "./prompt";
|
|
12
12
|
export { SectionStatus } from "./prompt";
|
|
13
13
|
export type { Observation, ObservationOptions } from "./observation";
|
|
14
|
+
export type { SessionData, MessageData, SessionStatus, MessageRole, SessionRepository, MessageRepository, PersistenceAdapter, PersistenceConfig, CreateSessionOptions, SaveMessageOptions, } from "./persistence";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,IAAI,eAAe,EAC7B,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGnD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAG5E,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,MAAM,CAAC;AAGd,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,YAAY,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,UAAU,IAAI,eAAe,EAC7B,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGnD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAG5E,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,MAAM,CAAC;AAGd,YAAY,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGrE,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence-related type definitions
|
|
3
|
+
* Support for optional database persistence (Prisma, etc.)
|
|
4
|
+
*/
|
|
5
|
+
import type { Event } from "./history";
|
|
6
|
+
/**
|
|
7
|
+
* Session status enum
|
|
8
|
+
*/
|
|
9
|
+
export type SessionStatus = "active" | "completed" | "abandoned";
|
|
10
|
+
/**
|
|
11
|
+
* Message role enum
|
|
12
|
+
*/
|
|
13
|
+
export type MessageRole = "user" | "agent" | "system";
|
|
14
|
+
/**
|
|
15
|
+
* Base session data structure
|
|
16
|
+
*/
|
|
17
|
+
export interface SessionData {
|
|
18
|
+
id: string;
|
|
19
|
+
userId?: string;
|
|
20
|
+
agentName?: string;
|
|
21
|
+
status: SessionStatus;
|
|
22
|
+
currentRoute?: string;
|
|
23
|
+
currentState?: string;
|
|
24
|
+
collectedData?: Record<string, unknown>;
|
|
25
|
+
messageCount?: number;
|
|
26
|
+
lastMessageAt?: Date;
|
|
27
|
+
completedAt?: Date;
|
|
28
|
+
createdAt: Date;
|
|
29
|
+
updatedAt: Date;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Base message data structure
|
|
33
|
+
*/
|
|
34
|
+
export interface MessageData {
|
|
35
|
+
id: string;
|
|
36
|
+
sessionId: string;
|
|
37
|
+
userId?: string;
|
|
38
|
+
role: MessageRole;
|
|
39
|
+
content: string;
|
|
40
|
+
route?: string;
|
|
41
|
+
state?: string;
|
|
42
|
+
toolCalls?: Array<{
|
|
43
|
+
toolName: string;
|
|
44
|
+
arguments: Record<string, unknown>;
|
|
45
|
+
}>;
|
|
46
|
+
event?: Event;
|
|
47
|
+
createdAt: Date;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Repository interface for sessions
|
|
51
|
+
* Implement this interface with your database of choice
|
|
52
|
+
*/
|
|
53
|
+
export interface SessionRepository {
|
|
54
|
+
/**
|
|
55
|
+
* Create a new session
|
|
56
|
+
*/
|
|
57
|
+
create(data: Omit<SessionData, "id" | "createdAt" | "updatedAt">): Promise<SessionData>;
|
|
58
|
+
/**
|
|
59
|
+
* Find session by ID
|
|
60
|
+
*/
|
|
61
|
+
findById(id: string): Promise<SessionData | null>;
|
|
62
|
+
/**
|
|
63
|
+
* Find active session by user ID
|
|
64
|
+
*/
|
|
65
|
+
findActiveByUserId(userId: string): Promise<SessionData | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Find all sessions for a user
|
|
68
|
+
*/
|
|
69
|
+
findByUserId(userId: string, limit?: number): Promise<SessionData[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Update session
|
|
72
|
+
*/
|
|
73
|
+
update(id: string, data: Partial<Omit<SessionData, "id" | "createdAt">>): Promise<SessionData | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Update session status
|
|
76
|
+
*/
|
|
77
|
+
updateStatus(id: string, status: SessionStatus, completedAt?: Date): Promise<SessionData | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Update collected data
|
|
80
|
+
*/
|
|
81
|
+
updateCollectedData(id: string, collectedData: Record<string, unknown>): Promise<SessionData | null>;
|
|
82
|
+
/**
|
|
83
|
+
* Update current route and state
|
|
84
|
+
*/
|
|
85
|
+
updateRouteState(id: string, route?: string, state?: string): Promise<SessionData | null>;
|
|
86
|
+
/**
|
|
87
|
+
* Increment message count
|
|
88
|
+
*/
|
|
89
|
+
incrementMessageCount(id: string): Promise<SessionData | null>;
|
|
90
|
+
/**
|
|
91
|
+
* Delete session
|
|
92
|
+
*/
|
|
93
|
+
delete(id: string): Promise<boolean>;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Repository interface for messages
|
|
97
|
+
* Implement this interface with your database of choice
|
|
98
|
+
*/
|
|
99
|
+
export interface MessageRepository {
|
|
100
|
+
/**
|
|
101
|
+
* Create a new message
|
|
102
|
+
*/
|
|
103
|
+
create(data: Omit<MessageData, "id" | "createdAt">): Promise<MessageData>;
|
|
104
|
+
/**
|
|
105
|
+
* Find message by ID
|
|
106
|
+
*/
|
|
107
|
+
findById(id: string): Promise<MessageData | null>;
|
|
108
|
+
/**
|
|
109
|
+
* Find all messages for a session
|
|
110
|
+
*/
|
|
111
|
+
findBySessionId(sessionId: string, limit?: number): Promise<MessageData[]>;
|
|
112
|
+
/**
|
|
113
|
+
* Find messages for a user
|
|
114
|
+
*/
|
|
115
|
+
findByUserId(userId: string, limit?: number): Promise<MessageData[]>;
|
|
116
|
+
/**
|
|
117
|
+
* Delete message by ID
|
|
118
|
+
*/
|
|
119
|
+
delete(id: string): Promise<boolean>;
|
|
120
|
+
/**
|
|
121
|
+
* Delete all messages for a session
|
|
122
|
+
*/
|
|
123
|
+
deleteBySessionId(sessionId: string): Promise<number>;
|
|
124
|
+
/**
|
|
125
|
+
* Delete all messages for a user
|
|
126
|
+
*/
|
|
127
|
+
deleteByUserId(userId: string): Promise<number>;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Persistence adapter interface
|
|
131
|
+
* Implement this to create adapters for different databases
|
|
132
|
+
*/
|
|
133
|
+
export interface PersistenceAdapter {
|
|
134
|
+
/**
|
|
135
|
+
* Session repository
|
|
136
|
+
*/
|
|
137
|
+
readonly sessionRepository: SessionRepository;
|
|
138
|
+
/**
|
|
139
|
+
* Message repository
|
|
140
|
+
*/
|
|
141
|
+
readonly messageRepository: MessageRepository;
|
|
142
|
+
/**
|
|
143
|
+
* Initialize the adapter (create tables, indexes, etc.)
|
|
144
|
+
* Called automatically when adapter is created
|
|
145
|
+
*/
|
|
146
|
+
initialize?(): Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Disconnect/cleanup resources
|
|
149
|
+
*/
|
|
150
|
+
disconnect?(): Promise<void>;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Configuration for persistence
|
|
154
|
+
*/
|
|
155
|
+
export interface PersistenceConfig {
|
|
156
|
+
/**
|
|
157
|
+
* Persistence adapter instance (e.g., PrismaAdapter)
|
|
158
|
+
*/
|
|
159
|
+
adapter: PersistenceAdapter;
|
|
160
|
+
/**
|
|
161
|
+
* Whether to auto-save messages (default: true)
|
|
162
|
+
*/
|
|
163
|
+
autoSave?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* User ID to associate with sessions/messages
|
|
166
|
+
* Can also be provided per-call in methods
|
|
167
|
+
*/
|
|
168
|
+
userId?: string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Options for creating a session
|
|
172
|
+
*/
|
|
173
|
+
export interface CreateSessionOptions {
|
|
174
|
+
userId?: string;
|
|
175
|
+
agentName?: string;
|
|
176
|
+
initialData?: Record<string, unknown>;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Options for saving a message
|
|
180
|
+
*/
|
|
181
|
+
export interface SaveMessageOptions {
|
|
182
|
+
sessionId: string;
|
|
183
|
+
userId?: string;
|
|
184
|
+
role: MessageRole;
|
|
185
|
+
content: string;
|
|
186
|
+
route?: string;
|
|
187
|
+
state?: string;
|
|
188
|
+
toolCalls?: Array<{
|
|
189
|
+
toolName: string;
|
|
190
|
+
arguments: Record<string, unknown>;
|
|
191
|
+
}>;
|
|
192
|
+
event?: Event;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/types/persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/types/persistence.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
package/dist/core/Agent.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { RouteOptions } from "../types/route";
|
|
|
7
7
|
import { Route } from "./Route";
|
|
8
8
|
import { DomainRegistry } from "./DomainRegistry";
|
|
9
9
|
import { Observation } from "./Observation";
|
|
10
|
+
import { PersistenceManager } from "./PersistenceManager";
|
|
10
11
|
/**
|
|
11
12
|
* Main Agent class with generic context support
|
|
12
13
|
*/
|
|
@@ -19,6 +20,7 @@ export declare class Agent<TContext = unknown> {
|
|
|
19
20
|
private observations;
|
|
20
21
|
private domainRegistry;
|
|
21
22
|
private context;
|
|
23
|
+
private persistenceManager;
|
|
22
24
|
/**
|
|
23
25
|
* Dynamic domain property - populated via addDomain
|
|
24
26
|
*/
|
|
@@ -142,6 +144,14 @@ export declare class Agent<TContext = unknown> {
|
|
|
142
144
|
* Get the domain registry
|
|
143
145
|
*/
|
|
144
146
|
getDomainRegistry(): DomainRegistry;
|
|
147
|
+
/**
|
|
148
|
+
* Get the persistence manager (if configured)
|
|
149
|
+
*/
|
|
150
|
+
getPersistenceManager(): PersistenceManager | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Check if persistence is enabled
|
|
153
|
+
*/
|
|
154
|
+
hasPersistence(): boolean;
|
|
145
155
|
/**
|
|
146
156
|
* Get allowed domains for a specific route
|
|
147
157
|
* @param routeId - Route ID to check
|
package/dist/core/Agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EAET,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EAET,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,KAAK,CAAC,QAAQ,GAAG,OAAO;IAevB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAdpC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,kBAAkB,CAAiC;IAE3D;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAM;gBAExC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC;IA2E5D;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;IAMnD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAK5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAU3C;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAS9C;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAMnD;;OAEG;IACH,SAAS,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,IAAI,EAAE,KAAK,EACX,YAAY,EAAE,OAAO,GACpB,IAAI;IAMP;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9D;;;OAGG;YACW,UAAU;IAUxB;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,eAAe,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,cAAc,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC7C,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACpD,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KAC7E,CAAC;IA+JF;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,eAAe,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC7C,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACpD,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KAC7E,CAAC;IA8JF;;OAEG;IACH,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;IAI9B;;OAEG;IACH,QAAQ,IAAI,IAAI,EAAE;IAIlB;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;OAEG;IACH,eAAe,IAAI,UAAU,EAAE;IAI/B;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,GAAG,SAAS;IAIvD;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAY5E;;;;OAIG;IACH,yBAAyB,CACvB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAW3C"}
|
package/dist/core/Agent.js
CHANGED
|
@@ -5,6 +5,7 @@ import { Route } from "./Route";
|
|
|
5
5
|
import { DomainRegistry } from "./DomainRegistry";
|
|
6
6
|
import { PromptBuilder } from "./PromptBuilder";
|
|
7
7
|
import { Observation } from "./Observation";
|
|
8
|
+
import { PersistenceManager } from "./PersistenceManager";
|
|
8
9
|
/**
|
|
9
10
|
* Main Agent class with generic context support
|
|
10
11
|
*/
|
|
@@ -31,6 +32,16 @@ export class Agent {
|
|
|
31
32
|
}
|
|
32
33
|
// Initialize context if provided
|
|
33
34
|
this.context = options.context;
|
|
35
|
+
// Initialize persistence if configured
|
|
36
|
+
if (options.persistence) {
|
|
37
|
+
this.persistenceManager = new PersistenceManager(options.persistence);
|
|
38
|
+
// Initialize the adapter if it has an initialize method
|
|
39
|
+
if (options.persistence.adapter.initialize) {
|
|
40
|
+
options.persistence.adapter.initialize().catch((error) => {
|
|
41
|
+
console.error("[Agent] Persistence adapter initialization failed:", error);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
34
45
|
// Initialize from options
|
|
35
46
|
if (options.terms) {
|
|
36
47
|
this.terms = [...options.terms];
|
|
@@ -462,6 +473,18 @@ export class Agent {
|
|
|
462
473
|
getDomainRegistry() {
|
|
463
474
|
return this.domainRegistry;
|
|
464
475
|
}
|
|
476
|
+
/**
|
|
477
|
+
* Get the persistence manager (if configured)
|
|
478
|
+
*/
|
|
479
|
+
getPersistenceManager() {
|
|
480
|
+
return this.persistenceManager;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Check if persistence is enabled
|
|
484
|
+
*/
|
|
485
|
+
hasPersistence() {
|
|
486
|
+
return this.persistenceManager !== undefined;
|
|
487
|
+
}
|
|
465
488
|
/**
|
|
466
489
|
* Get allowed domains for a specific route
|
|
467
490
|
* @param routeId - Route ID to check
|