@falai/agent 0.5.0 → 0.5.3
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/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +6 -6
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
- package/dist/cjs/core/PersistenceManager.js +3 -5
- package/dist/cjs/core/PersistenceManager.js.map +1 -1
- package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
- package/dist/cjs/core/ResponseEngine.js +5 -3
- package/dist/cjs/core/ResponseEngine.js.map +1 -1
- package/dist/cjs/providers/GeminiProvider.d.ts +15 -0
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/cjs/providers/GeminiProvider.js +89 -4
- package/dist/cjs/providers/GeminiProvider.js.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.d.ts +7 -0
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenAIProvider.js +13 -1
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.d.ts +7 -0
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/cjs/providers/OpenRouterProvider.js +13 -1
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
- package/dist/cjs/types/session.d.ts +9 -4
- package/dist/cjs/types/session.d.ts.map +1 -1
- package/dist/cjs/types/session.js +8 -2
- package/dist/cjs/types/session.js.map +1 -1
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +6 -6
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/PersistenceManager.d.ts.map +1 -1
- package/dist/core/PersistenceManager.js +3 -5
- package/dist/core/PersistenceManager.js.map +1 -1
- package/dist/core/ResponseEngine.d.ts.map +1 -1
- package/dist/core/ResponseEngine.js +5 -3
- package/dist/core/ResponseEngine.js.map +1 -1
- package/dist/providers/GeminiProvider.d.ts +15 -0
- package/dist/providers/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/GeminiProvider.js +90 -5
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.d.ts +7 -0
- package/dist/providers/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/OpenAIProvider.js +13 -1
- package/dist/providers/OpenAIProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.d.ts +7 -0
- package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/OpenRouterProvider.js +13 -1
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/dist/types/session.d.ts +9 -4
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js +8 -2
- package/dist/types/session.js.map +1 -1
- package/docs/API_REFERENCE.md +234 -0
- package/package.json +1 -1
- package/src/core/Agent.ts +6 -12
- package/src/core/PersistenceManager.ts +3 -5
- package/src/core/ResponseEngine.ts +6 -3
- package/src/providers/GeminiProvider.ts +114 -5
- package/src/providers/OpenAIProvider.ts +17 -1
- package/src/providers/OpenRouterProvider.ts +19 -1
- package/src/types/session.ts +18 -6
- package/dist/cjs/utils/schema.d.ts +0 -17
- package/dist/cjs/utils/schema.d.ts.map +0 -1
- package/dist/cjs/utils/schema.js +0 -32
- package/dist/cjs/utils/schema.js.map +0 -1
- package/dist/utils/schema.d.ts +0 -17
- package/dist/utils/schema.d.ts.map +0 -1
- package/dist/utils/schema.js +0 -27
- package/dist/utils/schema.js.map +0 -1
- package/src/utils/schema.ts +0 -32
|
@@ -35,6 +35,13 @@ export declare class OpenAIProvider implements AiProvider {
|
|
|
35
35
|
private config?;
|
|
36
36
|
private retryConfig;
|
|
37
37
|
constructor(options: OpenAIProviderOptions);
|
|
38
|
+
/**
|
|
39
|
+
* Adapt common schema format to OpenAI's format.
|
|
40
|
+
* OpenAI uses standard JSON Schema, so this is mostly a passthrough.
|
|
41
|
+
*
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
private adaptSchemaForOpenAI;
|
|
38
45
|
generateMessage<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): Promise<GenerateMessageOutput<TStructured>>;
|
|
39
46
|
generateMessageStream<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): AsyncGenerator<GenerateMessageStreamChunk<TStructured>>;
|
|
40
47
|
private generateWithBackup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAIProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,mCAAmC,CAAC;AAEhG,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAIProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,mCAAmC,CAAC;AAEhG,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,aAAa,CAAC;AASrB;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,OAAO,CACd,IAAI,CAAC,sCAAsC,EAAE,OAAO,GAAG,UAAU,CAAC,CACnE,CAAC;IACF,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAwED;;GAEG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC/C,SAAgB,IAAI,YAAY;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAEb;IACF,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,qBAAqB;IAiC1C;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAQtB,eAAe,CACnB,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAIvC,qBAAqB,CAC1B,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,cAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAI5C,kBAAkB;YAiElB,iBAAiB;YA0FhB,wBAAwB;YAoExB,uBAAuB;CA4FvC"}
|
|
@@ -81,6 +81,17 @@ export class OpenAIProvider {
|
|
|
81
81
|
retries: retryConfig?.retries || DEFAULT_RETRY_CONFIG.retries,
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Adapt common schema format to OpenAI's format.
|
|
86
|
+
* OpenAI uses standard JSON Schema, so this is mostly a passthrough.
|
|
87
|
+
*
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
adaptSchemaForOpenAI(schema) {
|
|
91
|
+
// OpenAI's responses.parse API uses standard JSON Schema
|
|
92
|
+
// Our StructuredSchema is already JSON Schema compatible
|
|
93
|
+
return schema;
|
|
94
|
+
}
|
|
84
95
|
async generateMessage(input) {
|
|
85
96
|
return this.generateWithBackup(input);
|
|
86
97
|
}
|
|
@@ -153,7 +164,8 @@ export class OpenAIProvider {
|
|
|
153
164
|
format: {
|
|
154
165
|
type: "json_schema",
|
|
155
166
|
name: input.parameters?.schemaName || "structured_output",
|
|
156
|
-
schema
|
|
167
|
+
// Adapt common schema format to OpenAI's format
|
|
168
|
+
schema: this.adaptSchemaForOpenAI(input.parameters.jsonSchema),
|
|
157
169
|
},
|
|
158
170
|
},
|
|
159
171
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../src/providers/OpenAIProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenAIProvider.js","sourceRoot":"","sources":["../../src/providers/OpenAIProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,13 @@ export declare class OpenRouterProvider implements AiProvider {
|
|
|
39
39
|
private config?;
|
|
40
40
|
private retryConfig;
|
|
41
41
|
constructor(options: OpenRouterProviderOptions);
|
|
42
|
+
/**
|
|
43
|
+
* Adapt common schema format to OpenRouter's format.
|
|
44
|
+
* OpenRouter is OpenAI-compatible and uses standard JSON Schema.
|
|
45
|
+
*
|
|
46
|
+
* @private
|
|
47
|
+
*/
|
|
48
|
+
private adaptSchemaForOpenRouter;
|
|
42
49
|
generateMessage<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): Promise<GenerateMessageOutput<TStructured>>;
|
|
43
50
|
generateMessageStream<TContext = unknown, TStructured = AgentStructuredResponse>(input: GenerateMessageInput<TContext>): AsyncGenerator<GenerateMessageStreamChunk<TStructured>>;
|
|
44
51
|
private generateWithBackup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenRouterProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,mCAAmC,CAAC;AAEhG,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenRouterProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OpenRouterProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,mCAAmC,CAAC;AAEhG,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,aAAa,CAAC;AASrB;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,OAAO,CACd,IAAI,CAAC,sCAAsC,EAAE,OAAO,GAAG,UAAU,CAAC,CACnE,CAAC;IACF,0BAA0B;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAyED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IACnD,SAAgB,IAAI,gBAAgB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAEb;IACF,OAAO,CAAC,WAAW,CAAuC;gBAE9C,OAAO,EAAE,yBAAyB;IAsC9C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAQ1B,eAAe,CACnB,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAIvC,qBAAqB,CAC1B,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,uBAAuB,EAErC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACpC,cAAc,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAI5C,kBAAkB;YA8DlB,iBAAiB;YA4FhB,wBAAwB;YA8DxB,uBAAuB;CA4FvC"}
|
|
@@ -88,6 +88,17 @@ export class OpenRouterProvider {
|
|
|
88
88
|
retries: retryConfig?.retries || DEFAULT_RETRY_CONFIG.retries,
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Adapt common schema format to OpenRouter's format.
|
|
93
|
+
* OpenRouter is OpenAI-compatible and uses standard JSON Schema.
|
|
94
|
+
*
|
|
95
|
+
* @private
|
|
96
|
+
*/
|
|
97
|
+
adaptSchemaForOpenRouter(schema) {
|
|
98
|
+
// OpenRouter is OpenAI-compatible and uses standard JSON Schema
|
|
99
|
+
// Our StructuredSchema is already JSON Schema compatible
|
|
100
|
+
return schema;
|
|
101
|
+
}
|
|
91
102
|
async generateMessage(input) {
|
|
92
103
|
return this.generateWithBackup(input);
|
|
93
104
|
}
|
|
@@ -160,7 +171,8 @@ export class OpenRouterProvider {
|
|
|
160
171
|
format: {
|
|
161
172
|
type: "json_schema",
|
|
162
173
|
name: input.parameters?.schemaName || "structured_output",
|
|
163
|
-
schema
|
|
174
|
+
// Adapt common schema format to OpenRouter's format
|
|
175
|
+
schema: this.adaptSchemaForOpenRouter(input.parameters.jsonSchema),
|
|
164
176
|
},
|
|
165
177
|
},
|
|
166
178
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterProvider.js","sourceRoot":"","sources":["../../src/providers/OpenRouterProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenRouterProvider.js","sourceRoot":"","sources":["../../src/providers/OpenRouterProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/types/session.d.ts
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* and data extracted during the route progression
|
|
7
7
|
*/
|
|
8
8
|
export interface SessionState<TExtracted = Record<string, unknown>> {
|
|
9
|
+
/** Unique session identifier (useful for persistence) */
|
|
10
|
+
id?: string;
|
|
9
11
|
/** Current route the conversation is in */
|
|
10
12
|
currentRoute?: {
|
|
11
13
|
id: string;
|
|
@@ -29,7 +31,6 @@ export interface SessionState<TExtracted = Record<string, unknown>> {
|
|
|
29
31
|
}>;
|
|
30
32
|
/** Session metadata */
|
|
31
33
|
metadata?: {
|
|
32
|
-
sessionId?: string;
|
|
33
34
|
createdAt?: Date;
|
|
34
35
|
lastUpdatedAt?: Date;
|
|
35
36
|
[key: string]: unknown;
|
|
@@ -37,8 +38,10 @@ export interface SessionState<TExtracted = Record<string, unknown>> {
|
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
40
|
* Helper to create a new session
|
|
41
|
+
* @param sessionId - Optional session ID (e.g., from database)
|
|
42
|
+
* @param metadata - Optional metadata to attach
|
|
40
43
|
*/
|
|
41
|
-
export declare function createSession<TExtracted = Record<string, unknown>>(metadata?: SessionState<TExtracted>["metadata"]): SessionState<TExtracted>;
|
|
44
|
+
export declare function createSession<TExtracted = Record<string, unknown>>(sessionId?: string, metadata?: SessionState<TExtracted>["metadata"]): SessionState<TExtracted>;
|
|
42
45
|
/**
|
|
43
46
|
* Helper to update session with new route
|
|
44
47
|
*/
|
|
@@ -63,10 +66,12 @@ export declare function sessionStateToData<TExtracted = Record<string, unknown>>
|
|
|
63
66
|
/**
|
|
64
67
|
* Helper to convert database SessionData back to SessionState
|
|
65
68
|
* Used when loading from database
|
|
69
|
+
* @param sessionId - The database session ID
|
|
70
|
+
* @param data - The database session data
|
|
66
71
|
*/
|
|
67
|
-
export declare function sessionDataToState<TExtracted = Record<string, unknown>>(data: {
|
|
72
|
+
export declare function sessionDataToState<TExtracted = Record<string, unknown>>(sessionId: string, data: {
|
|
68
73
|
currentRoute?: string;
|
|
69
74
|
currentState?: string;
|
|
70
75
|
collectedData?: Record<string, unknown>;
|
|
71
|
-
}):
|
|
76
|
+
}): SessionState<TExtracted>;
|
|
72
77
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,qCAAqC;IACrC,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/B,gDAAgD;IAChD,YAAY,EAAE,KAAK,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IAEH,uBAAuB;IACvB,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,qCAAqC;IACrC,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/B,gDAAgD;IAChD,YAAY,EAAE,KAAK,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IAEH,uBAAuB;IACvB,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,aAAa,CAAC,EAAE,IAAI,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GAC9C,YAAY,CAAC,UAAU,CAAC,CAW1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,UAAU,CAAC,CAoC1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GACxB,YAAY,CAAC,UAAU,CAAC,CAa1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,EACjC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAC7B,YAAY,CAAC,UAAU,CAAC,CAY1B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,GAChC;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAYA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GACA,YAAY,CAAC,UAAU,CAAC,CA4B1B"}
|
package/dist/types/session.js
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Helper to create a new session
|
|
6
|
+
* @param sessionId - Optional session ID (e.g., from database)
|
|
7
|
+
* @param metadata - Optional metadata to attach
|
|
6
8
|
*/
|
|
7
|
-
export function createSession(metadata) {
|
|
9
|
+
export function createSession(sessionId, metadata) {
|
|
8
10
|
return {
|
|
11
|
+
id: sessionId,
|
|
9
12
|
extracted: {},
|
|
10
13
|
routeHistory: [],
|
|
11
14
|
metadata: {
|
|
@@ -105,10 +108,13 @@ export function sessionStateToData(session) {
|
|
|
105
108
|
/**
|
|
106
109
|
* Helper to convert database SessionData back to SessionState
|
|
107
110
|
* Used when loading from database
|
|
111
|
+
* @param sessionId - The database session ID
|
|
112
|
+
* @param data - The database session data
|
|
108
113
|
*/
|
|
109
|
-
export function sessionDataToState(data) {
|
|
114
|
+
export function sessionDataToState(sessionId, data) {
|
|
110
115
|
const collectedData = data.collectedData || {};
|
|
111
116
|
return {
|
|
117
|
+
id: sessionId,
|
|
112
118
|
currentRoute: data.currentRoute
|
|
113
119
|
? {
|
|
114
120
|
id: data.currentRoute,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
|
package/docs/API_REFERENCE.md
CHANGED
|
@@ -1430,6 +1430,240 @@ interface ToolResult<TReturn> {
|
|
|
1430
1430
|
|
|
1431
1431
|
## Types
|
|
1432
1432
|
|
|
1433
|
+
### `SessionState<TExtracted>`
|
|
1434
|
+
|
|
1435
|
+
Tracks the current position in the conversation flow and data extracted during route progression.
|
|
1436
|
+
|
|
1437
|
+
```typescript
|
|
1438
|
+
interface SessionState<TExtracted = Record<string, unknown>> {
|
|
1439
|
+
/** Unique session identifier (useful for persistence) */
|
|
1440
|
+
id?: string;
|
|
1441
|
+
|
|
1442
|
+
/** Current route the conversation is in */
|
|
1443
|
+
currentRoute?: {
|
|
1444
|
+
id: string;
|
|
1445
|
+
title: string;
|
|
1446
|
+
enteredAt: Date;
|
|
1447
|
+
};
|
|
1448
|
+
|
|
1449
|
+
/** Current state within the route */
|
|
1450
|
+
currentState?: {
|
|
1451
|
+
id: string;
|
|
1452
|
+
description?: string;
|
|
1453
|
+
enteredAt: Date;
|
|
1454
|
+
};
|
|
1455
|
+
|
|
1456
|
+
/** Data extracted during the current route */
|
|
1457
|
+
extracted: Partial<TExtracted>;
|
|
1458
|
+
|
|
1459
|
+
/** History of routes visited in this session */
|
|
1460
|
+
routeHistory: Array<{
|
|
1461
|
+
routeId: string;
|
|
1462
|
+
enteredAt: Date;
|
|
1463
|
+
exitedAt?: Date;
|
|
1464
|
+
completed: boolean;
|
|
1465
|
+
}>;
|
|
1466
|
+
|
|
1467
|
+
/** Session metadata */
|
|
1468
|
+
metadata?: {
|
|
1469
|
+
createdAt?: Date;
|
|
1470
|
+
lastUpdatedAt?: Date;
|
|
1471
|
+
[key: string]: unknown;
|
|
1472
|
+
};
|
|
1473
|
+
}
|
|
1474
|
+
```
|
|
1475
|
+
|
|
1476
|
+
**Key Features:**
|
|
1477
|
+
|
|
1478
|
+
- **`id`** - Optional session identifier that persists across database operations
|
|
1479
|
+
- **`extracted`** - Type-safe data collected via `gatherSchema`
|
|
1480
|
+
- **`currentRoute`** / **`currentState`** - Track conversation position
|
|
1481
|
+
- **`routeHistory`** - Full audit trail of route transitions
|
|
1482
|
+
- **`metadata`** - Custom data (timestamps, user info, etc.)
|
|
1483
|
+
|
|
1484
|
+
**Usage:**
|
|
1485
|
+
|
|
1486
|
+
```typescript
|
|
1487
|
+
interface FlightData {
|
|
1488
|
+
destination: string;
|
|
1489
|
+
departureDate: string;
|
|
1490
|
+
}
|
|
1491
|
+
|
|
1492
|
+
// Create session with database ID
|
|
1493
|
+
const session = createSession<FlightData>("session_abc123");
|
|
1494
|
+
|
|
1495
|
+
// Use in conversation
|
|
1496
|
+
const response = await agent.respond({ history, session });
|
|
1497
|
+
|
|
1498
|
+
// Access extracted data
|
|
1499
|
+
console.log(response.session?.extracted.destination); // Type-safe!
|
|
1500
|
+
```
|
|
1501
|
+
|
|
1502
|
+
---
|
|
1503
|
+
|
|
1504
|
+
### Session Helper Functions
|
|
1505
|
+
|
|
1506
|
+
#### `createSession<TExtracted>(sessionId?, metadata?): SessionState<TExtracted>`
|
|
1507
|
+
|
|
1508
|
+
Creates a new session state object.
|
|
1509
|
+
|
|
1510
|
+
**Parameters:**
|
|
1511
|
+
|
|
1512
|
+
- `sessionId` (optional): Unique session identifier from database
|
|
1513
|
+
- `metadata` (optional): Additional metadata to attach
|
|
1514
|
+
|
|
1515
|
+
**Example:**
|
|
1516
|
+
|
|
1517
|
+
```typescript
|
|
1518
|
+
// Simple usage
|
|
1519
|
+
const session = createSession<OnboardingData>();
|
|
1520
|
+
|
|
1521
|
+
// With database ID (when loading from persistence)
|
|
1522
|
+
const session = createSession<OnboardingData>("session_123");
|
|
1523
|
+
|
|
1524
|
+
// With metadata
|
|
1525
|
+
const session = createSession<OnboardingData>("session_123", {
|
|
1526
|
+
userId: "user_456",
|
|
1527
|
+
channel: "whatsapp",
|
|
1528
|
+
});
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1531
|
+
#### `enterRoute<TExtracted>(session, routeId, routeTitle): SessionState<TExtracted>`
|
|
1532
|
+
|
|
1533
|
+
Updates session when entering a new route. Automatically:
|
|
1534
|
+
|
|
1535
|
+
- Exits previous route (if exists)
|
|
1536
|
+
- Resets extracted data
|
|
1537
|
+
- Adds route to history
|
|
1538
|
+
- Updates timestamps
|
|
1539
|
+
|
|
1540
|
+
**Example:**
|
|
1541
|
+
|
|
1542
|
+
```typescript
|
|
1543
|
+
let session = createSession<FlightData>();
|
|
1544
|
+
|
|
1545
|
+
// Enter booking route
|
|
1546
|
+
session = enterRoute(session, "book_flight", "Book a Flight");
|
|
1547
|
+
|
|
1548
|
+
console.log(session.currentRoute?.title); // "Book a Flight"
|
|
1549
|
+
console.log(session.extracted); // {} (reset for new route)
|
|
1550
|
+
```
|
|
1551
|
+
|
|
1552
|
+
#### `enterState<TExtracted>(session, stateId, description?): SessionState<TExtracted>`
|
|
1553
|
+
|
|
1554
|
+
Updates session when entering a new state within a route.
|
|
1555
|
+
|
|
1556
|
+
**Example:**
|
|
1557
|
+
|
|
1558
|
+
```typescript
|
|
1559
|
+
session = enterState(session, "ask_destination", "Ask where to fly");
|
|
1560
|
+
|
|
1561
|
+
console.log(session.currentState?.id); // "ask_destination"
|
|
1562
|
+
console.log(session.currentState?.description); // "Ask where to fly"
|
|
1563
|
+
```
|
|
1564
|
+
|
|
1565
|
+
#### `mergeExtracted<TExtracted>(session, data): SessionState<TExtracted>`
|
|
1566
|
+
|
|
1567
|
+
Merges new extracted data into session. Updates timestamps automatically.
|
|
1568
|
+
|
|
1569
|
+
**Example:**
|
|
1570
|
+
|
|
1571
|
+
```typescript
|
|
1572
|
+
session = mergeExtracted(session, {
|
|
1573
|
+
destination: "Paris",
|
|
1574
|
+
departureDate: "2025-06-15",
|
|
1575
|
+
});
|
|
1576
|
+
|
|
1577
|
+
console.log(session.extracted); // { destination: "Paris", departureDate: "2025-06-15" }
|
|
1578
|
+
```
|
|
1579
|
+
|
|
1580
|
+
#### `sessionStateToData<TExtracted>(session): object`
|
|
1581
|
+
|
|
1582
|
+
Converts SessionState to persistence-friendly format for database storage.
|
|
1583
|
+
|
|
1584
|
+
**Returns:**
|
|
1585
|
+
|
|
1586
|
+
```typescript
|
|
1587
|
+
{
|
|
1588
|
+
currentRoute?: string; // Route ID
|
|
1589
|
+
currentState?: string; // State ID
|
|
1590
|
+
collectedData: { // All session data
|
|
1591
|
+
extracted: Partial<TExtracted>;
|
|
1592
|
+
routeHistory: Array<...>;
|
|
1593
|
+
currentRouteTitle?: string;
|
|
1594
|
+
currentStateDescription?: string;
|
|
1595
|
+
metadata?: object;
|
|
1596
|
+
};
|
|
1597
|
+
}
|
|
1598
|
+
```
|
|
1599
|
+
|
|
1600
|
+
**Example:**
|
|
1601
|
+
|
|
1602
|
+
```typescript
|
|
1603
|
+
const session = createSession<FlightData>("session_123");
|
|
1604
|
+
// ... conversation happens ...
|
|
1605
|
+
|
|
1606
|
+
// Save to database
|
|
1607
|
+
const dbData = sessionStateToData(session);
|
|
1608
|
+
await db.sessions.update(session.id!, {
|
|
1609
|
+
currentRoute: dbData.currentRoute,
|
|
1610
|
+
currentState: dbData.currentState,
|
|
1611
|
+
collectedData: dbData.collectedData,
|
|
1612
|
+
});
|
|
1613
|
+
```
|
|
1614
|
+
|
|
1615
|
+
#### `sessionDataToState<TExtracted>(sessionId, data): SessionState<TExtracted>`
|
|
1616
|
+
|
|
1617
|
+
Converts database data back to SessionState for resuming conversations.
|
|
1618
|
+
|
|
1619
|
+
**Parameters:**
|
|
1620
|
+
|
|
1621
|
+
- `sessionId`: The database session ID
|
|
1622
|
+
- `data`: Database session data (currentRoute, currentState, collectedData)
|
|
1623
|
+
|
|
1624
|
+
**Example:**
|
|
1625
|
+
|
|
1626
|
+
```typescript
|
|
1627
|
+
// Load from database
|
|
1628
|
+
const dbSession = await db.sessions.findById("session_123");
|
|
1629
|
+
|
|
1630
|
+
// Restore session state
|
|
1631
|
+
const session = sessionDataToState<FlightData>(dbSession.id, {
|
|
1632
|
+
currentRoute: dbSession.currentRoute,
|
|
1633
|
+
currentState: dbSession.currentState,
|
|
1634
|
+
collectedData: dbSession.collectedData,
|
|
1635
|
+
});
|
|
1636
|
+
|
|
1637
|
+
// Resume conversation
|
|
1638
|
+
const response = await agent.respond({ history, session });
|
|
1639
|
+
```
|
|
1640
|
+
|
|
1641
|
+
**Complete Persistence Example:**
|
|
1642
|
+
|
|
1643
|
+
```typescript
|
|
1644
|
+
// CREATE: New session
|
|
1645
|
+
let session = createSession<FlightData>(dbSession.id);
|
|
1646
|
+
|
|
1647
|
+
// CONVERSATION: Extract data
|
|
1648
|
+
const response1 = await agent.respond({ history: history1, session });
|
|
1649
|
+
session = response1.session!; // { extracted: { destination: "Paris" } }
|
|
1650
|
+
|
|
1651
|
+
// SAVE: To database
|
|
1652
|
+
const saveData = sessionStateToData(session);
|
|
1653
|
+
await db.sessions.update(session.id!, saveData);
|
|
1654
|
+
|
|
1655
|
+
// --- Later (new request) ---
|
|
1656
|
+
|
|
1657
|
+
// LOAD: From database
|
|
1658
|
+
const loaded = await db.sessions.findById("session_123");
|
|
1659
|
+
const restored = sessionDataToState<FlightData>(loaded.id, loaded);
|
|
1660
|
+
|
|
1661
|
+
// CONTINUE: Conversation
|
|
1662
|
+
const response2 = await agent.respond({ history: history2, session: restored });
|
|
1663
|
+
```
|
|
1664
|
+
|
|
1665
|
+
---
|
|
1666
|
+
|
|
1433
1667
|
### `AgentStructuredResponse`
|
|
1434
1668
|
|
|
1435
1669
|
The structured response format returned by AI providers when JSON mode is enabled.
|
package/package.json
CHANGED
package/src/core/Agent.ts
CHANGED
|
@@ -594,15 +594,12 @@ export class Agent<TContext = unknown> {
|
|
|
594
594
|
if (
|
|
595
595
|
chunk.done &&
|
|
596
596
|
this.persistenceManager &&
|
|
597
|
-
session.
|
|
597
|
+
session.id &&
|
|
598
598
|
this.options.persistence?.autoSave !== false
|
|
599
599
|
) {
|
|
600
|
-
await this.persistenceManager.saveSessionState(
|
|
601
|
-
session.metadata.sessionId,
|
|
602
|
-
session
|
|
603
|
-
);
|
|
600
|
+
await this.persistenceManager.saveSessionState(session.id, session);
|
|
604
601
|
console.log(
|
|
605
|
-
`[Agent] Auto-saved session state to persistence: ${session.
|
|
602
|
+
`[Agent] Auto-saved session state to persistence: ${session.id}`
|
|
606
603
|
);
|
|
607
604
|
}
|
|
608
605
|
|
|
@@ -959,15 +956,12 @@ export class Agent<TContext = unknown> {
|
|
|
959
956
|
// Auto-save session state to persistence if configured
|
|
960
957
|
if (
|
|
961
958
|
this.persistenceManager &&
|
|
962
|
-
session.
|
|
959
|
+
session.id &&
|
|
963
960
|
this.options.persistence?.autoSave !== false
|
|
964
961
|
) {
|
|
965
|
-
await this.persistenceManager.saveSessionState(
|
|
966
|
-
session.metadata.sessionId,
|
|
967
|
-
session
|
|
968
|
-
);
|
|
962
|
+
await this.persistenceManager.saveSessionState(session.id, session);
|
|
969
963
|
console.log(
|
|
970
|
-
`[Agent] Auto-saved session state to persistence: ${session.
|
|
964
|
+
`[Agent] Auto-saved session state to persistence: ${session.id}`
|
|
971
965
|
);
|
|
972
966
|
}
|
|
973
967
|
|
|
@@ -257,15 +257,14 @@ export class PersistenceManager {
|
|
|
257
257
|
return null;
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
-
const stateData = sessionDataToState<TExtracted>({
|
|
260
|
+
const stateData = sessionDataToState<TExtracted>(sessionId, {
|
|
261
261
|
currentRoute: sessionData.currentRoute,
|
|
262
262
|
currentState: sessionData.currentState,
|
|
263
263
|
collectedData: sessionData.collectedData,
|
|
264
264
|
});
|
|
265
265
|
|
|
266
266
|
// Create a full session state with the loaded data
|
|
267
|
-
const session = createSession<TExtracted>({
|
|
268
|
-
sessionId,
|
|
267
|
+
const session = createSession<TExtracted>(sessionId, {
|
|
269
268
|
createdAt: sessionData.createdAt,
|
|
270
269
|
lastUpdatedAt: sessionData.updatedAt,
|
|
271
270
|
});
|
|
@@ -289,8 +288,7 @@ export class PersistenceManager {
|
|
|
289
288
|
const sessionData = await this.createSession(options);
|
|
290
289
|
|
|
291
290
|
// Create SessionState with database session ID
|
|
292
|
-
const sessionState = createSession<TExtracted>({
|
|
293
|
-
sessionId: sessionData.id,
|
|
291
|
+
const sessionState = createSession<TExtracted>(sessionData.id, {
|
|
294
292
|
createdAt: sessionData.createdAt,
|
|
295
293
|
lastUpdatedAt: sessionData.updatedAt,
|
|
296
294
|
});
|
|
@@ -19,13 +19,16 @@ export class ResponseEngine<TContext = unknown> {
|
|
|
19
19
|
type: "object",
|
|
20
20
|
properties: {
|
|
21
21
|
message: { type: "string", description: "Final user-facing message" },
|
|
22
|
-
data: route.responseOutputSchema || { type: "object" },
|
|
23
|
-
contextUpdate: { type: "object" },
|
|
24
22
|
},
|
|
25
23
|
required: ["message"],
|
|
26
24
|
additionalProperties: false,
|
|
27
25
|
};
|
|
28
26
|
|
|
27
|
+
// Add data field only if route has responseOutputSchema
|
|
28
|
+
if (route.responseOutputSchema) {
|
|
29
|
+
base.properties!.data = route.responseOutputSchema;
|
|
30
|
+
}
|
|
31
|
+
|
|
29
32
|
// Add gather fields from current state
|
|
30
33
|
if (currentState?.gatherFields && route.gatherSchema?.properties) {
|
|
31
34
|
for (const field of currentState.gatherFields) {
|
|
@@ -75,7 +78,7 @@ export class ResponseEngine<TContext = unknown> {
|
|
|
75
78
|
pc.addInteractionHistory(history);
|
|
76
79
|
pc.addLastMessage(lastMessage);
|
|
77
80
|
pc.addInstruction(
|
|
78
|
-
"Return ONLY JSON matching the schema
|
|
81
|
+
"Return ONLY JSON matching the schema. The 'message' field is required."
|
|
79
82
|
);
|
|
80
83
|
return pc.build();
|
|
81
84
|
}
|