@mtkn/mega-agent 0.3.0 → 0.4.0

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 (162) hide show
  1. package/README.md +27 -0
  2. package/dist/artifact/artifact.repository.d.ts +2 -1
  3. package/dist/artifact/artifact.repository.d.ts.map +1 -1
  4. package/dist/artifact/artifact.repository.js +12 -2
  5. package/dist/artifact/artifact.repository.js.map +1 -1
  6. package/dist/artifact/artifact.service.d.ts +1 -0
  7. package/dist/artifact/artifact.service.d.ts.map +1 -1
  8. package/dist/artifact/artifact.service.js +11 -1
  9. package/dist/artifact/artifact.service.js.map +1 -1
  10. package/dist/artifact/index.d.ts +2 -2
  11. package/dist/artifact/index.d.ts.map +1 -1
  12. package/dist/artifact/index.js +2 -2
  13. package/dist/artifact/index.js.map +1 -1
  14. package/dist/chat/chat-memory.integration.d.ts +1 -0
  15. package/dist/chat/chat-memory.integration.d.ts.map +1 -1
  16. package/dist/chat/chat-memory.integration.js +9 -0
  17. package/dist/chat/chat-memory.integration.js.map +1 -1
  18. package/dist/chat/chat.repository.d.ts +2 -1
  19. package/dist/chat/chat.repository.d.ts.map +1 -1
  20. package/dist/chat/chat.repository.js +12 -2
  21. package/dist/chat/chat.repository.js.map +1 -1
  22. package/dist/chat/chat.service.d.ts +1 -0
  23. package/dist/chat/chat.service.d.ts.map +1 -1
  24. package/dist/chat/chat.service.js +15 -3
  25. package/dist/chat/chat.service.js.map +1 -1
  26. package/dist/chat/index.d.ts +3 -3
  27. package/dist/chat/index.d.ts.map +1 -1
  28. package/dist/chat/index.js +3 -3
  29. package/dist/chat/index.js.map +1 -1
  30. package/dist/common/errors.d.ts +6 -0
  31. package/dist/common/errors.d.ts.map +1 -1
  32. package/dist/common/errors.js +12 -0
  33. package/dist/common/errors.js.map +1 -1
  34. package/dist/common/index.d.ts +1 -0
  35. package/dist/common/index.d.ts.map +1 -1
  36. package/dist/common/index.js +1 -0
  37. package/dist/common/index.js.map +1 -1
  38. package/dist/common/url-validator.d.ts +10 -0
  39. package/dist/common/url-validator.d.ts.map +1 -0
  40. package/dist/common/url-validator.js +27 -0
  41. package/dist/common/url-validator.js.map +1 -0
  42. package/dist/create-mega-agent.d.ts +15 -2
  43. package/dist/create-mega-agent.d.ts.map +1 -1
  44. package/dist/create-mega-agent.js +251 -97
  45. package/dist/create-mega-agent.js.map +1 -1
  46. package/dist/embedding/embedding.service.d.ts +1 -0
  47. package/dist/embedding/embedding.service.d.ts.map +1 -1
  48. package/dist/embedding/embedding.service.js +9 -0
  49. package/dist/embedding/embedding.service.js.map +1 -1
  50. package/dist/embedding/index.d.ts +1 -1
  51. package/dist/embedding/index.d.ts.map +1 -1
  52. package/dist/embedding/index.js +1 -1
  53. package/dist/embedding/index.js.map +1 -1
  54. package/dist/http/error-handler.middleware.d.ts +9 -0
  55. package/dist/http/error-handler.middleware.d.ts.map +1 -0
  56. package/dist/http/error-handler.middleware.js +21 -0
  57. package/dist/http/error-handler.middleware.js.map +1 -0
  58. package/dist/incident/incident.correlator.d.ts +1 -0
  59. package/dist/incident/incident.correlator.d.ts.map +1 -1
  60. package/dist/incident/incident.correlator.js +9 -0
  61. package/dist/incident/incident.correlator.js.map +1 -1
  62. package/dist/incident/incident.detector.d.ts +1 -0
  63. package/dist/incident/incident.detector.d.ts.map +1 -1
  64. package/dist/incident/incident.detector.js +9 -0
  65. package/dist/incident/incident.detector.js.map +1 -1
  66. package/dist/incident/incident.repository.d.ts +2 -1
  67. package/dist/incident/incident.repository.d.ts.map +1 -1
  68. package/dist/incident/incident.repository.js +17 -7
  69. package/dist/incident/incident.repository.js.map +1 -1
  70. package/dist/incident/incident.service.d.ts +1 -0
  71. package/dist/incident/incident.service.d.ts.map +1 -1
  72. package/dist/incident/incident.service.js +11 -1
  73. package/dist/incident/incident.service.js.map +1 -1
  74. package/dist/incident/index.d.ts +4 -4
  75. package/dist/incident/index.d.ts.map +1 -1
  76. package/dist/incident/index.js +4 -4
  77. package/dist/incident/index.js.map +1 -1
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +1 -0
  81. package/dist/index.js.map +1 -1
  82. package/dist/llm/index.d.ts +2 -2
  83. package/dist/llm/index.d.ts.map +1 -1
  84. package/dist/llm/index.js +1 -1
  85. package/dist/llm/index.js.map +1 -1
  86. package/dist/llm/llm.service.d.ts +1 -0
  87. package/dist/llm/llm.service.d.ts.map +1 -1
  88. package/dist/llm/llm.service.js +9 -0
  89. package/dist/llm/llm.service.js.map +1 -1
  90. package/dist/llm/llm.types.d.ts +14 -8
  91. package/dist/llm/llm.types.d.ts.map +1 -1
  92. package/dist/llm/providers/anthropic.provider.d.ts.map +1 -1
  93. package/dist/llm/providers/anthropic.provider.js +64 -5
  94. package/dist/llm/providers/anthropic.provider.js.map +1 -1
  95. package/dist/llm/providers/openai.provider.d.ts +6 -0
  96. package/dist/llm/providers/openai.provider.d.ts.map +1 -1
  97. package/dist/llm/providers/openai.provider.js +202 -11
  98. package/dist/llm/providers/openai.provider.js.map +1 -1
  99. package/dist/mcp/index.d.ts +3 -3
  100. package/dist/mcp/index.d.ts.map +1 -1
  101. package/dist/mcp/index.js +3 -3
  102. package/dist/mcp/index.js.map +1 -1
  103. package/dist/mcp/mcp.service.d.ts +9 -0
  104. package/dist/mcp/mcp.service.d.ts.map +1 -1
  105. package/dist/mcp/mcp.service.js +31 -0
  106. package/dist/mcp/mcp.service.js.map +1 -1
  107. package/dist/mcp/source.repository.d.ts +2 -1
  108. package/dist/mcp/source.repository.d.ts.map +1 -1
  109. package/dist/mcp/source.repository.js +14 -4
  110. package/dist/mcp/source.repository.js.map +1 -1
  111. package/dist/mcp/source.service.d.ts +1 -0
  112. package/dist/mcp/source.service.d.ts.map +1 -1
  113. package/dist/mcp/source.service.js +11 -1
  114. package/dist/mcp/source.service.js.map +1 -1
  115. package/dist/memory/index.d.ts +2 -2
  116. package/dist/memory/index.d.ts.map +1 -1
  117. package/dist/memory/index.js +2 -2
  118. package/dist/memory/index.js.map +1 -1
  119. package/dist/memory/memory.repository.d.ts +2 -1
  120. package/dist/memory/memory.repository.d.ts.map +1 -1
  121. package/dist/memory/memory.repository.js +19 -9
  122. package/dist/memory/memory.repository.js.map +1 -1
  123. package/dist/memory/memory.service.d.ts +2 -1
  124. package/dist/memory/memory.service.d.ts.map +1 -1
  125. package/dist/memory/memory.service.js +13 -2
  126. package/dist/memory/memory.service.js.map +1 -1
  127. package/dist/qdrant/qdrant.service.d.ts +1 -0
  128. package/dist/qdrant/qdrant.service.d.ts.map +1 -1
  129. package/dist/qdrant/qdrant.service.js +11 -1
  130. package/dist/qdrant/qdrant.service.js.map +1 -1
  131. package/dist/qdrant/qdrant.types.d.ts +5 -0
  132. package/dist/qdrant/qdrant.types.d.ts.map +1 -1
  133. package/dist/types/index.d.ts +1 -0
  134. package/dist/types/index.d.ts.map +1 -1
  135. package/dist/types/index.js +1 -1
  136. package/dist/types/index.js.map +1 -1
  137. package/dist/types/prisma-helpers.d.ts +18 -0
  138. package/dist/types/prisma-helpers.d.ts.map +1 -0
  139. package/dist/types/prisma-helpers.js +8 -0
  140. package/dist/types/prisma-helpers.js.map +1 -0
  141. package/dist/workflow/actions/base.action.d.ts +3 -1
  142. package/dist/workflow/actions/base.action.d.ts.map +1 -1
  143. package/dist/workflow/actions/base.action.js +2 -0
  144. package/dist/workflow/actions/base.action.js.map +1 -1
  145. package/dist/workflow/actions/notify.action.d.ts.map +1 -1
  146. package/dist/workflow/actions/notify.action.js +15 -5
  147. package/dist/workflow/actions/notify.action.js.map +1 -1
  148. package/dist/workflow/index.d.ts +2 -2
  149. package/dist/workflow/index.d.ts.map +1 -1
  150. package/dist/workflow/index.js +2 -2
  151. package/dist/workflow/index.js.map +1 -1
  152. package/dist/workflow/workflow.repository.d.ts +1 -0
  153. package/dist/workflow/workflow.repository.d.ts.map +1 -1
  154. package/dist/workflow/workflow.repository.js +13 -3
  155. package/dist/workflow/workflow.repository.js.map +1 -1
  156. package/dist/workflow/workflow.service.d.ts +1 -0
  157. package/dist/workflow/workflow.service.d.ts.map +1 -1
  158. package/dist/workflow/workflow.service.js +44 -20
  159. package/dist/workflow/workflow.service.js.map +1 -1
  160. package/dist/workflow/workflow.types.d.ts +17 -0
  161. package/dist/workflow/workflow.types.d.ts.map +1 -1
  162. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './errors.js';
2
2
  export * from './retry.js';
3
+ export * from './url-validator.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * URL Validation — SSRF Protection
3
+ * Validates that outbound URLs are safe for server-side requests.
4
+ */
5
+ /**
6
+ * Checks if a URL is safe for outbound requests.
7
+ * Blocks private/internal IPs, non-HTTP protocols, and localhost.
8
+ */
9
+ export declare function isAllowedUrl(url: string): boolean;
10
+ //# sourceMappingURL=url-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-validator.d.ts","sourceRoot":"","sources":["../../src/common/url-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAYjD"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * URL Validation — SSRF Protection
3
+ * Validates that outbound URLs are safe for server-side requests.
4
+ */
5
+ /**
6
+ * Checks if a URL is safe for outbound requests.
7
+ * Blocks private/internal IPs, non-HTTP protocols, and localhost.
8
+ */
9
+ export function isAllowedUrl(url) {
10
+ try {
11
+ const parsed = new URL(url);
12
+ if (!['http:', 'https:'].includes(parsed.protocol))
13
+ return false;
14
+ const hostname = parsed.hostname;
15
+ if (hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1')
16
+ return false;
17
+ if (hostname.startsWith('10.') || hostname.startsWith('192.168.') || hostname.startsWith('169.254.'))
18
+ return false;
19
+ if (/^172\.(1[6-9]|2\d|3[01])\./.test(hostname))
20
+ return false;
21
+ return true;
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ }
27
+ //# sourceMappingURL=url-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-validator.js","sourceRoot":"","sources":["../../src/common/url-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC7F,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QACnH,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -19,8 +19,12 @@
19
19
  * app.use('/api/chat', agent.createChatRouter(authMiddleware));
20
20
  * ```
21
21
  *
22
- * **Warning:** Calling this function more than once will overwrite global
23
- * service state (all services use module-level singletons).
22
+ * **Warning:** Calling this function more than once without calling `dispose()`
23
+ * first will throw an `AlreadyInitializedError`.
24
+ *
25
+ * **Note:** MCP services (McpService, SourceService) are not managed by
26
+ * this factory. If used, they must be initialized and disposed separately.
27
+ * `disposeMcpService()` is async and must be awaited.
24
28
  */
25
29
  import type { Router } from 'express';
26
30
  import type { Prisma, PrismaClient } from '@prisma/client';
@@ -51,6 +55,11 @@ export interface MegaAgentMemoryConfig {
51
55
  host: string;
52
56
  port: number;
53
57
  apiKey?: string;
58
+ /** Type of userId used by the host application.
59
+ * - 'number' (default) — autoincrement / numeric IDs
60
+ * - 'string' — uuid, cuid, or other string IDs
61
+ */
62
+ userIdType?: 'string' | 'number';
54
63
  };
55
64
  }
56
65
  /** Top-level factory config */
@@ -84,6 +93,10 @@ export interface MegaAgent {
84
93
  promptOptions: MegaAgentPromptOptions;
85
94
  /** Create an Express router for /api/chat endpoints */
86
95
  createChatRouter(authMiddleware: AuthMiddleware): Router;
96
+ /** Create an Express error-handler middleware that formats MegaAgentError responses and hides stack traces in production. */
97
+ createErrorHandler(): (err: Error, req: import('express').Request, res: import('express').Response, next: import('express').NextFunction) => void;
98
+ /** Dispose all services and reset module state. Must be called before re-initializing. */
99
+ dispose(): void;
87
100
  }
88
101
  /**
89
102
  * Initialize the full Mega Agent stack and return a configured agent.
@@ -1 +1 @@
1
- {"version":3,"file":"create-mega-agent.d.ts","sourceRoot":"","sources":["../src/create-mega-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAkB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAwB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAmB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAgBtE,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,iBAAiB,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC,iBAAiB,GAAG,YAAY,CAAC;IAChD,sBAAsB;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,0DAA0D;IAC1D,GAAG,EAAE;QACH,SAAS,EAAE,iBAAiB,EAAE,CAAC;KAChC,CAAC;IACF,iDAAiD;IACjD,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,uCAAuC;IACvC,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC;AAID,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAED,iCAAiC;AACjC,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,wDAAwD;IACxD,aAAa,EAAE,sBAAsB,CAAC;IACtC,uDAAuD;IACvD,gBAAgB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAAC;CAC1D;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAiHjF"}
1
+ {"version":3,"file":"create-mega-agent.d.ts","sourceRoot":"","sources":["../src/create-mega-agent.ts"],"names":[],"mappings":"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"}
@@ -19,26 +19,34 @@
19
19
  * app.use('/api/chat', agent.createChatRouter(authMiddleware));
20
20
  * ```
21
21
  *
22
- * **Warning:** Calling this function more than once will overwrite global
23
- * service state (all services use module-level singletons).
22
+ * **Warning:** Calling this function more than once without calling `dispose()`
23
+ * first will throw an `AlreadyInitializedError`.
24
+ *
25
+ * **Note:** MCP services (McpService, SourceService) are not managed by
26
+ * this factory. If used, they must be initialized and disposed separately.
27
+ * `disposeMcpService()` is async and must be awaited.
24
28
  */
25
29
  // Service init functions & classes
26
- import { initLLMService, LLMService } from './llm/index.js';
27
- import { initEmbeddingService, EmbeddingService } from './embedding/index.js';
28
- import { initQdrantService, QdrantService } from './qdrant/index.js';
29
- import { initMemoryService, MemoryService } from './memory/index.js';
30
- import { initChatService, ChatService } from './chat/chat.service.js';
31
- import { initChatMemoryIntegration } from './chat/chat-memory.integration.js';
32
- import { initWorkflowService } from './workflow/index.js';
33
- import { initIncidentService } from './incident/index.js';
34
- import { initArtifactService } from './artifact/index.js';
30
+ import { initLLMService, LLMService, disposeLLMService } from './llm/index.js';
31
+ import { initEmbeddingService, EmbeddingService, disposeEmbeddingService } from './embedding/index.js';
32
+ import { initQdrantService, QdrantService, disposeQdrantService } from './qdrant/index.js';
33
+ import { initMemoryService, MemoryService, disposeMemoryService } from './memory/index.js';
34
+ import { initChatService, ChatService, disposeChatService } from './chat/chat.service.js';
35
+ import { initChatMemoryIntegration, disposeChatMemoryIntegration } from './chat/chat-memory.integration.js';
36
+ import { initWorkflowService, disposeWorkflowService } from './workflow/index.js';
37
+ import { initIncidentService, disposeIncidentService } from './incident/index.js';
38
+ import { initArtifactService, disposeArtifactService } from './artifact/index.js';
39
+ import { AlreadyInitializedError, ConfigValidationError, MegaAgentError } from './common/errors.js';
35
40
  // Tools
36
41
  import { registerTools } from './tools/tool-registry.js';
37
42
  import { CORE_TOOLS } from './tools/core-tools.js';
38
43
  // HTTP
39
44
  import { ChatController } from './http/chat.controller.js';
40
45
  import { createChatRoutes } from './http/chat.routes.js';
46
+ import { createErrorHandler } from './http/error-handler.middleware.js';
41
47
  // ── Factory ───────────────────────────────────────────────────────
48
+ let _megaAgentInitialized = false;
49
+ let _megaAgentInitializing = false;
42
50
  /**
43
51
  * Initialize the full Mega Agent stack and return a configured agent.
44
52
  *
@@ -51,103 +59,249 @@ import { createChatRoutes } from './http/chat.routes.js';
51
59
  * 6. Chat + ChatMemoryIntegration
52
60
  */
53
61
  export async function createMegaAgent(config) {
54
- const { prisma, logger, llm, memory: memoryConfig, agent: agentOptions } = config;
55
- // ── 1. LLM ────────────────────────────────────────────────────
56
- if (llm.providers.length === 0) {
57
- logger.warn('[MegaAgent] No LLM providers configured');
62
+ if (_megaAgentInitialized) {
63
+ throw new AlreadyInitializedError('MegaAgent');
58
64
  }
59
- initLLMService({ logger, config: llm.providers });
60
- const llmService = new LLMService();
61
- logger.info('[MegaAgent] LLM service initialized');
62
- // ── 2. Memory sub-system (optional) ───────────────────────────
65
+ if (_megaAgentInitializing) {
66
+ throw new MegaAgentError('MegaAgent initialization already in progress', 'INIT_IN_PROGRESS', 409);
67
+ }
68
+ // ── Config validation (H8) ──────────────────────────────────
69
+ if (!config.prisma)
70
+ throw new ConfigValidationError('prisma client is required');
71
+ if (!config.logger)
72
+ throw new ConfigValidationError('logger is required');
73
+ if (!config.llm?.providers)
74
+ throw new ConfigValidationError('llm.providers is required');
75
+ _megaAgentInitializing = true;
76
+ const { prisma, logger, llm, memory: memoryConfig, agent: agentOptions } = config;
77
+ // Track initialization state for rollback (H2)
63
78
  let memoryService = null;
64
79
  let embeddingService = null;
65
80
  let qdrantService = null;
66
- if (memoryConfig) {
81
+ let workflowInitialized = false;
82
+ let incidentInitialized = false;
83
+ let artifactInitialized = false;
84
+ let chatInitialized = false;
85
+ let chatMemoryInitialized = false;
86
+ try {
87
+ // ── 1. LLM ────────────────────────────────────────────────────
88
+ if (llm.providers.length === 0) {
89
+ throw new ConfigValidationError('At least one LLM provider must be configured');
90
+ }
91
+ initLLMService({ logger, config: llm.providers });
92
+ const llmService = new LLMService();
93
+ logger.info('[MegaAgent] LLM service initialized');
94
+ if (memoryConfig) {
95
+ try {
96
+ // Embedding
97
+ initEmbeddingService({
98
+ logger,
99
+ apiKey: memoryConfig.embedding.apiKey,
100
+ provider: memoryConfig.embedding.provider ?? 'openai',
101
+ defaultModel: memoryConfig.embedding.defaultModel,
102
+ });
103
+ embeddingService = new EmbeddingService();
104
+ logger.info('[MegaAgent] Embedding service initialized');
105
+ // Qdrant
106
+ initQdrantService({
107
+ logger,
108
+ host: memoryConfig.qdrant.host,
109
+ port: memoryConfig.qdrant.port,
110
+ apiKey: memoryConfig.qdrant.apiKey,
111
+ userIdType: memoryConfig.qdrant.userIdType,
112
+ });
113
+ qdrantService = new QdrantService();
114
+ logger.info('[MegaAgent] Qdrant service initialized');
115
+ // Memory
116
+ initMemoryService({ prisma, logger, embeddingService, qdrantService });
117
+ memoryService = new MemoryService();
118
+ logger.info('[MegaAgent] Memory service initialized');
119
+ // Initialize Qdrant collection (fire-and-forget)
120
+ qdrantService
121
+ .initializeMemoryCollection(embeddingService.getDimensions())
122
+ .catch((err) => logger.error('[MegaAgent] Failed to init Qdrant memory collection', {
123
+ error: String(err),
124
+ }));
125
+ }
126
+ catch (err) {
127
+ logger.warn('[MegaAgent] Memory sub-system init failed, continuing without memory', {
128
+ error: String(err),
129
+ });
130
+ // Cleanup partially initialized modules to avoid orphaned _initialized state
131
+ try {
132
+ disposeMemoryService();
133
+ }
134
+ catch { /* not initialized */ }
135
+ try {
136
+ disposeQdrantService();
137
+ }
138
+ catch { /* not initialized */ }
139
+ try {
140
+ disposeEmbeddingService();
141
+ }
142
+ catch { /* not initialized */ }
143
+ memoryService = null;
144
+ embeddingService = null;
145
+ qdrantService = null;
146
+ }
147
+ }
148
+ // ── 3. Core tools (only if memory available) ──────────────────
149
+ if (memoryService) {
150
+ registerTools(CORE_TOOLS);
151
+ logger.info('[MegaAgent] Core tools registered');
152
+ }
153
+ // ── 4. Workflow + Incident + Artifact ─────────────────────────
154
+ initWorkflowService({ prisma, logger });
155
+ workflowInitialized = true;
156
+ logger.info('[MegaAgent] Workflow service initialized');
67
157
  try {
68
- // Embedding
69
- initEmbeddingService({
70
- logger,
71
- apiKey: memoryConfig.embedding.apiKey,
72
- provider: memoryConfig.embedding.provider ?? 'openai',
73
- defaultModel: memoryConfig.embedding.defaultModel,
74
- });
75
- embeddingService = new EmbeddingService();
76
- logger.info('[MegaAgent] Embedding service initialized');
77
- // Qdrant
78
- initQdrantService({
79
- logger,
80
- host: memoryConfig.qdrant.host,
81
- port: memoryConfig.qdrant.port,
82
- apiKey: memoryConfig.qdrant.apiKey,
83
- });
84
- qdrantService = new QdrantService();
85
- logger.info('[MegaAgent] Qdrant service initialized');
86
- // Memory
87
- initMemoryService({ prisma, logger, embeddingService, qdrantService });
88
- memoryService = new MemoryService();
89
- logger.info('[MegaAgent] Memory service initialized');
90
- // Initialize Qdrant collection (fire-and-forget)
91
- qdrantService
92
- .initializeMemoryCollection(embeddingService.getDimensions())
93
- .catch((err) => logger.error('[MegaAgent] Failed to init Qdrant memory collection', {
94
- error: String(err),
95
- }));
158
+ initIncidentService({ prisma, logger });
159
+ incidentInitialized = true;
160
+ logger.info('[MegaAgent] Incident service initialized');
96
161
  }
97
162
  catch (err) {
98
- logger.warn('[MegaAgent] Memory sub-system init failed, continuing without memory', {
99
- error: String(err),
100
- });
101
- memoryService = null;
102
- embeddingService = null;
103
- qdrantService = null;
163
+ logger.warn('[MegaAgent] Incident service init failed', { error: String(err) });
104
164
  }
105
- }
106
- // ── 3. Core tools (only if memory available) ──────────────────
107
- if (memoryService) {
108
- registerTools(CORE_TOOLS);
109
- logger.info('[MegaAgent] Core tools registered');
110
- }
111
- // ── 4. Workflow + Incident + Artifact ─────────────────────────
112
- initWorkflowService({ prisma, logger });
113
- logger.info('[MegaAgent] Workflow service initialized');
114
- try {
115
- initIncidentService({ prisma, logger });
116
- logger.info('[MegaAgent] Incident service initialized');
165
+ initArtifactService({ prisma, logger });
166
+ artifactInitialized = true;
167
+ logger.info('[MegaAgent] Artifact service initialized');
168
+ // ── 5. Chat + Memory Integration ──────────────────────────────
169
+ initChatService({
170
+ prisma,
171
+ logger,
172
+ llmService,
173
+ memoryService: memoryService ?? undefined,
174
+ });
175
+ chatInitialized = true;
176
+ const chatService = new ChatService();
177
+ logger.info('[MegaAgent] Chat service initialized');
178
+ if (memoryService) {
179
+ initChatMemoryIntegration({ logger, memoryService, chatService });
180
+ chatMemoryInitialized = true;
181
+ logger.info('[MegaAgent] Chat memory integration initialized');
182
+ }
183
+ // ── Return ────────────────────────────────────────────────────
184
+ const services = {
185
+ chat: chatService,
186
+ llm: llmService,
187
+ memory: memoryService,
188
+ embedding: embeddingService,
189
+ qdrant: qdrantService,
190
+ };
191
+ const memoryInitialized = memoryService !== null;
192
+ _megaAgentInitialized = true;
193
+ return {
194
+ services,
195
+ promptOptions: agentOptions ?? {},
196
+ createChatRouter(authMiddleware) {
197
+ const controller = new ChatController(chatService);
198
+ return createChatRoutes(controller, authMiddleware);
199
+ },
200
+ createErrorHandler() {
201
+ return createErrorHandler({ logger });
202
+ },
203
+ dispose() {
204
+ if (!_megaAgentInitialized)
205
+ return;
206
+ _megaAgentInitialized = false;
207
+ // Reverse order of initialization
208
+ if (chatMemoryInitialized)
209
+ try {
210
+ disposeChatMemoryIntegration();
211
+ }
212
+ catch { /* ignore */ }
213
+ if (chatInitialized)
214
+ try {
215
+ disposeChatService();
216
+ }
217
+ catch { /* ignore */ }
218
+ if (artifactInitialized)
219
+ try {
220
+ disposeArtifactService();
221
+ }
222
+ catch { /* ignore */ }
223
+ if (incidentInitialized)
224
+ try {
225
+ disposeIncidentService();
226
+ }
227
+ catch { /* ignore */ }
228
+ if (workflowInitialized)
229
+ try {
230
+ disposeWorkflowService();
231
+ }
232
+ catch { /* ignore */ }
233
+ if (memoryInitialized) {
234
+ try {
235
+ disposeMemoryService();
236
+ }
237
+ catch { /* ignore */ }
238
+ try {
239
+ disposeQdrantService();
240
+ }
241
+ catch { /* ignore */ }
242
+ try {
243
+ disposeEmbeddingService();
244
+ }
245
+ catch { /* ignore */ }
246
+ }
247
+ try {
248
+ disposeLLMService();
249
+ }
250
+ catch { /* ignore */ }
251
+ logger.info('[MegaAgent] All services disposed');
252
+ },
253
+ };
117
254
  }
118
255
  catch (err) {
119
- logger.warn('[MegaAgent] Incident service init failed', { error: String(err) });
256
+ // H2: Rollback dispose any services that were successfully initialized
257
+ logger.error('[MegaAgent] Initialization failed, rolling back', { error: String(err) });
258
+ if (chatMemoryInitialized)
259
+ try {
260
+ disposeChatMemoryIntegration();
261
+ }
262
+ catch { /* */ }
263
+ if (chatInitialized)
264
+ try {
265
+ disposeChatService();
266
+ }
267
+ catch { /* */ }
268
+ if (artifactInitialized)
269
+ try {
270
+ disposeArtifactService();
271
+ }
272
+ catch { /* */ }
273
+ if (incidentInitialized)
274
+ try {
275
+ disposeIncidentService();
276
+ }
277
+ catch { /* */ }
278
+ if (workflowInitialized)
279
+ try {
280
+ disposeWorkflowService();
281
+ }
282
+ catch { /* */ }
283
+ if (memoryService) {
284
+ try {
285
+ disposeMemoryService();
286
+ }
287
+ catch { /* */ }
288
+ try {
289
+ disposeQdrantService();
290
+ }
291
+ catch { /* */ }
292
+ try {
293
+ disposeEmbeddingService();
294
+ }
295
+ catch { /* */ }
296
+ }
297
+ try {
298
+ disposeLLMService();
299
+ }
300
+ catch { /* */ }
301
+ throw err;
120
302
  }
121
- initArtifactService({ prisma, logger });
122
- logger.info('[MegaAgent] Artifact service initialized');
123
- // ── 5. Chat + Memory Integration ──────────────────────────────
124
- initChatService({
125
- prisma,
126
- logger,
127
- llmService,
128
- memoryService: memoryService ?? undefined,
129
- });
130
- const chatService = new ChatService();
131
- logger.info('[MegaAgent] Chat service initialized');
132
- if (memoryService) {
133
- initChatMemoryIntegration({ logger, memoryService, chatService });
134
- logger.info('[MegaAgent] Chat memory integration initialized');
303
+ finally {
304
+ _megaAgentInitializing = false;
135
305
  }
136
- // ── Return ────────────────────────────────────────────────────
137
- const services = {
138
- chat: chatService,
139
- llm: llmService,
140
- memory: memoryService,
141
- embedding: embeddingService,
142
- qdrant: qdrantService,
143
- };
144
- return {
145
- services,
146
- promptOptions: agentOptions ?? {},
147
- createChatRouter(authMiddleware) {
148
- const controller = new ChatController(chatService);
149
- return createChatRoutes(controller, authMiddleware);
150
- },
151
- };
152
306
  }
153
307
  //# sourceMappingURL=create-mega-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-mega-agent.js","sourceRoot":"","sources":["../src/create-mega-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-mega-agent.js","sourceRoot":"","sources":["../src/create-mega-agent.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import type { EmbeddingResponse, EmbeddingBatchResponse, EmbeddingServiceDepende
7
7
  * Initialize the Embedding service with dependencies
8
8
  */
9
9
  export declare function initEmbeddingService(deps: EmbeddingServiceDependencies): void;
10
+ export declare function disposeEmbeddingService(): void;
10
11
  /**
11
12
  * Get the current service dependencies
12
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.service.d.ts","sourceRoot":"","sources":["../../src/embedding/embedding.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAK9B;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CAE7E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,4BAA4B,GAAG,IAAI,CAE7E;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAA0B;;IAsB1C;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIrE;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIlF;;OAEG;IACH,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;CAiB1D"}
1
+ {"version":3,"file":"embedding.service.d.ts","sourceRoot":"","sources":["../../src/embedding/embedding.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAO9B;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,4BAA4B,GAAG,IAAI,CAI7E;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,4BAA4B,GAAG,IAAI,CAE7E;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAA0B;;IAsB1C;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIrE;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIlF;;OAEG;IACH,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;CAiB1D"}
@@ -3,12 +3,21 @@
3
3
  * Main service for embedding operations with multi-provider support
4
4
  */
5
5
  import { OpenAIEmbeddingProvider } from './providers/openai.provider.js';
6
+ import { AlreadyInitializedError } from '../common/errors.js';
6
7
  let _deps = null;
8
+ let _initialized = false;
7
9
  /**
8
10
  * Initialize the Embedding service with dependencies
9
11
  */
10
12
  export function initEmbeddingService(deps) {
13
+ if (_initialized)
14
+ throw new AlreadyInitializedError('EmbeddingService');
11
15
  _deps = deps;
16
+ _initialized = true;
17
+ }
18
+ export function disposeEmbeddingService() {
19
+ _deps = null;
20
+ _initialized = false;
12
21
  }
13
22
  /**
14
23
  * Get the current service dependencies
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.service.js","sourceRoot":"","sources":["../../src/embedding/embedding.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,IAAI,KAAK,GAAwC,IAAI,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAkC;IACrE,KAAK,GAAG,IAAI,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAA0B;IAE1C;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CACzC,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,YAAY,CACnB,CAAC;QAEF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAChD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ;YACpC,KAAK,EAAE,KAAK,CAAC,YAAY,IAAI,wBAAwB;SACtD,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,KAAc;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe,EAAE,KAAc;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAc;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAW,EAAE,CAAW;QAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF"}
1
+ {"version":3,"file":"embedding.service.js","sourceRoot":"","sources":["../../src/embedding/embedding.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,IAAI,KAAK,GAAwC,IAAI,CAAC;AACtD,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAkC;IACrE,IAAI,YAAY;QAAE,MAAM,IAAI,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IACxE,KAAK,GAAG,IAAI,CAAC;IACb,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,KAAK,GAAG,IAAI,CAAC;IACb,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAA0B;IAE1C;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAuB,CACzC,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,YAAY,CACnB,CAAC;QAEF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAChD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ;YACpC,KAAK,EAAE,KAAK,CAAC,YAAY,IAAI,wBAAwB;SACtD,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,KAAc;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe,EAAE,KAAc;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAc;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAW,EAAE,CAAW;QAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -4,6 +4,6 @@
4
4
  */
5
5
  export type { EmbeddingProvider, EmbeddingRequest, EmbeddingBatchRequest, EmbeddingResponse, EmbeddingBatchResponse, EmbeddingServiceDependencies } from './embedding.types.js';
6
6
  export type { LoggerLike as EmbeddingLoggerLike } from './embedding.types.js';
7
- export { EmbeddingService, initEmbeddingService, getEmbeddingServiceDeps } from './embedding.service.js';
7
+ export { EmbeddingService, initEmbeddingService, getEmbeddingServiceDeps, disposeEmbeddingService, } from './embedding.service.js';
8
8
  export { BaseEmbeddingProvider, OpenAIEmbeddingProvider } from './providers/index.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG9E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Export all Embedding service components
4
4
  */
5
5
  // Service
6
- export { EmbeddingService, initEmbeddingService, getEmbeddingServiceDeps } from './embedding.service.js';
6
+ export { EmbeddingService, initEmbeddingService, getEmbeddingServiceDeps, disposeEmbeddingService, } from './embedding.service.js';
7
7
  // Providers
8
8
  export { BaseEmbeddingProvider, OpenAIEmbeddingProvider } from './providers/index.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAEhC,YAAY;AACZ,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,YAAY;AACZ,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Request, Response, NextFunction } from 'express';
2
+ export interface ErrorHandlerOptions {
3
+ logger?: {
4
+ error(message: string, meta?: object): void;
5
+ };
6
+ verbose?: boolean;
7
+ }
8
+ export declare function createErrorHandler(options?: ErrorHandlerOptions): (err: Error, _req: Request, res: Response, _next: NextFunction) => void;
9
+ //# sourceMappingURL=error-handler.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.middleware.d.ts","sourceRoot":"","sources":["../../src/http/error-handler.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,mBAAmB,IACtD,KAAK,KAAK,EAAE,MAAM,OAAO,EAAE,KAAK,QAAQ,EAAE,OAAO,YAAY,KAAG,IAAI,CAmB7E"}