@falai/agent 0.1.3 → 0.1.4
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/constants/index.d.ts +5 -0
- package/dist/cjs/constants/index.d.ts.map +1 -0
- package/dist/cjs/constants/index.js +8 -0
- package/dist/cjs/constants/index.js.map +1 -0
- package/dist/cjs/core/Agent.d.ts +110 -0
- package/dist/cjs/core/Agent.d.ts.map +1 -0
- package/dist/cjs/core/Agent.js +290 -0
- package/dist/cjs/core/Agent.js.map +1 -0
- package/dist/cjs/core/DomainRegistry.d.ts +26 -0
- package/dist/cjs/core/DomainRegistry.d.ts.map +1 -0
- package/dist/cjs/core/DomainRegistry.js +47 -0
- package/dist/cjs/core/DomainRegistry.js.map +1 -0
- package/dist/cjs/core/Events.d.ts +19 -0
- package/dist/cjs/core/Events.d.ts.map +1 -0
- package/dist/cjs/core/Events.js +84 -0
- package/dist/cjs/core/Events.js.map +1 -0
- package/dist/cjs/core/Observation.d.ts +24 -0
- package/dist/cjs/core/Observation.d.ts.map +1 -0
- package/dist/cjs/core/Observation.js +38 -0
- package/dist/cjs/core/Observation.js.map +1 -0
- package/dist/cjs/core/PromptBuilder.d.ts +125 -0
- package/dist/cjs/core/PromptBuilder.d.ts.map +1 -0
- package/dist/cjs/core/PromptBuilder.js +374 -0
- package/dist/cjs/core/PromptBuilder.js.map +1 -0
- package/dist/cjs/core/Route.d.ts +46 -0
- package/dist/cjs/core/Route.d.ts.map +1 -0
- package/dist/cjs/core/Route.js +112 -0
- package/dist/cjs/core/Route.js.map +1 -0
- package/dist/cjs/core/State.d.ts +50 -0
- package/dist/cjs/core/State.d.ts.map +1 -0
- package/dist/cjs/core/State.js +111 -0
- package/dist/cjs/core/State.js.map +1 -0
- package/dist/cjs/core/Tool.d.ts +31 -0
- package/dist/cjs/core/Tool.d.ts.map +1 -0
- package/dist/cjs/core/Tool.js +36 -0
- package/dist/cjs/core/Tool.js.map +1 -0
- package/dist/cjs/core/Transition.d.ts +32 -0
- package/dist/cjs/core/Transition.d.ts.map +1 -0
- package/dist/cjs/core/Transition.js +59 -0
- package/dist/cjs/core/Transition.js.map +1 -0
- package/dist/cjs/index.d.ts +34 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +49 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/providers/GeminiProvider.d.ts +40 -0
- package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -0
- package/dist/cjs/providers/GeminiProvider.js +142 -0
- package/dist/cjs/providers/GeminiProvider.js.map +1 -0
- package/dist/cjs/providers/OpenAIProvider.d.ts +42 -0
- package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -0
- package/dist/cjs/providers/OpenAIProvider.js +242 -0
- package/dist/cjs/providers/OpenAIProvider.js.map +1 -0
- package/dist/cjs/providers/OpenRouterProvider.d.ts +46 -0
- package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -0
- package/dist/cjs/providers/OpenRouterProvider.js +249 -0
- package/dist/cjs/providers/OpenRouterProvider.js.map +1 -0
- package/dist/cjs/types/agent.d.ts +105 -0
- package/dist/cjs/types/agent.d.ts.map +1 -0
- package/dist/cjs/types/agent.js +21 -0
- package/dist/cjs/types/agent.js.map +1 -0
- package/dist/cjs/types/ai.d.ts +102 -0
- package/dist/cjs/types/ai.d.ts.map +1 -0
- package/dist/cjs/types/ai.js +6 -0
- package/dist/cjs/types/ai.js.map +1 -0
- package/dist/cjs/types/history.d.ts +112 -0
- package/dist/cjs/types/history.d.ts.map +1 -0
- package/dist/cjs/types/history.js +37 -0
- package/dist/cjs/types/history.js.map +1 -0
- package/dist/cjs/types/index.d.ts +14 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +14 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/observation.d.ts +25 -0
- package/dist/cjs/types/observation.d.ts.map +1 -0
- package/dist/cjs/types/observation.js +6 -0
- package/dist/cjs/types/observation.js.map +1 -0
- package/dist/cjs/types/prompt.d.ts +46 -0
- package/dist/cjs/types/prompt.d.ts.map +1 -0
- package/dist/cjs/types/prompt.js +19 -0
- package/dist/cjs/types/prompt.js.map +1 -0
- package/dist/cjs/types/route.d.ts +59 -0
- package/dist/cjs/types/route.d.ts.map +1 -0
- package/dist/cjs/types/route.js +6 -0
- package/dist/cjs/types/route.js.map +1 -0
- package/dist/cjs/types/tool.d.ts +46 -0
- package/dist/cjs/types/tool.d.ts.map +1 -0
- package/dist/cjs/types/tool.js +6 -0
- package/dist/cjs/types/tool.js.map +1 -0
- package/dist/cjs/utils/retry.d.ts +13 -0
- package/dist/cjs/utils/retry.d.ts.map +1 -0
- package/dist/cjs/utils/retry.js +75 -0
- package/dist/cjs/utils/retry.js.map +1 -0
- package/dist/core/Agent.js +10 -11
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/DomainRegistry.js +3 -1
- package/dist/core/DomainRegistry.js.map +1 -1
- package/dist/core/Observation.js +1 -3
- package/dist/core/Observation.js.map +1 -1
- package/dist/core/PromptBuilder.js +2 -3
- package/dist/core/PromptBuilder.js.map +1 -1
- package/dist/core/Route.js +1 -6
- package/dist/core/Route.js.map +1 -1
- package/dist/core/State.js +2 -5
- package/dist/core/State.js.map +1 -1
- package/dist/core/Transition.js +0 -4
- package/dist/core/Transition.js.map +1 -1
- package/dist/providers/GeminiProvider.js +1 -6
- package/dist/providers/GeminiProvider.js.map +1 -1
- package/dist/providers/OpenAIProvider.js +1 -6
- package/dist/providers/OpenAIProvider.js.map +1 -1
- package/dist/providers/OpenRouterProvider.js +1 -6
- package/dist/providers/OpenRouterProvider.js.map +1 -1
- package/package.json +15 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,SAAS,eAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Agent implementation
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentOptions, Term, Guideline, Capability } from "../types/agent";
|
|
5
|
+
import type { Event, StateRef } from "../types/index";
|
|
6
|
+
import type { RouteOptions } from "../types/route";
|
|
7
|
+
import { Route } from "./Route";
|
|
8
|
+
import { DomainRegistry } from "./DomainRegistry";
|
|
9
|
+
import { Observation } from "./Observation";
|
|
10
|
+
/**
|
|
11
|
+
* Main Agent class with generic context support
|
|
12
|
+
*/
|
|
13
|
+
export declare class Agent<TContext = unknown> {
|
|
14
|
+
private readonly options;
|
|
15
|
+
private terms;
|
|
16
|
+
private guidelines;
|
|
17
|
+
private capabilities;
|
|
18
|
+
private routes;
|
|
19
|
+
private observations;
|
|
20
|
+
private domainRegistry;
|
|
21
|
+
/**
|
|
22
|
+
* Dynamic domain property - populated via addDomain
|
|
23
|
+
*/
|
|
24
|
+
readonly domain: Record<string, Record<string, unknown>>;
|
|
25
|
+
constructor(options: AgentOptions<TContext>);
|
|
26
|
+
/**
|
|
27
|
+
* Get agent name
|
|
28
|
+
*/
|
|
29
|
+
get name(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Get agent description
|
|
32
|
+
*/
|
|
33
|
+
get description(): string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Get agent goal
|
|
36
|
+
*/
|
|
37
|
+
get goal(): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Create a new route (journey)
|
|
40
|
+
*/
|
|
41
|
+
createRoute(options: RouteOptions): Route<TContext>;
|
|
42
|
+
/**
|
|
43
|
+
* Create a domain term for the glossary
|
|
44
|
+
*/
|
|
45
|
+
createTerm(term: Term): this;
|
|
46
|
+
/**
|
|
47
|
+
* Create a behavioral guideline
|
|
48
|
+
*/
|
|
49
|
+
createGuideline(guideline: Guideline): this;
|
|
50
|
+
/**
|
|
51
|
+
* Add a capability
|
|
52
|
+
*/
|
|
53
|
+
createCapability(capability: Capability): this;
|
|
54
|
+
/**
|
|
55
|
+
* Create an observation for disambiguation
|
|
56
|
+
*/
|
|
57
|
+
createObservation(description: string): Observation;
|
|
58
|
+
/**
|
|
59
|
+
* Add a domain with its tools/methods
|
|
60
|
+
*/
|
|
61
|
+
addDomain<TName extends string, TDomain extends Record<string, unknown>>(name: TName, domainObject: TDomain): void;
|
|
62
|
+
/**
|
|
63
|
+
* Generate a response based on history and context
|
|
64
|
+
*/
|
|
65
|
+
respond(params: {
|
|
66
|
+
history: Event[];
|
|
67
|
+
state?: StateRef;
|
|
68
|
+
contextOverride?: Partial<TContext>;
|
|
69
|
+
signal?: AbortSignal;
|
|
70
|
+
}): Promise<{
|
|
71
|
+
message: string;
|
|
72
|
+
route?: {
|
|
73
|
+
id: string;
|
|
74
|
+
title: string;
|
|
75
|
+
} | null;
|
|
76
|
+
state?: {
|
|
77
|
+
id: string;
|
|
78
|
+
description?: string;
|
|
79
|
+
} | null;
|
|
80
|
+
toolCalls?: Array<{
|
|
81
|
+
toolName: string;
|
|
82
|
+
arguments: Record<string, unknown>;
|
|
83
|
+
}>;
|
|
84
|
+
}>;
|
|
85
|
+
/**
|
|
86
|
+
* Get all routes
|
|
87
|
+
*/
|
|
88
|
+
getRoutes(): Route<TContext>[];
|
|
89
|
+
/**
|
|
90
|
+
* Get all terms
|
|
91
|
+
*/
|
|
92
|
+
getTerms(): Term[];
|
|
93
|
+
/**
|
|
94
|
+
* Get all guidelines
|
|
95
|
+
*/
|
|
96
|
+
getGuidelines(): Guideline[];
|
|
97
|
+
/**
|
|
98
|
+
* Get all capabilities
|
|
99
|
+
*/
|
|
100
|
+
getCapabilities(): Capability[];
|
|
101
|
+
/**
|
|
102
|
+
* Get all observations
|
|
103
|
+
*/
|
|
104
|
+
getObservations(): Observation[];
|
|
105
|
+
/**
|
|
106
|
+
* Get the domain registry
|
|
107
|
+
*/
|
|
108
|
+
getDomainRegistry(): DomainRegistry;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=Agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core Agent implementation
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Agent = void 0;
|
|
7
|
+
const Route_1 = require("./Route");
|
|
8
|
+
const DomainRegistry_1 = require("./DomainRegistry");
|
|
9
|
+
const PromptBuilder_1 = require("./PromptBuilder");
|
|
10
|
+
const Observation_1 = require("./Observation");
|
|
11
|
+
/**
|
|
12
|
+
* Main Agent class with generic context support
|
|
13
|
+
*/
|
|
14
|
+
class Agent {
|
|
15
|
+
constructor(options) {
|
|
16
|
+
this.options = options;
|
|
17
|
+
this.terms = [];
|
|
18
|
+
this.guidelines = [];
|
|
19
|
+
this.capabilities = [];
|
|
20
|
+
this.routes = [];
|
|
21
|
+
this.observations = [];
|
|
22
|
+
this.domainRegistry = new DomainRegistry_1.DomainRegistry();
|
|
23
|
+
/**
|
|
24
|
+
* Dynamic domain property - populated via addDomain
|
|
25
|
+
*/
|
|
26
|
+
this.domain = {};
|
|
27
|
+
// Initialize with default values
|
|
28
|
+
if (!this.options.maxEngineIterations) {
|
|
29
|
+
this.options.maxEngineIterations = 1;
|
|
30
|
+
}
|
|
31
|
+
// Initialize from options
|
|
32
|
+
if (options.terms) {
|
|
33
|
+
this.terms = [...options.terms];
|
|
34
|
+
}
|
|
35
|
+
if (options.guidelines) {
|
|
36
|
+
options.guidelines.forEach((guideline) => {
|
|
37
|
+
this.createGuideline(guideline);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
if (options.capabilities) {
|
|
41
|
+
options.capabilities.forEach((capability) => {
|
|
42
|
+
this.createCapability(capability);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if (options.routes) {
|
|
46
|
+
options.routes.forEach((routeOptions) => {
|
|
47
|
+
this.createRoute(routeOptions);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
if (options.observations) {
|
|
51
|
+
options.observations.forEach((obsOptions) => {
|
|
52
|
+
const obs = this.createObservation(obsOptions.description);
|
|
53
|
+
// If route refs were provided, resolve and disambiguate
|
|
54
|
+
if (obsOptions.routeRefs && obsOptions.routeRefs.length > 0) {
|
|
55
|
+
const resolvedRoutes = obsOptions.routeRefs
|
|
56
|
+
.map((ref) => {
|
|
57
|
+
// Try to find route by ID or title
|
|
58
|
+
return this.routes.find((r) => r.id === ref || r.title === ref);
|
|
59
|
+
})
|
|
60
|
+
.filter((r) => r !== undefined);
|
|
61
|
+
if (resolvedRoutes.length > 0) {
|
|
62
|
+
obs.disambiguate(resolvedRoutes);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get agent name
|
|
70
|
+
*/
|
|
71
|
+
get name() {
|
|
72
|
+
return this.options.name;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get agent description
|
|
76
|
+
*/
|
|
77
|
+
get description() {
|
|
78
|
+
return this.options.description;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get agent goal
|
|
82
|
+
*/
|
|
83
|
+
get goal() {
|
|
84
|
+
return this.options.goal;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a new route (journey)
|
|
88
|
+
*/
|
|
89
|
+
createRoute(options) {
|
|
90
|
+
const route = new Route_1.Route(options);
|
|
91
|
+
this.routes.push(route);
|
|
92
|
+
return route;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create a domain term for the glossary
|
|
96
|
+
*/
|
|
97
|
+
createTerm(term) {
|
|
98
|
+
this.terms.push(term);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Create a behavioral guideline
|
|
103
|
+
*/
|
|
104
|
+
createGuideline(guideline) {
|
|
105
|
+
const guidelineWithId = {
|
|
106
|
+
...guideline,
|
|
107
|
+
id: guideline.id || `guideline_${this.guidelines.length}`,
|
|
108
|
+
enabled: guideline.enabled !== false, // Default to true
|
|
109
|
+
};
|
|
110
|
+
this.guidelines.push(guidelineWithId);
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Add a capability
|
|
115
|
+
*/
|
|
116
|
+
createCapability(capability) {
|
|
117
|
+
const capabilityWithId = {
|
|
118
|
+
...capability,
|
|
119
|
+
id: capability.id || `capability_${this.capabilities.length}`,
|
|
120
|
+
};
|
|
121
|
+
this.capabilities.push(capabilityWithId);
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Create an observation for disambiguation
|
|
126
|
+
*/
|
|
127
|
+
createObservation(description) {
|
|
128
|
+
const observation = new Observation_1.Observation({ description });
|
|
129
|
+
this.observations.push(observation);
|
|
130
|
+
return observation;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Add a domain with its tools/methods
|
|
134
|
+
*/
|
|
135
|
+
addDomain(name, domainObject) {
|
|
136
|
+
this.domainRegistry.register(name, domainObject);
|
|
137
|
+
// Attach to the domain property for easy access
|
|
138
|
+
this.domain[name] = domainObject;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Generate a response based on history and context
|
|
142
|
+
*/
|
|
143
|
+
async respond(params) {
|
|
144
|
+
const { history, contextOverride, signal } = params;
|
|
145
|
+
// Merge context
|
|
146
|
+
const effectiveContext = {
|
|
147
|
+
...this.options.context,
|
|
148
|
+
...contextOverride,
|
|
149
|
+
};
|
|
150
|
+
// Build prompt
|
|
151
|
+
const promptBuilder = new PromptBuilder_1.PromptBuilder();
|
|
152
|
+
// Add agent identity
|
|
153
|
+
if (this.options.description) {
|
|
154
|
+
promptBuilder.addAgentIdentity({
|
|
155
|
+
name: this.options.name,
|
|
156
|
+
description: this.options.description,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
// Add interaction history
|
|
160
|
+
promptBuilder.addInteractionHistoryForMessageGeneration(history);
|
|
161
|
+
// Add glossary
|
|
162
|
+
if (this.terms.length > 0) {
|
|
163
|
+
promptBuilder.addGlossary(this.terms);
|
|
164
|
+
}
|
|
165
|
+
// Add guidelines (convert to GuidelineMatch format, filter enabled only)
|
|
166
|
+
const enabledGuidelines = this.guidelines.filter((g) => g.enabled !== false);
|
|
167
|
+
if (enabledGuidelines.length > 0) {
|
|
168
|
+
const guidelineMatches = enabledGuidelines.map((g) => ({
|
|
169
|
+
guideline: g,
|
|
170
|
+
}));
|
|
171
|
+
promptBuilder.addGuidelinesForMessageGeneration(guidelineMatches);
|
|
172
|
+
}
|
|
173
|
+
// Add capabilities
|
|
174
|
+
if (this.capabilities.length > 0) {
|
|
175
|
+
promptBuilder.addCapabilitiesForMessageGeneration(this.capabilities);
|
|
176
|
+
}
|
|
177
|
+
// Add observations
|
|
178
|
+
if (this.observations.length > 0) {
|
|
179
|
+
const observationsWithRoutes = this.observations
|
|
180
|
+
.map((obs) => ({
|
|
181
|
+
description: obs.description,
|
|
182
|
+
routes: obs.getRoutes().map((routeRef) => {
|
|
183
|
+
const route = this.routes.find((r) => r.id === routeRef.id);
|
|
184
|
+
return { title: route?.title || routeRef.id };
|
|
185
|
+
}),
|
|
186
|
+
}))
|
|
187
|
+
.filter((obs) => obs.routes.length > 0);
|
|
188
|
+
if (observationsWithRoutes.length > 0) {
|
|
189
|
+
promptBuilder.addObservations(observationsWithRoutes);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Add active routes
|
|
193
|
+
if (this.routes.length > 0) {
|
|
194
|
+
promptBuilder.addActiveRoutes(this.routes.map((r) => ({
|
|
195
|
+
title: r.title,
|
|
196
|
+
description: r.description,
|
|
197
|
+
conditions: r.conditions,
|
|
198
|
+
})));
|
|
199
|
+
}
|
|
200
|
+
// Add JSON response schema instructions
|
|
201
|
+
promptBuilder.addJsonResponseSchema();
|
|
202
|
+
// Build final prompt
|
|
203
|
+
const prompt = promptBuilder.build();
|
|
204
|
+
// Generate message using AI provider with JSON mode enabled
|
|
205
|
+
const result = await this.options.ai.generateMessage({
|
|
206
|
+
prompt,
|
|
207
|
+
history,
|
|
208
|
+
context: effectiveContext,
|
|
209
|
+
signal,
|
|
210
|
+
parameters: {
|
|
211
|
+
jsonMode: true,
|
|
212
|
+
},
|
|
213
|
+
});
|
|
214
|
+
// Parse structured response
|
|
215
|
+
let message = result.message;
|
|
216
|
+
let route = null;
|
|
217
|
+
let state = null;
|
|
218
|
+
let toolCalls;
|
|
219
|
+
if (result.structured) {
|
|
220
|
+
// Extract data from structured response
|
|
221
|
+
message = result.structured.message || message;
|
|
222
|
+
// Find route by title
|
|
223
|
+
if (result.structured.route) {
|
|
224
|
+
const foundRoute = this.routes.find((r) => r.title === result.structured?.route);
|
|
225
|
+
if (foundRoute) {
|
|
226
|
+
route = {
|
|
227
|
+
id: foundRoute.id,
|
|
228
|
+
title: foundRoute.title,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// Create state reference if provided
|
|
233
|
+
if (result.structured.state) {
|
|
234
|
+
state = {
|
|
235
|
+
id: "dynamic_state",
|
|
236
|
+
description: result.structured.state,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
// Extract tool calls
|
|
240
|
+
if (result.structured.toolCalls &&
|
|
241
|
+
result.structured.toolCalls.length > 0) {
|
|
242
|
+
toolCalls = result.structured.toolCalls;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return {
|
|
246
|
+
message,
|
|
247
|
+
route: route || undefined,
|
|
248
|
+
state: state || undefined,
|
|
249
|
+
toolCalls,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get all routes
|
|
254
|
+
*/
|
|
255
|
+
getRoutes() {
|
|
256
|
+
return [...this.routes];
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Get all terms
|
|
260
|
+
*/
|
|
261
|
+
getTerms() {
|
|
262
|
+
return [...this.terms];
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Get all guidelines
|
|
266
|
+
*/
|
|
267
|
+
getGuidelines() {
|
|
268
|
+
return [...this.guidelines];
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Get all capabilities
|
|
272
|
+
*/
|
|
273
|
+
getCapabilities() {
|
|
274
|
+
return [...this.capabilities];
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Get all observations
|
|
278
|
+
*/
|
|
279
|
+
getObservations() {
|
|
280
|
+
return [...this.observations];
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Get the domain registry
|
|
284
|
+
*/
|
|
285
|
+
getDomainRegistry() {
|
|
286
|
+
return this.domainRegistry;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
exports.Agent = Agent;
|
|
290
|
+
//# sourceMappingURL=Agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain registry for organizing agent capabilities by domain
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Registry that holds domain-specific tools and methods
|
|
6
|
+
*/
|
|
7
|
+
export declare class DomainRegistry {
|
|
8
|
+
private domains;
|
|
9
|
+
/**
|
|
10
|
+
* Register a new domain with its methods/tools
|
|
11
|
+
*/
|
|
12
|
+
register<TDomain extends Record<string, unknown>>(name: string, domain: TDomain): void;
|
|
13
|
+
/**
|
|
14
|
+
* Get a registered domain
|
|
15
|
+
*/
|
|
16
|
+
get<TDomain extends Record<string, unknown>>(name: string): TDomain | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Check if a domain is registered
|
|
19
|
+
*/
|
|
20
|
+
has(name: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Get all registered domains as a single object
|
|
23
|
+
*/
|
|
24
|
+
all(): Record<string, Record<string, unknown>>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=DomainRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomainRegistry.d.ts","sourceRoot":"","sources":["../../../src/core/DomainRegistry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAmD;IAElE;;OAEG;IACH,QAAQ,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,GACd,IAAI;IAOP;;OAEG;IACH,GAAG,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,IAAI,EAAE,MAAM,GACX,OAAO,GAAG,SAAS;IAItB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAO/C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Domain registry for organizing agent capabilities by domain
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DomainRegistry = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Registry that holds domain-specific tools and methods
|
|
9
|
+
*/
|
|
10
|
+
class DomainRegistry {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.domains = new Map();
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Register a new domain with its methods/tools
|
|
16
|
+
*/
|
|
17
|
+
register(name, domain) {
|
|
18
|
+
if (this.domains.has(name)) {
|
|
19
|
+
throw new Error(`Domain "${name}" is already registered`);
|
|
20
|
+
}
|
|
21
|
+
this.domains.set(name, domain);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get a registered domain
|
|
25
|
+
*/
|
|
26
|
+
get(name) {
|
|
27
|
+
return this.domains.get(name);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if a domain is registered
|
|
31
|
+
*/
|
|
32
|
+
has(name) {
|
|
33
|
+
return this.domains.has(name);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get all registered domains as a single object
|
|
37
|
+
*/
|
|
38
|
+
all() {
|
|
39
|
+
const result = {};
|
|
40
|
+
for (const [name, domain] of this.domains) {
|
|
41
|
+
result[name] = domain;
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.DomainRegistry = DomainRegistry;
|
|
47
|
+
//# sourceMappingURL=DomainRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DomainRegistry.js","sourceRoot":"","sources":["../../../src/core/DomainRegistry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH;;GAEG;AACH,MAAa,cAAc;IAA3B;QACU,YAAO,GAAyC,IAAI,GAAG,EAAE,CAAC;IAyCpE,CAAC;IAvCC;;OAEG;IACH,QAAQ,CACN,IAAY,EACZ,MAAe;QAEf,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,yBAAyB,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CACD,IAAY;QAEZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAwB,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,GAAG;QACD,MAAM,MAAM,GAA4C,EAAE,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1CD,wCA0CC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event utilities and helpers
|
|
3
|
+
*/
|
|
4
|
+
import type { Event, EmittedEvent, MessageEventData, ToolEventData, ToolCall } from "../types/history";
|
|
5
|
+
import { EventSource } from "../types/history";
|
|
6
|
+
/**
|
|
7
|
+
* Adapt an event for inclusion in prompts
|
|
8
|
+
* Transforms event data into a serializable format
|
|
9
|
+
*/
|
|
10
|
+
export declare function adaptEvent(e: Event | EmittedEvent): string;
|
|
11
|
+
/**
|
|
12
|
+
* Create a message event
|
|
13
|
+
*/
|
|
14
|
+
export declare function createMessageEvent(source: EventSource, participantName: string, message: string): Event<MessageEventData>;
|
|
15
|
+
/**
|
|
16
|
+
* Create a tool event
|
|
17
|
+
*/
|
|
18
|
+
export declare function createToolEvent(source: EventSource, toolCalls: ToolCall[]): Event<ToolEventData>;
|
|
19
|
+
//# sourceMappingURL=Events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../../src/core/Events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAa,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,MAAM,CA+C1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GACd,KAAK,CAAC,gBAAgB,CAAC,CAUzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,QAAQ,EAAE,GACpB,KAAK,CAAC,aAAa,CAAC,CAStB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Event utilities and helpers
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.adaptEvent = adaptEvent;
|
|
7
|
+
exports.createMessageEvent = createMessageEvent;
|
|
8
|
+
exports.createToolEvent = createToolEvent;
|
|
9
|
+
const history_1 = require("../types/history");
|
|
10
|
+
/**
|
|
11
|
+
* Adapt an event for inclusion in prompts
|
|
12
|
+
* Transforms event data into a serializable format
|
|
13
|
+
*/
|
|
14
|
+
function adaptEvent(e) {
|
|
15
|
+
let data = e.data;
|
|
16
|
+
if (e.kind === history_1.EventKind.MESSAGE) {
|
|
17
|
+
const messageData = e.data;
|
|
18
|
+
if (messageData.flagged) {
|
|
19
|
+
data = {
|
|
20
|
+
participant: messageData.participant.display_name,
|
|
21
|
+
message: "<N/A>",
|
|
22
|
+
censored: true,
|
|
23
|
+
reasons: messageData.tags,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
data = {
|
|
28
|
+
participant: messageData.participant.display_name,
|
|
29
|
+
message: messageData.message,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (e.kind === history_1.EventKind.TOOL) {
|
|
34
|
+
const toolData = e.data;
|
|
35
|
+
data = {
|
|
36
|
+
tool_calls: toolData.tool_calls.map((tc) => ({
|
|
37
|
+
tool_id: tc.tool_id,
|
|
38
|
+
arguments: tc.arguments,
|
|
39
|
+
result: tc.result.data,
|
|
40
|
+
})),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const sourceMap = {
|
|
44
|
+
[history_1.EventSource.CUSTOMER]: "user",
|
|
45
|
+
[history_1.EventSource.CUSTOMER_UI]: "frontend_application",
|
|
46
|
+
[history_1.EventSource.HUMAN_AGENT]: "human_service_agent",
|
|
47
|
+
[history_1.EventSource.HUMAN_AGENT_ON_BEHALF_OF_AI_AGENT]: "ai_agent",
|
|
48
|
+
[history_1.EventSource.AI_AGENT]: "ai_agent",
|
|
49
|
+
[history_1.EventSource.SYSTEM]: "system-provided",
|
|
50
|
+
};
|
|
51
|
+
return JSON.stringify({
|
|
52
|
+
event_kind: e.kind,
|
|
53
|
+
event_source: sourceMap[e.source],
|
|
54
|
+
data,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Create a message event
|
|
59
|
+
*/
|
|
60
|
+
function createMessageEvent(source, participantName, message) {
|
|
61
|
+
return {
|
|
62
|
+
kind: history_1.EventKind.MESSAGE,
|
|
63
|
+
source,
|
|
64
|
+
data: {
|
|
65
|
+
participant: { display_name: participantName },
|
|
66
|
+
message,
|
|
67
|
+
},
|
|
68
|
+
timestamp: new Date().toISOString(),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create a tool event
|
|
73
|
+
*/
|
|
74
|
+
function createToolEvent(source, toolCalls) {
|
|
75
|
+
return {
|
|
76
|
+
kind: history_1.EventKind.TOOL,
|
|
77
|
+
source,
|
|
78
|
+
data: {
|
|
79
|
+
tool_calls: toolCalls,
|
|
80
|
+
},
|
|
81
|
+
timestamp: new Date().toISOString(),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=Events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../src/core/Events.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAeH,gCA+CC;AAKD,gDAcC;AAKD,0CAYC;AAzFD,8CAA0D;AAE1D;;;GAGG;AACH,SAAgB,UAAU,CAAC,CAAuB;IAChD,IAAI,IAAI,GAAY,CAAC,CAAC,IAAI,CAAC;IAE3B,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAS,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAwB,CAAC;QAE/C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,GAAG;gBACL,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY;gBACjD,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,WAAW,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,GAAG;gBACL,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY;gBACjD,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAqB,CAAC;QAEzC,IAAI,GAAG;YACL,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3C,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI;aACvB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAgC;QAC7C,CAAC,qBAAW,CAAC,QAAQ,CAAC,EAAE,MAAM;QAC9B,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,sBAAsB;QACjD,CAAC,qBAAW,CAAC,WAAW,CAAC,EAAE,qBAAqB;QAChD,CAAC,qBAAW,CAAC,iCAAiC,CAAC,EAAE,UAAU;QAC3D,CAAC,qBAAW,CAAC,QAAQ,CAAC,EAAE,UAAU;QAClC,CAAC,qBAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB;KACxC,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC,IAAI;QAClB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACjC,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,MAAmB,EACnB,eAAuB,EACvB,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,mBAAS,CAAC,OAAO;QACvB,MAAM;QACN,IAAI,EAAE;YACJ,WAAW,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;YAC9C,OAAO;SACR;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,MAAmB,EACnB,SAAqB;IAErB,OAAO;QACL,IAAI,EAAE,mBAAS,CAAC,IAAI;QACpB,MAAM;QACN,IAAI,EAAE;YACJ,UAAU,EAAE,SAAS;SACtB;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observation for route disambiguation
|
|
3
|
+
*/
|
|
4
|
+
import type { Observation as IObservation, ObservationOptions } from "../types/observation";
|
|
5
|
+
import type { RouteRef } from "../types/route";
|
|
6
|
+
import type { Route } from "./Route";
|
|
7
|
+
/**
|
|
8
|
+
* An observation that can trigger disambiguation between routes
|
|
9
|
+
*/
|
|
10
|
+
export declare class Observation implements IObservation {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly description: string;
|
|
13
|
+
routes: RouteRef[];
|
|
14
|
+
constructor(options: ObservationOptions);
|
|
15
|
+
/**
|
|
16
|
+
* Set routes that this observation can disambiguate between
|
|
17
|
+
*/
|
|
18
|
+
disambiguate(routes: (Route<any> | RouteRef)[]): this;
|
|
19
|
+
/**
|
|
20
|
+
* Get the routes this observation disambiguates
|
|
21
|
+
*/
|
|
22
|
+
getRoutes(): RouteRef[];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=Observation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Observation.d.ts","sourceRoot":"","sources":["../../../src/core/Observation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,IAAI,YAAY,EAC3B,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,WAAW,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,QAAQ,EAAE,CAAM;gBAEnB,OAAO,EAAE,kBAAkB;IAKvC;;OAEG;IAEH,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,IAAI;IAUrD;;OAEG;IACH,SAAS,IAAI,QAAQ,EAAE;CAGxB"}
|