@hazeljs/agent 0.2.0-beta.1
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/IMPLEMENTATION_SUMMARY.md +400 -0
- package/PERSISTENCE.md +201 -0
- package/PRISMA_INTEGRATION.md +499 -0
- package/PRODUCTION_READINESS.md +264 -0
- package/QUICKSTART.md +135 -0
- package/README.md +427 -0
- package/STATE_VS_MEMORY.md +243 -0
- package/dist/agent.module.d.ts +42 -0
- package/dist/agent.module.d.ts.map +1 -0
- package/dist/agent.module.js +90 -0
- package/dist/agent.module.js.map +1 -0
- package/dist/context/agent.context.d.ts +27 -0
- package/dist/context/agent.context.d.ts.map +1 -0
- package/dist/context/agent.context.js +98 -0
- package/dist/context/agent.context.js.map +1 -0
- package/dist/decorators/agent.decorator.d.ts +21 -0
- package/dist/decorators/agent.decorator.d.ts.map +1 -0
- package/dist/decorators/agent.decorator.js +38 -0
- package/dist/decorators/agent.decorator.js.map +1 -0
- package/dist/decorators/tool.decorator.d.ts +23 -0
- package/dist/decorators/tool.decorator.d.ts.map +1 -0
- package/dist/decorators/tool.decorator.js +61 -0
- package/dist/decorators/tool.decorator.js.map +1 -0
- package/dist/events/event.emitter.d.ts +45 -0
- package/dist/events/event.emitter.d.ts.map +1 -0
- package/dist/events/event.emitter.js +96 -0
- package/dist/events/event.emitter.js.map +1 -0
- package/dist/executor/agent.executor.d.ts +57 -0
- package/dist/executor/agent.executor.d.ts.map +1 -0
- package/dist/executor/agent.executor.js +303 -0
- package/dist/executor/agent.executor.js.map +1 -0
- package/dist/executor/tool.executor.d.ts +53 -0
- package/dist/executor/tool.executor.d.ts.map +1 -0
- package/dist/executor/tool.executor.js +234 -0
- package/dist/executor/tool.executor.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/registry/agent.registry.d.ts +49 -0
- package/dist/registry/agent.registry.d.ts.map +1 -0
- package/dist/registry/agent.registry.js +90 -0
- package/dist/registry/agent.registry.js.map +1 -0
- package/dist/registry/tool.registry.d.ts +54 -0
- package/dist/registry/tool.registry.d.ts.map +1 -0
- package/dist/registry/tool.registry.js +153 -0
- package/dist/registry/tool.registry.js.map +1 -0
- package/dist/runtime/agent.runtime.d.ts +155 -0
- package/dist/runtime/agent.runtime.d.ts.map +1 -0
- package/dist/runtime/agent.runtime.extensions.d.ts +49 -0
- package/dist/runtime/agent.runtime.extensions.d.ts.map +1 -0
- package/dist/runtime/agent.runtime.extensions.js +93 -0
- package/dist/runtime/agent.runtime.extensions.js.map +1 -0
- package/dist/runtime/agent.runtime.js +347 -0
- package/dist/runtime/agent.runtime.js.map +1 -0
- package/dist/state/agent-state.interface.d.ts +63 -0
- package/dist/state/agent-state.interface.d.ts.map +1 -0
- package/dist/state/agent-state.interface.js +7 -0
- package/dist/state/agent-state.interface.js.map +1 -0
- package/dist/state/agent.state.d.ts +67 -0
- package/dist/state/agent.state.d.ts.map +1 -0
- package/dist/state/agent.state.js +172 -0
- package/dist/state/agent.state.js.map +1 -0
- package/dist/state/database-state.manager.d.ts +63 -0
- package/dist/state/database-state.manager.d.ts.map +1 -0
- package/dist/state/database-state.manager.js +282 -0
- package/dist/state/database-state.manager.js.map +1 -0
- package/dist/state/redis-state.manager.d.ts +81 -0
- package/dist/state/redis-state.manager.d.ts.map +1 -0
- package/dist/state/redis-state.manager.js +253 -0
- package/dist/state/redis-state.manager.js.map +1 -0
- package/dist/types/agent.types.d.ts +151 -0
- package/dist/types/agent.types.d.ts.map +1 -0
- package/dist/types/agent.types.js +32 -0
- package/dist/types/agent.types.js.map +1 -0
- package/dist/types/event.types.d.ts +123 -0
- package/dist/types/event.types.d.ts.map +1 -0
- package/dist/types/event.types.js +30 -0
- package/dist/types/event.types.js.map +1 -0
- package/dist/types/llm.types.d.ts +66 -0
- package/dist/types/llm.types.d.ts.map +1 -0
- package/dist/types/llm.types.js +7 -0
- package/dist/types/llm.types.js.map +1 -0
- package/dist/types/rag.types.d.ts +40 -0
- package/dist/types/rag.types.d.ts.map +1 -0
- package/dist/types/rag.types.js +7 -0
- package/dist/types/rag.types.js.map +1 -0
- package/dist/types/tool.types.d.ts +118 -0
- package/dist/types/tool.types.d.ts.map +1 -0
- package/dist/types/tool.types.js +19 -0
- package/dist/types/tool.types.js.map +1 -0
- package/dist/utils/circuit-breaker.d.ts +69 -0
- package/dist/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/utils/circuit-breaker.js +156 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/health-check.d.ts +71 -0
- package/dist/utils/health-check.d.ts.map +1 -0
- package/dist/utils/health-check.js +156 -0
- package/dist/utils/health-check.js.map +1 -0
- package/dist/utils/logger.d.ts +53 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +133 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/metrics.d.ts +90 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +186 -0
- package/dist/utils/metrics.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +44 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +82 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/retry.d.ts +42 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +103 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +58 -0
- package/prisma-schema.example.prisma +76 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @hazeljs/agent
|
|
4
|
+
* AI-native Agent Runtime for HazelJS
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./types/agent.types"), exports);
|
|
22
|
+
__exportStar(require("./types/tool.types"), exports);
|
|
23
|
+
__exportStar(require("./types/event.types"), exports);
|
|
24
|
+
__exportStar(require("./types/llm.types"), exports);
|
|
25
|
+
__exportStar(require("./types/rag.types"), exports);
|
|
26
|
+
__exportStar(require("./decorators/agent.decorator"), exports);
|
|
27
|
+
__exportStar(require("./decorators/tool.decorator"), exports);
|
|
28
|
+
__exportStar(require("./registry/agent.registry"), exports);
|
|
29
|
+
__exportStar(require("./registry/tool.registry"), exports);
|
|
30
|
+
__exportStar(require("./state/agent.state"), exports);
|
|
31
|
+
__exportStar(require("./state/agent-state.interface"), exports);
|
|
32
|
+
__exportStar(require("./state/redis-state.manager"), exports);
|
|
33
|
+
__exportStar(require("./state/database-state.manager"), exports);
|
|
34
|
+
__exportStar(require("./context/agent.context"), exports);
|
|
35
|
+
__exportStar(require("./executor/agent.executor"), exports);
|
|
36
|
+
__exportStar(require("./executor/tool.executor"), exports);
|
|
37
|
+
__exportStar(require("./events/event.emitter"), exports);
|
|
38
|
+
__exportStar(require("./runtime/agent.runtime"), exports);
|
|
39
|
+
__exportStar(require("./utils/rate-limiter"), exports);
|
|
40
|
+
__exportStar(require("./utils/logger"), exports);
|
|
41
|
+
__exportStar(require("./utils/metrics"), exports);
|
|
42
|
+
__exportStar(require("./utils/retry"), exports);
|
|
43
|
+
__exportStar(require("./utils/circuit-breaker"), exports);
|
|
44
|
+
__exportStar(require("./utils/health-check"), exports);
|
|
45
|
+
__exportStar(require("./agent.module"), exports);
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,sDAAoC;AACpC,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC;AAClC,oDAAkC;AAElC,+DAA6C;AAC7C,8DAA4C;AAE5C,4DAA0C;AAC1C,2DAAyC;AAEzC,sDAAoC;AACpC,gEAA8C;AAC9C,8DAA4C;AAC5C,iEAA+C;AAC/C,0DAAwC;AAExC,4DAA0C;AAC1C,2DAAyC;AAEzC,yDAAuC;AAEvC,0DAAwC;AAExC,uDAAqC;AACrC,iDAA+B;AAC/B,kDAAgC;AAChC,gDAA8B;AAC9B,0DAAwC;AACxC,uDAAqC;AAErC,iDAA+B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Registry
|
|
3
|
+
* Central registry for all agents in the system
|
|
4
|
+
*/
|
|
5
|
+
import { AgentMetadata } from '../types/agent.types';
|
|
6
|
+
/**
|
|
7
|
+
* Agent Registry - manages agent registration and lookup
|
|
8
|
+
*/
|
|
9
|
+
export declare class AgentRegistry {
|
|
10
|
+
private agents;
|
|
11
|
+
private instances;
|
|
12
|
+
/**
|
|
13
|
+
* Register an agent class
|
|
14
|
+
*/
|
|
15
|
+
register(agentClass: new (...args: unknown[]) => unknown): void;
|
|
16
|
+
/**
|
|
17
|
+
* Register an agent instance
|
|
18
|
+
*/
|
|
19
|
+
registerInstance(agentName: string, instance: unknown): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get agent metadata by name
|
|
22
|
+
*/
|
|
23
|
+
getAgent(name: string): AgentMetadata | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Get agent instance by name
|
|
26
|
+
*/
|
|
27
|
+
getInstance(name: string): unknown | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Get all registered agents
|
|
30
|
+
*/
|
|
31
|
+
getAllAgents(): AgentMetadata[];
|
|
32
|
+
/**
|
|
33
|
+
* Check if an agent is registered
|
|
34
|
+
*/
|
|
35
|
+
hasAgent(name: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Unregister an agent
|
|
38
|
+
*/
|
|
39
|
+
unregister(name: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Clear all agents
|
|
42
|
+
*/
|
|
43
|
+
clear(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Get agent count
|
|
46
|
+
*/
|
|
47
|
+
get count(): number;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=agent.registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.registry.d.ts","sourceRoot":"","sources":["../../src/registry/agent.registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IAEpD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI;IAiB/D;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAW5D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIjD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI9C;;OAEG;IACH,YAAY,IAAI,aAAa,EAAE;IAI/B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;CACF"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent Registry
|
|
4
|
+
* Central registry for all agents in the system
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.AgentRegistry = void 0;
|
|
8
|
+
const agent_decorator_1 = require("../decorators/agent.decorator");
|
|
9
|
+
/**
|
|
10
|
+
* Agent Registry - manages agent registration and lookup
|
|
11
|
+
*/
|
|
12
|
+
class AgentRegistry {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.agents = new Map();
|
|
15
|
+
this.instances = new Map();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Register an agent class
|
|
19
|
+
*/
|
|
20
|
+
register(agentClass) {
|
|
21
|
+
if (!(0, agent_decorator_1.isAgent)(agentClass)) {
|
|
22
|
+
throw new Error(`Class ${agentClass.name} is not decorated with @Agent`);
|
|
23
|
+
}
|
|
24
|
+
const metadata = (0, agent_decorator_1.getAgentMetadata)(agentClass);
|
|
25
|
+
if (!metadata) {
|
|
26
|
+
throw new Error(`Failed to get metadata for agent ${agentClass.name}`);
|
|
27
|
+
}
|
|
28
|
+
if (this.agents.has(metadata.name)) {
|
|
29
|
+
throw new Error(`Agent ${metadata.name} is already registered`);
|
|
30
|
+
}
|
|
31
|
+
this.agents.set(metadata.name, metadata);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Register an agent instance
|
|
35
|
+
*/
|
|
36
|
+
registerInstance(agentName, instance) {
|
|
37
|
+
if (!this.agents.has(agentName)) {
|
|
38
|
+
throw new Error(`Agent ${agentName} is not registered`);
|
|
39
|
+
}
|
|
40
|
+
this.instances.set(agentName, instance);
|
|
41
|
+
const metadata = this.agents.get(agentName);
|
|
42
|
+
metadata.instance = instance;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get agent metadata by name
|
|
46
|
+
*/
|
|
47
|
+
getAgent(name) {
|
|
48
|
+
return this.agents.get(name);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get agent instance by name
|
|
52
|
+
*/
|
|
53
|
+
getInstance(name) {
|
|
54
|
+
return this.instances.get(name);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get all registered agents
|
|
58
|
+
*/
|
|
59
|
+
getAllAgents() {
|
|
60
|
+
return Array.from(this.agents.values());
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check if an agent is registered
|
|
64
|
+
*/
|
|
65
|
+
hasAgent(name) {
|
|
66
|
+
return this.agents.has(name);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Unregister an agent
|
|
70
|
+
*/
|
|
71
|
+
unregister(name) {
|
|
72
|
+
this.agents.delete(name);
|
|
73
|
+
this.instances.delete(name);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Clear all agents
|
|
77
|
+
*/
|
|
78
|
+
clear() {
|
|
79
|
+
this.agents.clear();
|
|
80
|
+
this.instances.clear();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get agent count
|
|
84
|
+
*/
|
|
85
|
+
get count() {
|
|
86
|
+
return this.agents.size;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.AgentRegistry = AgentRegistry;
|
|
90
|
+
//# sourceMappingURL=agent.registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.registry.js","sourceRoot":"","sources":["../../src/registry/agent.registry.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,mEAA0E;AAE1E;;GAEG;AACH,MAAa,aAAa;IAA1B;QACU,WAAM,GAA+B,IAAI,GAAG,EAAE,CAAC;QAC/C,cAAS,GAAyB,IAAI,GAAG,EAAE,CAAC;IAsFtD,CAAC;IApFC;;OAEG;IACH,QAAQ,CAAC,UAA+C;QACtD,IAAI,CAAC,IAAA,yBAAO,EAAC,UAAU,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,SAAS,UAAU,CAAC,IAAI,+BAA+B,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,kCAAgB,EAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,CAAC,IAAI,wBAAwB,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,SAAiB,EAAE,QAAiB;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,oBAAoB,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAC7C,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AAxFD,sCAwFC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry
|
|
3
|
+
* Central registry for all tools in the system
|
|
4
|
+
*/
|
|
5
|
+
import { ToolMetadata, ToolDefinition } from '../types/tool.types';
|
|
6
|
+
import { LLMToolDefinition } from '../types/llm.types';
|
|
7
|
+
/**
|
|
8
|
+
* Tool Registry - manages tool registration and lookup
|
|
9
|
+
*/
|
|
10
|
+
export declare class ToolRegistry {
|
|
11
|
+
private tools;
|
|
12
|
+
private agentTools;
|
|
13
|
+
/**
|
|
14
|
+
* Register tools from an agent instance
|
|
15
|
+
*/
|
|
16
|
+
registerAgentTools(agentName: string, agentInstance: unknown): void;
|
|
17
|
+
/**
|
|
18
|
+
* Get tool metadata by name
|
|
19
|
+
*/
|
|
20
|
+
getTool(toolName: string): ToolMetadata | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Get all tools for an agent
|
|
23
|
+
*/
|
|
24
|
+
getAgentTools(agentName: string): ToolMetadata[];
|
|
25
|
+
/**
|
|
26
|
+
* Get all registered tools
|
|
27
|
+
*/
|
|
28
|
+
getAllTools(): ToolMetadata[];
|
|
29
|
+
/**
|
|
30
|
+
* Check if a tool is registered
|
|
31
|
+
*/
|
|
32
|
+
hasTool(toolName: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Get tool definitions for LLM (OpenAI function calling format)
|
|
35
|
+
*/
|
|
36
|
+
getToolDefinitions(agentName: string): ToolDefinition[];
|
|
37
|
+
/**
|
|
38
|
+
* Unregister all tools for an agent
|
|
39
|
+
*/
|
|
40
|
+
unregisterAgentTools(agentName: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Clear all tools
|
|
43
|
+
*/
|
|
44
|
+
clear(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Get tool count
|
|
47
|
+
*/
|
|
48
|
+
get count(): number;
|
|
49
|
+
/**
|
|
50
|
+
* Convert tool definitions to LLM format (OpenAI function calling)
|
|
51
|
+
*/
|
|
52
|
+
getToolDefinitionsForLLM(agentName: string): LLMToolDefinition[];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=tool.registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.registry.d.ts","sourceRoot":"","sources":["../../src/registry/tool.registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,UAAU,CAAuC;IAEzD;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAuCnE;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAInD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE;IAWhD;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE;IA2CvD;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAU7C;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE;CAYjE"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tool Registry
|
|
4
|
+
* Central registry for all tools in the system
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ToolRegistry = void 0;
|
|
8
|
+
const tool_decorator_1 = require("../decorators/tool.decorator");
|
|
9
|
+
/**
|
|
10
|
+
* Tool Registry - manages tool registration and lookup
|
|
11
|
+
*/
|
|
12
|
+
class ToolRegistry {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.tools = new Map();
|
|
15
|
+
this.agentTools = new Map();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Register tools from an agent instance
|
|
19
|
+
*/
|
|
20
|
+
registerAgentTools(agentName, agentInstance) {
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
|
+
const agentClass = agentInstance.constructor;
|
|
23
|
+
const toolNames = (0, tool_decorator_1.getAgentTools)(agentClass);
|
|
24
|
+
if (toolNames.length === 0) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const agentToolSet = new Set();
|
|
28
|
+
for (const toolName of toolNames) {
|
|
29
|
+
const metadata = (0, tool_decorator_1.getToolMetadata)(agentInstance, toolName);
|
|
30
|
+
if (!metadata) {
|
|
31
|
+
// Tool metadata not found, skip
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const fullToolName = `${agentName}.${toolName}`;
|
|
35
|
+
if (this.tools.has(fullToolName)) {
|
|
36
|
+
// Tool already registered, skip
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
// Update metadata to use the actual instance instead of prototype
|
|
40
|
+
const instanceMetadata = {
|
|
41
|
+
...metadata,
|
|
42
|
+
target: agentInstance,
|
|
43
|
+
};
|
|
44
|
+
this.tools.set(fullToolName, instanceMetadata);
|
|
45
|
+
agentToolSet.add(fullToolName);
|
|
46
|
+
}
|
|
47
|
+
this.agentTools.set(agentName, agentToolSet);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get tool metadata by name
|
|
51
|
+
*/
|
|
52
|
+
getTool(toolName) {
|
|
53
|
+
return this.tools.get(toolName);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get all tools for an agent
|
|
57
|
+
*/
|
|
58
|
+
getAgentTools(agentName) {
|
|
59
|
+
const toolNames = this.agentTools.get(agentName);
|
|
60
|
+
if (!toolNames) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return Array.from(toolNames)
|
|
64
|
+
.map((name) => this.tools.get(name))
|
|
65
|
+
.filter((tool) => tool !== undefined);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get all registered tools
|
|
69
|
+
*/
|
|
70
|
+
getAllTools() {
|
|
71
|
+
return Array.from(this.tools.values());
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Check if a tool is registered
|
|
75
|
+
*/
|
|
76
|
+
hasTool(toolName) {
|
|
77
|
+
return this.tools.has(toolName);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get tool definitions for LLM (OpenAI function calling format)
|
|
81
|
+
*/
|
|
82
|
+
getToolDefinitions(agentName) {
|
|
83
|
+
const tools = this.getAgentTools(agentName);
|
|
84
|
+
return tools.map((tool) => {
|
|
85
|
+
const properties = {};
|
|
86
|
+
const required = [];
|
|
87
|
+
if (tool.parameters) {
|
|
88
|
+
for (const param of tool.parameters) {
|
|
89
|
+
properties[param.name] = {
|
|
90
|
+
type: param.type,
|
|
91
|
+
description: param.description,
|
|
92
|
+
};
|
|
93
|
+
if (param.enum) {
|
|
94
|
+
properties[param.name].enum = param.enum;
|
|
95
|
+
}
|
|
96
|
+
if (param.required) {
|
|
97
|
+
required.push(param.name);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
name: tool.name,
|
|
103
|
+
description: tool.description,
|
|
104
|
+
parameters: {
|
|
105
|
+
type: 'object',
|
|
106
|
+
properties,
|
|
107
|
+
required,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Unregister all tools for an agent
|
|
114
|
+
*/
|
|
115
|
+
unregisterAgentTools(agentName) {
|
|
116
|
+
const toolNames = this.agentTools.get(agentName);
|
|
117
|
+
if (toolNames) {
|
|
118
|
+
for (const toolName of toolNames) {
|
|
119
|
+
this.tools.delete(toolName);
|
|
120
|
+
}
|
|
121
|
+
this.agentTools.delete(agentName);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Clear all tools
|
|
126
|
+
*/
|
|
127
|
+
clear() {
|
|
128
|
+
this.tools.clear();
|
|
129
|
+
this.agentTools.clear();
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get tool count
|
|
133
|
+
*/
|
|
134
|
+
get count() {
|
|
135
|
+
return this.tools.size;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Convert tool definitions to LLM format (OpenAI function calling)
|
|
139
|
+
*/
|
|
140
|
+
getToolDefinitionsForLLM(agentName) {
|
|
141
|
+
const tools = this.getToolDefinitions(agentName);
|
|
142
|
+
return tools.map((tool) => ({
|
|
143
|
+
type: 'function',
|
|
144
|
+
function: {
|
|
145
|
+
name: tool.name,
|
|
146
|
+
description: tool.description,
|
|
147
|
+
parameters: tool.parameters,
|
|
148
|
+
},
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.ToolRegistry = ToolRegistry;
|
|
153
|
+
//# sourceMappingURL=tool.registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.registry.js","sourceRoot":"","sources":["../../src/registry/tool.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Runtime
|
|
3
|
+
* Main runtime for managing agent lifecycle and execution
|
|
4
|
+
*/
|
|
5
|
+
import { IAgentStateManager } from '../state/agent-state.interface';
|
|
6
|
+
import { AgentExecutionOptions, AgentExecutionResult, AgentContext } from '../types/agent.types';
|
|
7
|
+
import { AgentEventType } from '../types/event.types';
|
|
8
|
+
import { LLMProvider } from '../types/llm.types';
|
|
9
|
+
import { RAGService } from '../types/rag.types';
|
|
10
|
+
import { MemoryManager } from '@hazeljs/rag';
|
|
11
|
+
import { LogLevel } from '../utils/logger';
|
|
12
|
+
import { HealthCheckResult } from '../utils/health-check';
|
|
13
|
+
/**
|
|
14
|
+
* Agent Runtime Configuration
|
|
15
|
+
*/
|
|
16
|
+
export interface AgentRuntimeConfig {
|
|
17
|
+
stateManager?: IAgentStateManager;
|
|
18
|
+
memoryManager?: MemoryManager;
|
|
19
|
+
ragService?: RAGService;
|
|
20
|
+
llmProvider?: LLMProvider;
|
|
21
|
+
defaultMaxSteps?: number;
|
|
22
|
+
defaultTimeout?: number;
|
|
23
|
+
enableObservability?: boolean;
|
|
24
|
+
rateLimitPerMinute?: number;
|
|
25
|
+
enableMetrics?: boolean;
|
|
26
|
+
logLevel?: LogLevel;
|
|
27
|
+
enableRetry?: boolean;
|
|
28
|
+
enableCircuitBreaker?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Agent Runtime
|
|
32
|
+
* Central runtime for agent execution and lifecycle management
|
|
33
|
+
*/
|
|
34
|
+
export declare class AgentRuntime {
|
|
35
|
+
private agentRegistry;
|
|
36
|
+
private toolRegistry;
|
|
37
|
+
private stateManager;
|
|
38
|
+
private contextBuilder;
|
|
39
|
+
private toolExecutor;
|
|
40
|
+
private agentExecutor;
|
|
41
|
+
private eventEmitter;
|
|
42
|
+
private config;
|
|
43
|
+
private rateLimiter?;
|
|
44
|
+
private metrics?;
|
|
45
|
+
private logger;
|
|
46
|
+
private retryHandler?;
|
|
47
|
+
private circuitBreaker?;
|
|
48
|
+
private healthChecker;
|
|
49
|
+
constructor(config?: AgentRuntimeConfig);
|
|
50
|
+
/**
|
|
51
|
+
* Register an agent class
|
|
52
|
+
*/
|
|
53
|
+
registerAgent(agentClass: new (...args: unknown[]) => unknown): void;
|
|
54
|
+
/**
|
|
55
|
+
* Register an agent instance
|
|
56
|
+
*/
|
|
57
|
+
registerAgentInstance(agentName: string, instance: unknown): void;
|
|
58
|
+
/**
|
|
59
|
+
* Execute an agent
|
|
60
|
+
*/
|
|
61
|
+
execute(agentName: string, input: string, options?: AgentExecutionOptions): Promise<AgentExecutionResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Execute with retry and circuit breaker protection
|
|
64
|
+
*/
|
|
65
|
+
private executeWithProtection;
|
|
66
|
+
/**
|
|
67
|
+
* Resume a paused execution
|
|
68
|
+
*/
|
|
69
|
+
resume(executionId: string, input?: string): Promise<AgentExecutionResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Get execution context
|
|
72
|
+
*/
|
|
73
|
+
getContext(executionId: string): Promise<AgentContext | undefined>;
|
|
74
|
+
/**
|
|
75
|
+
* Subscribe to agent events
|
|
76
|
+
*/
|
|
77
|
+
on(type: AgentEventType, handler: (event: unknown) => void): void;
|
|
78
|
+
/**
|
|
79
|
+
* Subscribe to all agent events
|
|
80
|
+
*/
|
|
81
|
+
onAny(handler: (event: unknown) => void): void;
|
|
82
|
+
/**
|
|
83
|
+
* Unsubscribe from events
|
|
84
|
+
*/
|
|
85
|
+
off(type: AgentEventType, handler: (event: unknown) => void): void;
|
|
86
|
+
/**
|
|
87
|
+
* Get all registered agents
|
|
88
|
+
*/
|
|
89
|
+
getAgents(): string[];
|
|
90
|
+
/**
|
|
91
|
+
* Get agent metadata
|
|
92
|
+
*/
|
|
93
|
+
getAgentMetadata(agentName: string): import('../types/agent.types').AgentMetadata | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Get health check status
|
|
96
|
+
*/
|
|
97
|
+
healthCheck(): Promise<HealthCheckResult>;
|
|
98
|
+
/**
|
|
99
|
+
* Get metrics
|
|
100
|
+
*/
|
|
101
|
+
getMetrics(): import('../utils/metrics').AgentMetrics | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Get metrics summary
|
|
104
|
+
*/
|
|
105
|
+
getMetricsSummary(): string;
|
|
106
|
+
/**
|
|
107
|
+
* Reset metrics
|
|
108
|
+
*/
|
|
109
|
+
resetMetrics(): void;
|
|
110
|
+
/**
|
|
111
|
+
* Get rate limiter status
|
|
112
|
+
*/
|
|
113
|
+
getRateLimiterStatus(): {
|
|
114
|
+
enabled: boolean;
|
|
115
|
+
availableTokens?: number;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Get circuit breaker status
|
|
119
|
+
*/
|
|
120
|
+
getCircuitBreakerStatus(): {
|
|
121
|
+
enabled: boolean;
|
|
122
|
+
state?: string;
|
|
123
|
+
failureCount?: number;
|
|
124
|
+
successCount?: number;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Reset circuit breaker
|
|
128
|
+
*/
|
|
129
|
+
resetCircuitBreaker(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Get agent tools
|
|
132
|
+
*/
|
|
133
|
+
getAgentTools(agentName: string): import('../types/tool.types').ToolMetadata[];
|
|
134
|
+
/**
|
|
135
|
+
* Approve a tool execution
|
|
136
|
+
*/
|
|
137
|
+
approveToolExecution(requestId: string, approvedBy: string): void;
|
|
138
|
+
/**
|
|
139
|
+
* Reject a tool execution
|
|
140
|
+
*/
|
|
141
|
+
rejectToolExecution(requestId: string): void;
|
|
142
|
+
/**
|
|
143
|
+
* Get pending tool approvals
|
|
144
|
+
*/
|
|
145
|
+
getPendingApprovals(): import('../types/tool.types').ToolApprovalRequest[];
|
|
146
|
+
/**
|
|
147
|
+
* Shutdown the runtime
|
|
148
|
+
*/
|
|
149
|
+
shutdown(): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Generate a session ID
|
|
152
|
+
*/
|
|
153
|
+
private generateSessionId;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=agent.runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/agent.runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Runtime Extensions
|
|
3
|
+
* Additional methods for health checks, metrics, and monitoring
|
|
4
|
+
*/
|
|
5
|
+
import { AgentRuntime } from './agent.runtime';
|
|
6
|
+
import { HealthCheckResult } from '../utils/health-check';
|
|
7
|
+
import { AgentMetrics } from '../utils/metrics';
|
|
8
|
+
/**
|
|
9
|
+
* Extended methods for AgentRuntime
|
|
10
|
+
*/
|
|
11
|
+
export declare class AgentRuntimeExtensions {
|
|
12
|
+
/**
|
|
13
|
+
* Get health check status
|
|
14
|
+
*/
|
|
15
|
+
static getHealthCheck(runtime: AgentRuntime): Promise<HealthCheckResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Get metrics summary
|
|
18
|
+
*/
|
|
19
|
+
static getMetrics(runtime: AgentRuntime): AgentMetrics | null;
|
|
20
|
+
/**
|
|
21
|
+
* Get metrics summary as string
|
|
22
|
+
*/
|
|
23
|
+
static getMetricsSummary(runtime: AgentRuntime): string;
|
|
24
|
+
/**
|
|
25
|
+
* Reset metrics
|
|
26
|
+
*/
|
|
27
|
+
static resetMetrics(runtime: AgentRuntime): void;
|
|
28
|
+
/**
|
|
29
|
+
* Get rate limiter status
|
|
30
|
+
*/
|
|
31
|
+
static getRateLimiterStatus(runtime: AgentRuntime): {
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
availableTokens?: number;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Get circuit breaker status
|
|
37
|
+
*/
|
|
38
|
+
static getCircuitBreakerStatus(runtime: AgentRuntime): {
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
state?: string;
|
|
41
|
+
failureCount?: number;
|
|
42
|
+
successCount?: number;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Reset circuit breaker
|
|
46
|
+
*/
|
|
47
|
+
static resetCircuitBreaker(runtime: AgentRuntime): void;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=agent.runtime.extensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.runtime.extensions.d.ts","sourceRoot":"","sources":["../../src/runtime/agent.runtime.extensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;WACU,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmB9E;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI;IAM7D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAMvD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAQhD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG;QAClD,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IASD;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG;QACrD,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;IAWD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;CAOxD"}
|