@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.
Files changed (117) hide show
  1. package/IMPLEMENTATION_SUMMARY.md +400 -0
  2. package/PERSISTENCE.md +201 -0
  3. package/PRISMA_INTEGRATION.md +499 -0
  4. package/PRODUCTION_READINESS.md +264 -0
  5. package/QUICKSTART.md +135 -0
  6. package/README.md +427 -0
  7. package/STATE_VS_MEMORY.md +243 -0
  8. package/dist/agent.module.d.ts +42 -0
  9. package/dist/agent.module.d.ts.map +1 -0
  10. package/dist/agent.module.js +90 -0
  11. package/dist/agent.module.js.map +1 -0
  12. package/dist/context/agent.context.d.ts +27 -0
  13. package/dist/context/agent.context.d.ts.map +1 -0
  14. package/dist/context/agent.context.js +98 -0
  15. package/dist/context/agent.context.js.map +1 -0
  16. package/dist/decorators/agent.decorator.d.ts +21 -0
  17. package/dist/decorators/agent.decorator.d.ts.map +1 -0
  18. package/dist/decorators/agent.decorator.js +38 -0
  19. package/dist/decorators/agent.decorator.js.map +1 -0
  20. package/dist/decorators/tool.decorator.d.ts +23 -0
  21. package/dist/decorators/tool.decorator.d.ts.map +1 -0
  22. package/dist/decorators/tool.decorator.js +61 -0
  23. package/dist/decorators/tool.decorator.js.map +1 -0
  24. package/dist/events/event.emitter.d.ts +45 -0
  25. package/dist/events/event.emitter.d.ts.map +1 -0
  26. package/dist/events/event.emitter.js +96 -0
  27. package/dist/events/event.emitter.js.map +1 -0
  28. package/dist/executor/agent.executor.d.ts +57 -0
  29. package/dist/executor/agent.executor.d.ts.map +1 -0
  30. package/dist/executor/agent.executor.js +303 -0
  31. package/dist/executor/agent.executor.js.map +1 -0
  32. package/dist/executor/tool.executor.d.ts +53 -0
  33. package/dist/executor/tool.executor.d.ts.map +1 -0
  34. package/dist/executor/tool.executor.js +234 -0
  35. package/dist/executor/tool.executor.js.map +1 -0
  36. package/dist/index.d.ts +30 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.js +46 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/registry/agent.registry.d.ts +49 -0
  41. package/dist/registry/agent.registry.d.ts.map +1 -0
  42. package/dist/registry/agent.registry.js +90 -0
  43. package/dist/registry/agent.registry.js.map +1 -0
  44. package/dist/registry/tool.registry.d.ts +54 -0
  45. package/dist/registry/tool.registry.d.ts.map +1 -0
  46. package/dist/registry/tool.registry.js +153 -0
  47. package/dist/registry/tool.registry.js.map +1 -0
  48. package/dist/runtime/agent.runtime.d.ts +155 -0
  49. package/dist/runtime/agent.runtime.d.ts.map +1 -0
  50. package/dist/runtime/agent.runtime.extensions.d.ts +49 -0
  51. package/dist/runtime/agent.runtime.extensions.d.ts.map +1 -0
  52. package/dist/runtime/agent.runtime.extensions.js +93 -0
  53. package/dist/runtime/agent.runtime.extensions.js.map +1 -0
  54. package/dist/runtime/agent.runtime.js +347 -0
  55. package/dist/runtime/agent.runtime.js.map +1 -0
  56. package/dist/state/agent-state.interface.d.ts +63 -0
  57. package/dist/state/agent-state.interface.d.ts.map +1 -0
  58. package/dist/state/agent-state.interface.js +7 -0
  59. package/dist/state/agent-state.interface.js.map +1 -0
  60. package/dist/state/agent.state.d.ts +67 -0
  61. package/dist/state/agent.state.d.ts.map +1 -0
  62. package/dist/state/agent.state.js +172 -0
  63. package/dist/state/agent.state.js.map +1 -0
  64. package/dist/state/database-state.manager.d.ts +63 -0
  65. package/dist/state/database-state.manager.d.ts.map +1 -0
  66. package/dist/state/database-state.manager.js +282 -0
  67. package/dist/state/database-state.manager.js.map +1 -0
  68. package/dist/state/redis-state.manager.d.ts +81 -0
  69. package/dist/state/redis-state.manager.d.ts.map +1 -0
  70. package/dist/state/redis-state.manager.js +253 -0
  71. package/dist/state/redis-state.manager.js.map +1 -0
  72. package/dist/types/agent.types.d.ts +151 -0
  73. package/dist/types/agent.types.d.ts.map +1 -0
  74. package/dist/types/agent.types.js +32 -0
  75. package/dist/types/agent.types.js.map +1 -0
  76. package/dist/types/event.types.d.ts +123 -0
  77. package/dist/types/event.types.d.ts.map +1 -0
  78. package/dist/types/event.types.js +30 -0
  79. package/dist/types/event.types.js.map +1 -0
  80. package/dist/types/llm.types.d.ts +66 -0
  81. package/dist/types/llm.types.d.ts.map +1 -0
  82. package/dist/types/llm.types.js +7 -0
  83. package/dist/types/llm.types.js.map +1 -0
  84. package/dist/types/rag.types.d.ts +40 -0
  85. package/dist/types/rag.types.d.ts.map +1 -0
  86. package/dist/types/rag.types.js +7 -0
  87. package/dist/types/rag.types.js.map +1 -0
  88. package/dist/types/tool.types.d.ts +118 -0
  89. package/dist/types/tool.types.d.ts.map +1 -0
  90. package/dist/types/tool.types.js +19 -0
  91. package/dist/types/tool.types.js.map +1 -0
  92. package/dist/utils/circuit-breaker.d.ts +69 -0
  93. package/dist/utils/circuit-breaker.d.ts.map +1 -0
  94. package/dist/utils/circuit-breaker.js +156 -0
  95. package/dist/utils/circuit-breaker.js.map +1 -0
  96. package/dist/utils/health-check.d.ts +71 -0
  97. package/dist/utils/health-check.d.ts.map +1 -0
  98. package/dist/utils/health-check.js +156 -0
  99. package/dist/utils/health-check.js.map +1 -0
  100. package/dist/utils/logger.d.ts +53 -0
  101. package/dist/utils/logger.d.ts.map +1 -0
  102. package/dist/utils/logger.js +133 -0
  103. package/dist/utils/logger.js.map +1 -0
  104. package/dist/utils/metrics.d.ts +90 -0
  105. package/dist/utils/metrics.d.ts.map +1 -0
  106. package/dist/utils/metrics.js +186 -0
  107. package/dist/utils/metrics.js.map +1 -0
  108. package/dist/utils/rate-limiter.d.ts +44 -0
  109. package/dist/utils/rate-limiter.d.ts.map +1 -0
  110. package/dist/utils/rate-limiter.js +82 -0
  111. package/dist/utils/rate-limiter.js.map +1 -0
  112. package/dist/utils/retry.d.ts +42 -0
  113. package/dist/utils/retry.d.ts.map +1 -0
  114. package/dist/utils/retry.js +103 -0
  115. package/dist/utils/retry.js.map +1 -0
  116. package/package.json +58 -0
  117. 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":"AAAA;;;GAGG;AAKH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKpE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EAEb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAU,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,OAAO,CAAC,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,MAAM,GAAE,kBAAuB;IAwF3C;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI;IAIpE;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKjE;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAuDhC;;OAEG;YACW,qBAAqB;IAqEnC;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIhF;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAKxE;;OAEG;IACH,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAIjE;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAI9C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAIlE;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE;IAIrB;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,sBAAsB,EAAE,aAAa,GAAG,SAAS;IAI7F;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAY/C;;OAEG;IACH,UAAU,IAAI,OAAO,kBAAkB,EAAE,YAAY,GAAG,SAAS;IAIjE;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,oBAAoB,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE;IAOtE;;OAEG;IACH,uBAAuB,IAAI;QACzB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;IASD;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,qBAAqB,EAAE,YAAY,EAAE;IAI9E;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI5C;;OAEG;IACH,mBAAmB,IAAI,OAAO,qBAAqB,EAAE,mBAAmB,EAAE;IAI1E;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}
@@ -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"}