@taico/taico 0.4.0 → 0.5.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 (282) hide show
  1. package/README.md +1 -1
  2. package/dist/ai-providers/ai-model-selection.entity.d.ts +11 -0
  3. package/dist/ai-providers/ai-model-selection.entity.js +58 -0
  4. package/dist/ai-providers/ai-model-selection.entity.js.map +1 -0
  5. package/dist/ai-providers/ai-model-selections.controller.d.ts +12 -0
  6. package/dist/ai-providers/ai-model-selections.controller.js +102 -0
  7. package/dist/ai-providers/ai-model-selections.controller.js.map +1 -0
  8. package/dist/ai-providers/ai-model-selections.service.d.ts +19 -0
  9. package/dist/ai-providers/ai-model-selections.service.js +113 -0
  10. package/dist/ai-providers/ai-model-selections.service.js.map +1 -0
  11. package/dist/ai-providers/ai-provider-models.service.d.ts +14 -0
  12. package/dist/ai-providers/ai-provider-models.service.js +196 -0
  13. package/dist/ai-providers/ai-provider-models.service.js.map +1 -0
  14. package/dist/{chat-providers/chat-provider.entity.d.ts → ai-providers/ai-provider.entity.d.ts} +6 -4
  15. package/dist/{chat-providers/chat-provider.entity.js → ai-providers/ai-provider.entity.js} +31 -21
  16. package/dist/ai-providers/ai-provider.entity.js.map +1 -0
  17. package/dist/ai-providers/ai-providers.controller.d.ts +20 -0
  18. package/dist/ai-providers/ai-providers.controller.js +177 -0
  19. package/dist/ai-providers/ai-providers.controller.js.map +1 -0
  20. package/dist/ai-providers/ai-providers.module.d.ts +2 -0
  21. package/dist/ai-providers/ai-providers.module.js +36 -0
  22. package/dist/ai-providers/ai-providers.module.js.map +1 -0
  23. package/dist/ai-providers/ai-providers.scopes.d.ts +20 -0
  24. package/dist/ai-providers/ai-providers.scopes.js +23 -0
  25. package/dist/ai-providers/ai-providers.scopes.js.map +1 -0
  26. package/dist/ai-providers/ai-providers.service.d.ts +20 -0
  27. package/dist/ai-providers/ai-providers.service.js +200 -0
  28. package/dist/ai-providers/ai-providers.service.js.map +1 -0
  29. package/dist/ai-providers/dto/http/ai-model-selection-params.dto.d.ts +4 -0
  30. package/dist/{chat-providers/dto/http/set-active-chat-provider.dto.js → ai-providers/dto/http/ai-model-selection-params.dto.js} +11 -10
  31. package/dist/ai-providers/dto/http/ai-model-selection-params.dto.js.map +1 -0
  32. package/dist/ai-providers/dto/http/ai-model-selection-response.dto.d.ts +10 -0
  33. package/dist/ai-providers/dto/http/ai-model-selection-response.dto.js +83 -0
  34. package/dist/ai-providers/dto/http/ai-model-selection-response.dto.js.map +1 -0
  35. package/dist/ai-providers/dto/http/ai-provider-model-response.dto.d.ts +6 -0
  36. package/dist/ai-providers/dto/http/ai-provider-model-response.dto.js +45 -0
  37. package/dist/ai-providers/dto/http/ai-provider-model-response.dto.js.map +1 -0
  38. package/dist/ai-providers/dto/http/ai-provider-params.dto.d.ts +3 -0
  39. package/dist/{chat-providers/dto/http/chat-provider-params.dto.js → ai-providers/dto/http/ai-provider-params.dto.js} +6 -6
  40. package/dist/ai-providers/dto/http/ai-provider-params.dto.js.map +1 -0
  41. package/dist/ai-providers/dto/http/ai-provider-response.dto.d.ts +14 -0
  42. package/dist/{chat-providers/dto/http/chat-provider-response.dto.js → ai-providers/dto/http/ai-provider-response.dto.js} +45 -23
  43. package/dist/ai-providers/dto/http/ai-provider-response.dto.js.map +1 -0
  44. package/dist/ai-providers/dto/http/create-ai-provider.dto.d.ts +9 -0
  45. package/dist/ai-providers/dto/http/create-ai-provider.dto.js +90 -0
  46. package/dist/ai-providers/dto/http/create-ai-provider.dto.js.map +1 -0
  47. package/dist/ai-providers/dto/http/set-ai-model-selection.dto.d.ts +4 -0
  48. package/dist/{chat-providers/dto/http/create-chat-provider.dto.js → ai-providers/dto/http/set-ai-model-selection.dto.js} +15 -28
  49. package/dist/ai-providers/dto/http/set-ai-model-selection.dto.js.map +1 -0
  50. package/dist/ai-providers/dto/http/update-ai-provider.dto.d.ts +8 -0
  51. package/dist/ai-providers/dto/http/update-ai-provider.dto.js +88 -0
  52. package/dist/ai-providers/dto/http/update-ai-provider.dto.js.map +1 -0
  53. package/dist/ai-providers/dto/service/ai-providers.service.types.d.ts +62 -0
  54. package/dist/{threads/backends/chat-backend.interface.js → ai-providers/dto/service/ai-providers.service.types.js} +1 -1
  55. package/dist/ai-providers/dto/service/ai-providers.service.types.js.map +1 -0
  56. package/dist/ai-providers/enums/ai-model-job.enum.d.ts +7 -0
  57. package/dist/ai-providers/enums/ai-model-job.enum.js +15 -0
  58. package/dist/ai-providers/enums/ai-model-job.enum.js.map +1 -0
  59. package/dist/ai-providers/enums/ai-model-kind.enum.d.ts +4 -0
  60. package/dist/ai-providers/enums/ai-model-kind.enum.js +9 -0
  61. package/dist/ai-providers/enums/ai-model-kind.enum.js.map +1 -0
  62. package/dist/ai-providers/enums/ai-provider-type.enum.d.ts +8 -0
  63. package/dist/ai-providers/enums/ai-provider-type.enum.js +13 -0
  64. package/dist/ai-providers/enums/ai-provider-type.enum.js.map +1 -0
  65. package/dist/ai-providers/enums/index.d.ts +3 -0
  66. package/dist/{chat-providers → ai-providers}/enums/index.js +3 -1
  67. package/dist/ai-providers/enums/index.js.map +1 -0
  68. package/dist/ai-providers/errors/ai-providers.errors.d.ts +30 -0
  69. package/dist/ai-providers/errors/ai-providers.errors.js +57 -0
  70. package/dist/ai-providers/errors/ai-providers.errors.js.map +1 -0
  71. package/dist/ai-providers/google-environment.d.ts +3 -0
  72. package/dist/ai-providers/google-environment.js +18 -0
  73. package/dist/ai-providers/google-environment.js.map +1 -0
  74. package/dist/app-init/app-init.module.js +2 -2
  75. package/dist/app-init/app-init.module.js.map +1 -1
  76. package/dist/app-init/app-init.runner.d.ts +4 -4
  77. package/dist/app-init/app-init.runner.js +27 -21
  78. package/dist/app-init/app-init.runner.js.map +1 -1
  79. package/dist/app-init/mcp/internal-worker-auth.mcp.d.ts +2 -0
  80. package/dist/app-init/mcp/internal-worker-auth.mcp.js +13 -1
  81. package/dist/app-init/mcp/internal-worker-auth.mcp.js.map +1 -1
  82. package/dist/app.module.js +15 -3
  83. package/dist/app.module.js.map +1 -1
  84. package/dist/auth/core/constants/internal-auth-target.constant.d.ts +1 -1
  85. package/dist/auth/core/constants/internal-auth-target.constant.js +6 -1
  86. package/dist/auth/core/constants/internal-auth-target.constant.js.map +1 -1
  87. package/dist/auth/core/scopes/all-api.scopes.js +2 -2
  88. package/dist/auth/core/scopes/all-api.scopes.js.map +1 -1
  89. package/dist/common/postgres-io.adapter.d.ts +12 -0
  90. package/dist/common/postgres-io.adapter.js +62 -0
  91. package/dist/common/postgres-io.adapter.js.map +1 -0
  92. package/dist/config/env.config.d.ts +1 -0
  93. package/dist/config/env.config.js +9 -0
  94. package/dist/config/env.config.js.map +1 -1
  95. package/dist/discovery/discovery.service.js +1 -0
  96. package/dist/discovery/discovery.service.js.map +1 -1
  97. package/dist/errors/http/error-catalog.js +20 -14
  98. package/dist/errors/http/error-catalog.js.map +1 -1
  99. package/dist/executions/active/active-task-execution.service.js +4 -0
  100. package/dist/executions/active/active-task-execution.service.js.map +1 -1
  101. package/dist/executions/events/active-executions-changed.event.d.ts +5 -0
  102. package/dist/executions/events/active-executions-changed.event.js +12 -0
  103. package/dist/executions/events/active-executions-changed.event.js.map +1 -0
  104. package/dist/executions/executions.gateway.d.ts +18 -0
  105. package/dist/executions/executions.gateway.js +85 -0
  106. package/dist/executions/executions.gateway.js.map +1 -0
  107. package/dist/executions/executions.module.js +2 -0
  108. package/dist/executions/executions.module.js.map +1 -1
  109. package/dist/executions/staleness/stale-active-task-execution-pruner.service.js +2 -0
  110. package/dist/executions/staleness/stale-active-task-execution-pruner.service.js.map +1 -1
  111. package/dist/main.js +4 -0
  112. package/dist/main.js.map +1 -1
  113. package/dist/migrations/1760200000000-ThreadAgentMessages.d.ts +6 -0
  114. package/dist/migrations/1760200000000-ThreadAgentMessages.js +28 -0
  115. package/dist/migrations/1760200000000-ThreadAgentMessages.js.map +1 -0
  116. package/dist/migrations/1760300000000-ChatProviderModelConfig.d.ts +6 -0
  117. package/dist/migrations/1760300000000-ChatProviderModelConfig.js +14 -0
  118. package/dist/migrations/1760300000000-ChatProviderModelConfig.js.map +1 -0
  119. package/dist/migrations/1760400000000-ReplaceAdkChatProvider.d.ts +6 -0
  120. package/dist/migrations/1760400000000-ReplaceAdkChatProvider.js +16 -0
  121. package/dist/migrations/1760400000000-ReplaceAdkChatProvider.js.map +1 -0
  122. package/dist/migrations/1760500000000-AiProviderModelSelections.d.ts +6 -0
  123. package/dist/migrations/1760500000000-AiProviderModelSelections.js +56 -0
  124. package/dist/migrations/1760500000000-AiProviderModelSelections.js.map +1 -0
  125. package/dist/migrations/1760600000000-DropAdkSessionTables.d.ts +6 -0
  126. package/dist/migrations/1760600000000-DropAdkSessionTables.js +51 -0
  127. package/dist/migrations/1760600000000-DropAdkSessionTables.js.map +1 -0
  128. package/dist/public/assets/index-BUmnqjpv.js +117 -0
  129. package/dist/public/assets/index-DOm5BmlC.css +1 -0
  130. package/dist/public/beta/assets/{index-BRla0F5r.js → index-n0qUSWPJ.js} +30 -30
  131. package/dist/public/beta/index.html +1 -1
  132. package/dist/public/index.html +2 -2
  133. package/dist/public/package.json +4 -4
  134. package/dist/scripts/migrate-sqlite-to-postgres.js +0 -22
  135. package/dist/scripts/migrate-sqlite-to-postgres.js.map +1 -1
  136. package/dist/threads/agent/agent-context.utils.d.ts +14 -0
  137. package/dist/threads/agent/agent-context.utils.js +42 -0
  138. package/dist/threads/agent/agent-context.utils.js.map +1 -0
  139. package/dist/threads/agent/agent-context.utils.spec.d.ts +1 -0
  140. package/dist/threads/agent/agent-context.utils.spec.js +60 -0
  141. package/dist/threads/agent/agent-context.utils.spec.js.map +1 -0
  142. package/dist/threads/agent/chat-model.factory.d.ts +25 -0
  143. package/dist/threads/agent/chat-model.factory.js +106 -0
  144. package/dist/threads/agent/chat-model.factory.js.map +1 -0
  145. package/dist/threads/agent/chat-model.factory.spec.d.ts +1 -0
  146. package/dist/threads/agent/chat-model.factory.spec.js +83 -0
  147. package/dist/threads/agent/chat-model.factory.spec.js.map +1 -0
  148. package/dist/threads/agent/hooks/compaction.hook.d.ts +11 -0
  149. package/dist/threads/agent/hooks/compaction.hook.js +109 -0
  150. package/dist/threads/agent/hooks/compaction.hook.js.map +1 -0
  151. package/dist/threads/agent/hooks/easter-egg.hook.d.ts +5 -0
  152. package/dist/threads/agent/hooks/easter-egg.hook.js +30 -0
  153. package/dist/threads/agent/hooks/easter-egg.hook.js.map +1 -0
  154. package/dist/threads/agent/hooks/hooks.spec.d.ts +1 -0
  155. package/dist/threads/agent/hooks/hooks.spec.js +87 -0
  156. package/dist/threads/agent/hooks/hooks.spec.js.map +1 -0
  157. package/dist/threads/agent/hooks/thread-agent-hook.interface.d.ts +20 -0
  158. package/dist/threads/agent/hooks/thread-agent-hook.interface.js +5 -0
  159. package/dist/threads/agent/hooks/thread-agent-hook.interface.js.map +1 -0
  160. package/dist/threads/agent/hooks/thread-agent-hooks.runner.d.ts +11 -0
  161. package/dist/threads/agent/hooks/thread-agent-hooks.runner.js +98 -0
  162. package/dist/threads/agent/hooks/thread-agent-hooks.runner.js.map +1 -0
  163. package/dist/threads/agent/taico-mcp-tools.factory.d.ts +22 -0
  164. package/dist/threads/agent/taico-mcp-tools.factory.js +79 -0
  165. package/dist/threads/agent/taico-mcp-tools.factory.js.map +1 -0
  166. package/dist/threads/agent/thread-agent-log.service.d.ts +41 -0
  167. package/dist/threads/agent/thread-agent-log.service.js +157 -0
  168. package/dist/threads/agent/thread-agent-log.service.js.map +1 -0
  169. package/dist/threads/agent/thread-agent-message.entity.d.ts +19 -0
  170. package/dist/threads/agent/thread-agent-message.entity.js +109 -0
  171. package/dist/threads/agent/thread-agent-message.entity.js.map +1 -0
  172. package/dist/threads/agent/thread-agent.enums.d.ts +17 -0
  173. package/dist/threads/agent/thread-agent.enums.js +24 -0
  174. package/dist/threads/agent/thread-agent.enums.js.map +1 -0
  175. package/dist/threads/agent/thread-agent.prompts.d.ts +5 -0
  176. package/dist/threads/{backends/chat-backend.utils.js → agent/thread-agent.prompts.js} +5 -4
  177. package/dist/threads/agent/thread-agent.prompts.js.map +1 -0
  178. package/dist/threads/agent/thread-agent.service.d.ts +33 -0
  179. package/dist/threads/agent/thread-agent.service.js +286 -0
  180. package/dist/threads/agent/thread-agent.service.js.map +1 -0
  181. package/dist/threads/agent/thread-agent.service.spec.d.ts +1 -0
  182. package/dist/threads/agent/thread-agent.service.spec.js +184 -0
  183. package/dist/threads/agent/thread-agent.service.spec.js.map +1 -0
  184. package/dist/threads/agent/thread-turn.entity.d.ts +12 -0
  185. package/dist/threads/agent/thread-turn.entity.js +71 -0
  186. package/dist/threads/agent/thread-turn.entity.js.map +1 -0
  187. package/dist/threads/agent/thread-turns.service.d.ts +13 -0
  188. package/dist/threads/agent/thread-turns.service.js +52 -0
  189. package/dist/threads/agent/thread-turns.service.js.map +1 -0
  190. package/dist/threads/chat.service.d.ts +5 -30
  191. package/dist/threads/chat.service.js +44 -119
  192. package/dist/threads/chat.service.js.map +1 -1
  193. package/dist/threads/dto/service/threads.service.types.d.ts +0 -2
  194. package/dist/threads/dto/thread-list-item-response.dto.d.ts +0 -1
  195. package/dist/threads/dto/thread-list-item-response.dto.js +0 -10
  196. package/dist/threads/dto/thread-list-item-response.dto.js.map +1 -1
  197. package/dist/threads/dto/thread-response.dto.d.ts +0 -1
  198. package/dist/threads/dto/thread-response.dto.js +0 -11
  199. package/dist/threads/dto/thread-response.dto.js.map +1 -1
  200. package/dist/threads/thread-message.entity.d.ts +3 -0
  201. package/dist/threads/thread-message.entity.js +12 -0
  202. package/dist/threads/thread-message.entity.js.map +1 -1
  203. package/dist/threads/thread.entity.d.ts +3 -1
  204. package/dist/threads/thread.entity.js +23 -3
  205. package/dist/threads/thread.entity.js.map +1 -1
  206. package/dist/threads/threads-state.service.spec.js +3 -1
  207. package/dist/threads/threads-state.service.spec.js.map +1 -1
  208. package/dist/threads/threads.module.js +31 -8
  209. package/dist/threads/threads.module.js.map +1 -1
  210. package/dist/threads/threads.service.d.ts +3 -8
  211. package/dist/threads/threads.service.js +6 -143
  212. package/dist/threads/threads.service.js.map +1 -1
  213. package/dist/threads/threads.service.spec.js +3 -2
  214. package/dist/threads/threads.service.spec.js.map +1 -1
  215. package/dist/tsconfig.tsbuildinfo +1 -1
  216. package/dist/walkthrough/dto/walkthrough-status-response.dto.d.ts +1 -0
  217. package/dist/walkthrough/dto/walkthrough-status-response.dto.js +8 -0
  218. package/dist/walkthrough/dto/walkthrough-status-response.dto.js.map +1 -1
  219. package/dist/walkthrough/walkthrough.controller.js +1 -0
  220. package/dist/walkthrough/walkthrough.controller.js.map +1 -1
  221. package/dist/walkthrough/walkthrough.module.js +2 -0
  222. package/dist/walkthrough/walkthrough.module.js.map +1 -1
  223. package/dist/walkthrough/walkthrough.service.d.ts +4 -1
  224. package/dist/walkthrough/walkthrough.service.js +14 -7
  225. package/dist/walkthrough/walkthrough.service.js.map +1 -1
  226. package/package.json +17 -9
  227. package/dist/chat-providers/chat-provider.entity.js.map +0 -1
  228. package/dist/chat-providers/chat-providers.controller.d.ts +0 -19
  229. package/dist/chat-providers/chat-providers.controller.js +0 -179
  230. package/dist/chat-providers/chat-providers.controller.js.map +0 -1
  231. package/dist/chat-providers/chat-providers.module.d.ts +0 -2
  232. package/dist/chat-providers/chat-providers.module.js +0 -32
  233. package/dist/chat-providers/chat-providers.module.js.map +0 -1
  234. package/dist/chat-providers/chat-providers.scopes.d.ts +0 -20
  235. package/dist/chat-providers/chat-providers.scopes.js +0 -23
  236. package/dist/chat-providers/chat-providers.scopes.js.map +0 -1
  237. package/dist/chat-providers/chat-providers.service.d.ts +0 -20
  238. package/dist/chat-providers/chat-providers.service.js +0 -193
  239. package/dist/chat-providers/chat-providers.service.js.map +0 -1
  240. package/dist/chat-providers/dto/http/chat-provider-params.dto.d.ts +0 -3
  241. package/dist/chat-providers/dto/http/chat-provider-params.dto.js.map +0 -1
  242. package/dist/chat-providers/dto/http/chat-provider-response.dto.d.ts +0 -12
  243. package/dist/chat-providers/dto/http/chat-provider-response.dto.js.map +0 -1
  244. package/dist/chat-providers/dto/http/create-chat-provider.dto.d.ts +0 -6
  245. package/dist/chat-providers/dto/http/create-chat-provider.dto.js.map +0 -1
  246. package/dist/chat-providers/dto/http/set-active-chat-provider.dto.d.ts +0 -3
  247. package/dist/chat-providers/dto/http/set-active-chat-provider.dto.js.map +0 -1
  248. package/dist/chat-providers/dto/http/update-chat-provider.dto.d.ts +0 -5
  249. package/dist/chat-providers/dto/http/update-chat-provider.dto.js +0 -49
  250. package/dist/chat-providers/dto/http/update-chat-provider.dto.js.map +0 -1
  251. package/dist/chat-providers/dto/service/chat-providers.service.types.d.ts +0 -30
  252. package/dist/chat-providers/dto/service/chat-providers.service.types.js +0 -3
  253. package/dist/chat-providers/dto/service/chat-providers.service.types.js.map +0 -1
  254. package/dist/chat-providers/enums/chat-provider-type.enum.d.ts +0 -4
  255. package/dist/chat-providers/enums/chat-provider-type.enum.js +0 -9
  256. package/dist/chat-providers/enums/chat-provider-type.enum.js.map +0 -1
  257. package/dist/chat-providers/enums/index.d.ts +0 -1
  258. package/dist/chat-providers/enums/index.js.map +0 -1
  259. package/dist/chat-providers/errors/chat-providers.errors.d.ts +0 -25
  260. package/dist/chat-providers/errors/chat-providers.errors.js +0 -48
  261. package/dist/chat-providers/errors/chat-providers.errors.js.map +0 -1
  262. package/dist/llm/llm.module.d.ts +0 -2
  263. package/dist/llm/llm.module.js +0 -23
  264. package/dist/llm/llm.module.js.map +0 -1
  265. package/dist/llm/openai-responses.service.d.ts +0 -12
  266. package/dist/llm/openai-responses.service.js +0 -69
  267. package/dist/llm/openai-responses.service.js.map +0 -1
  268. package/dist/public/assets/index-CPjOd3Sq.css +0 -1
  269. package/dist/public/assets/index-DVNE_5Yh.js +0 -73
  270. package/dist/threads/backends/adk.backend.d.ts +0 -18
  271. package/dist/threads/backends/adk.backend.js +0 -264
  272. package/dist/threads/backends/adk.backend.js.map +0 -1
  273. package/dist/threads/backends/chat-backend.interface.d.ts +0 -39
  274. package/dist/threads/backends/chat-backend.interface.js.map +0 -1
  275. package/dist/threads/backends/chat-backend.utils.d.ts +0 -5
  276. package/dist/threads/backends/chat-backend.utils.js.map +0 -1
  277. package/dist/threads/backends/openai.backend.d.ts +0 -19
  278. package/dist/threads/backends/openai.backend.js +0 -155
  279. package/dist/threads/backends/openai.backend.js.map +0 -1
  280. package/dist/threads/openai-mcp-server-factory.service.d.ts +0 -8
  281. package/dist/threads/openai-mcp-server-factory.service.js +0 -114
  282. package/dist/threads/openai-mcp-server-factory.service.js.map +0 -1
@@ -1,18 +0,0 @@
1
- import { OnModuleDestroy } from '@nestjs/common';
2
- import { ChatBackend, ChatStreamEvent, RunTaskArgs, StreamMessageArgs } from './chat-backend.interface';
3
- export declare class AdkBackend implements ChatBackend, OnModuleDestroy {
4
- private readonly logger;
5
- private readonly sessionService;
6
- constructor();
7
- onModuleDestroy(): Promise<void>;
8
- ensureAvailable(): Promise<void>;
9
- createConversation(threadId: string): Promise<{
10
- id: string;
11
- }>;
12
- streamMessage(args: StreamMessageArgs): AsyncGenerator<ChatStreamEvent>;
13
- generateText(prompt: string, modelId: string | null): Promise<string | null>;
14
- runTask(args: RunTaskArgs): Promise<void>;
15
- private createRunner;
16
- private parseTextParts;
17
- private yieldActivityEvents;
18
- }
@@ -1,264 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var AdkBackend_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.AdkBackend = void 0;
14
- const common_1 = require("@nestjs/common");
15
- const adk_1 = require("@google/adk");
16
- const adk_session_store_1 = require("@taico/adk-session-store");
17
- const env_config_1 = require("../../config/env.config");
18
- const crypto_1 = require("crypto");
19
- const chat_backend_utils_1 = require("./chat-backend.utils");
20
- let AdkBackend = AdkBackend_1 = class AdkBackend {
21
- logger = new common_1.Logger(AdkBackend_1.name);
22
- sessionService;
23
- constructor() {
24
- this.sessionService = new adk_session_store_1.PostgresSessionService({
25
- connectionString: (0, env_config_1.getConfig)().databaseUrl,
26
- ssl: (0, env_config_1.getConfig)().databaseSsl,
27
- });
28
- }
29
- async onModuleDestroy() {
30
- try {
31
- await this.sessionService.close();
32
- }
33
- catch (error) {
34
- this.logger.warn({
35
- message: 'Failed to close ADK session store',
36
- error: error instanceof Error
37
- ? { message: error.message, stack: error.stack, name: error.name }
38
- : String(error),
39
- });
40
- }
41
- }
42
- async ensureAvailable() {
43
- }
44
- async createConversation(threadId) {
45
- const session = await this.sessionService.createSession({
46
- appName: 'taico-chat',
47
- sessionId: (0, crypto_1.randomUUID)(),
48
- userId: threadId,
49
- });
50
- return { id: session.id };
51
- }
52
- async *streamMessage(args) {
53
- try {
54
- const instructions = (0, chat_backend_utils_1.buildThreadScopedInstructions)(args.systemPrompt, args.threadId, {
55
- useNamespacedToolNames: true,
56
- });
57
- const runner = await this.createRunner(args.token, args.modelId ?? 'gemini-3.6-flash', instructions);
58
- const stream = runner.runAsync({
59
- userId: args.threadId,
60
- sessionId: args.conversationId,
61
- newMessage: {
62
- role: 'user',
63
- parts: [{ text: (0, chat_backend_utils_1.formatMessage)(args.message, args.actor) }],
64
- },
65
- });
66
- const finalChunks = [];
67
- let sawPartial = false;
68
- for await (const event of stream) {
69
- yield* this.yieldActivityEvents(event);
70
- const textParts = this.parseTextParts(event);
71
- if (textParts.length === 0) {
72
- continue;
73
- }
74
- const chunk = textParts.join('');
75
- if (event.partial) {
76
- sawPartial = true;
77
- finalChunks.push(chunk);
78
- yield { type: 'response_delta', delta: chunk };
79
- continue;
80
- }
81
- if (!sawPartial) {
82
- finalChunks.push(chunk);
83
- yield { type: 'response_delta', delta: chunk };
84
- }
85
- }
86
- const finalContent = finalChunks.join('').trim();
87
- if (finalContent) {
88
- yield { type: 'final_response', content: finalContent };
89
- }
90
- }
91
- catch (error) {
92
- this.logger.error({
93
- message: 'ADK agent run failed',
94
- threadId: args.threadId,
95
- conversationId: args.conversationId,
96
- error: error instanceof Error
97
- ? { message: error.message, stack: error.stack, name: error.name }
98
- : String(error),
99
- });
100
- yield { type: 'error', error: error instanceof Error ? error : new Error(String(error)) };
101
- }
102
- }
103
- async generateText(prompt, modelId) {
104
- try {
105
- const sessionId = (0, crypto_1.randomUUID)();
106
- const userId = `gen-${(0, crypto_1.randomUUID)()}`;
107
- await this.sessionService.createSession({
108
- appName: 'taico-chat',
109
- sessionId,
110
- userId,
111
- });
112
- const agent = new adk_1.LlmAgent({
113
- name: 'text_generator',
114
- model: modelId ?? 'gemini-3.6-flash',
115
- description: '',
116
- instruction: '',
117
- tools: [],
118
- });
119
- const runner = new adk_1.Runner({
120
- appName: 'taico-chat',
121
- agent,
122
- sessionService: this.sessionService,
123
- });
124
- const stream = runner.runAsync({
125
- userId,
126
- sessionId,
127
- newMessage: { role: 'user', parts: [{ text: prompt }] },
128
- });
129
- const finalChunks = [];
130
- let sawPartial = false;
131
- for await (const event of stream) {
132
- const textParts = this.parseTextParts(event);
133
- if (textParts.length === 0)
134
- continue;
135
- const chunk = textParts.join('');
136
- if (event.partial) {
137
- sawPartial = true;
138
- finalChunks.push(chunk);
139
- }
140
- else if (!sawPartial) {
141
- finalChunks.push(chunk);
142
- }
143
- }
144
- const result = finalChunks.join('').trim();
145
- return result || null;
146
- }
147
- catch (error) {
148
- this.logger.warn({
149
- message: 'ADK text generation failed',
150
- error: error instanceof Error
151
- ? { message: error.message, name: error.name }
152
- : String(error),
153
- });
154
- return null;
155
- }
156
- }
157
- async runTask(args) {
158
- const sessionId = (0, crypto_1.randomUUID)();
159
- const userId = `task-${(0, crypto_1.randomUUID)()}`;
160
- await this.sessionService.createSession({
161
- appName: 'taico-chat',
162
- sessionId,
163
- userId,
164
- });
165
- const runner = await this.createRunner(args.token, args.modelId ?? 'gemini-3.6-flash', args.instructions);
166
- const stream = runner.runAsync({
167
- userId,
168
- sessionId,
169
- newMessage: { role: 'user', parts: [{ text: args.prompt }] },
170
- });
171
- for await (const _ of stream) { }
172
- }
173
- async createRunner(token, modelId, instructions) {
174
- const baseUrl = (0, env_config_1.getConfig)().issuerUrl;
175
- const agent = new adk_1.LlmAgent({
176
- name: 'taico',
177
- model: modelId,
178
- description: '',
179
- instruction: instructions,
180
- tools: [
181
- new NamespacedMCPToolset({
182
- type: 'StreamableHTTPConnectionParams',
183
- url: `${baseUrl}/api/v1/tasks/tasks/mcp`,
184
- header: { Authorization: `Bearer ${token}` },
185
- }, 'tasks'),
186
- new NamespacedMCPToolset({
187
- type: 'StreamableHTTPConnectionParams',
188
- url: `${baseUrl}/api/v1/context/blocks/mcp`,
189
- header: { Authorization: `Bearer ${token}` },
190
- }, 'context'),
191
- ],
192
- });
193
- return new adk_1.Runner({
194
- appName: 'taico-chat',
195
- agent,
196
- sessionService: this.sessionService,
197
- });
198
- }
199
- parseTextParts(event) {
200
- if (!event.content?.parts) {
201
- return [];
202
- }
203
- return event.content.parts
204
- .filter((part) => !part.thought)
205
- .map((part) => part.text)
206
- .filter((text) => typeof text === 'string' && text.length > 0);
207
- }
208
- *yieldActivityEvents(event) {
209
- if (!event.content?.parts) {
210
- return;
211
- }
212
- for (const part of event.content.parts) {
213
- if (part.thought) {
214
- yield { type: 'agent_activity', kind: 'thinking' };
215
- }
216
- if (part.functionCall || part.functionResponse) {
217
- yield { type: 'agent_activity', kind: 'tool_calling' };
218
- }
219
- }
220
- }
221
- };
222
- exports.AdkBackend = AdkBackend;
223
- exports.AdkBackend = AdkBackend = AdkBackend_1 = __decorate([
224
- (0, common_1.Injectable)(),
225
- __metadata("design:paramtypes", [])
226
- ], AdkBackend);
227
- class NamespacedTool extends adk_1.BaseTool {
228
- wrappedTool;
229
- namespacedName;
230
- constructor(wrappedTool, namespacedName) {
231
- super({
232
- name: namespacedName,
233
- description: wrappedTool.description,
234
- isLongRunning: wrappedTool.isLongRunning,
235
- });
236
- this.wrappedTool = wrappedTool;
237
- this.namespacedName = namespacedName;
238
- }
239
- _getDeclaration() {
240
- const declaration = this.wrappedTool._getDeclaration();
241
- if (!declaration) {
242
- return declaration;
243
- }
244
- return {
245
- ...declaration,
246
- name: this.namespacedName,
247
- };
248
- }
249
- async runAsync(request) {
250
- return this.wrappedTool.runAsync(request);
251
- }
252
- }
253
- class NamespacedMCPToolset extends adk_1.MCPToolset {
254
- serverName;
255
- constructor(connectionParams, serverName) {
256
- super(connectionParams);
257
- this.serverName = serverName;
258
- }
259
- async getTools(context) {
260
- const tools = await super.getTools(context);
261
- return tools.map((tool) => new NamespacedTool(tool, `mcp__${this.serverName}__${tool.name}`));
262
- }
263
- }
264
- //# sourceMappingURL=adk.backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adk.backend.js","sourceRoot":"","sources":["../../../src/threads/backends/adk.backend.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import { ActorEntity } from "../../identity-provider/actor.entity";
2
- export type ChatStreamEvent = {
3
- type: 'agent_activity';
4
- kind: 'thinking' | 'tool_calling';
5
- } | {
6
- type: 'response_delta';
7
- delta: string;
8
- } | {
9
- type: 'final_response';
10
- content: string;
11
- } | {
12
- type: 'error';
13
- error: Error;
14
- };
15
- export interface StreamMessageArgs {
16
- conversationId: string;
17
- threadId: string;
18
- message: string;
19
- actor: ActorEntity;
20
- agentName: string;
21
- systemPrompt: string;
22
- modelId: string | null;
23
- token: string;
24
- }
25
- export interface RunTaskArgs {
26
- instructions: string;
27
- prompt: string;
28
- token: string;
29
- modelId: string | null;
30
- }
31
- export interface ChatBackend {
32
- ensureAvailable(): Promise<void>;
33
- createConversation(threadId: string): Promise<{
34
- id: string;
35
- }>;
36
- streamMessage(args: StreamMessageArgs): AsyncGenerator<ChatStreamEvent>;
37
- generateText(prompt: string, modelId: string | null): Promise<string | null>;
38
- runTask(args: RunTaskArgs): Promise<void>;
39
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-backend.interface.js","sourceRoot":"","sources":["../../../src/threads/backends/chat-backend.interface.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { ActorEntity } from "../../identity-provider/actor.entity";
2
- export declare function formatMessage(message: string, actor: ActorEntity): string;
3
- export declare function buildThreadScopedInstructions(baseInstructions: string, threadId: string, options?: {
4
- useNamespacedToolNames?: boolean;
5
- }): string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-backend.utils.js","sourceRoot":"","sources":["../../../src/threads/backends/chat-backend.utils.ts"],"names":[],"mappings":";;AAEA,sCAEC;AAED,sEAuCC;AA3CD,SAAgB,aAAa,CAAC,OAAe,EAAE,KAAkB;IAC/D,OAAO,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,YAAY,OAAO,EAAE,CAAC;AACnE,CAAC;AAED,SAAgB,6BAA6B,CAC3C,gBAAwB,EACxB,QAAgB,EAChB,OAA8C;IAE9C,MAAM,WAAW,GAAG,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,MAAM,aAAa,GAAG,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;IAEvF,OAAO,GAAG,gBAAgB;;;kCAGM,QAAQ;;;;;QAKlC,WAAW;QACX,aAAa;iFAC4D,WAAW,4BAA4B,aAAa;sFAC/C,WAAW,8BAA8B,aAAa;6GAC/B,aAAa;;;;;;;;;;;;;;;CAezH,CAAC;AAIF,CAAC"}
@@ -1,19 +0,0 @@
1
- import { ChatProvidersService } from "../../chat-providers/chat-providers.service";
2
- import { OpenAiMcpServerFactoryService } from '../openai-mcp-server-factory.service';
3
- import { ChatBackend, ChatStreamEvent, RunTaskArgs, StreamMessageArgs } from './chat-backend.interface';
4
- export declare class OpenAiBackend implements ChatBackend {
5
- private readonly chatProvidersService;
6
- private readonly openAiMcpServerFactoryService;
7
- private readonly logger;
8
- constructor(chatProvidersService: ChatProvidersService, openAiMcpServerFactoryService: OpenAiMcpServerFactoryService);
9
- ensureAvailable(): Promise<void>;
10
- createConversation(threadId: string): Promise<{
11
- id: string;
12
- }>;
13
- generateText(prompt: string, modelId: string | null): Promise<string | null>;
14
- runTask(args: RunTaskArgs): Promise<void>;
15
- streamMessage(args: StreamMessageArgs): AsyncGenerator<ChatStreamEvent>;
16
- private getApiKey;
17
- private configureOpenAiSdk;
18
- private parseResponseTextDelta;
19
- }
@@ -1,155 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var OpenAiBackend_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.OpenAiBackend = void 0;
14
- const common_1 = require("@nestjs/common");
15
- const agents_1 = require("@openai/agents");
16
- const openai_1 = require("openai");
17
- const chat_providers_service_1 = require("../../chat-providers/chat-providers.service");
18
- const openai_mcp_server_factory_service_1 = require("../openai-mcp-server-factory.service");
19
- const chat_backend_utils_1 = require("./chat-backend.utils");
20
- let OpenAiBackend = OpenAiBackend_1 = class OpenAiBackend {
21
- chatProvidersService;
22
- openAiMcpServerFactoryService;
23
- logger = new common_1.Logger(OpenAiBackend_1.name);
24
- constructor(chatProvidersService, openAiMcpServerFactoryService) {
25
- this.chatProvidersService = chatProvidersService;
26
- this.openAiMcpServerFactoryService = openAiMcpServerFactoryService;
27
- }
28
- async ensureAvailable() {
29
- const config = await this.chatProvidersService.getActiveChatProviderConfig();
30
- if (!config.apiKey) {
31
- throw new Error('OpenAI API key is not configured');
32
- }
33
- }
34
- async createConversation(threadId) {
35
- const apiKey = await this.getApiKey();
36
- const client = new openai_1.OpenAI({ apiKey });
37
- const conversation = await client.conversations.create({ metadata: { threadId } });
38
- return conversation;
39
- }
40
- async generateText(prompt, modelId) {
41
- try {
42
- const apiKey = await this.getApiKey();
43
- const client = new openai_1.OpenAI({ apiKey });
44
- const response = await client.responses.create({
45
- model: modelId ?? 'gpt-5.4',
46
- input: prompt,
47
- });
48
- return response.output_text?.trim() || null;
49
- }
50
- catch (error) {
51
- this.logger.warn({
52
- message: 'OpenAI text generation failed',
53
- error: error instanceof Error
54
- ? { message: error.message, name: error.name }
55
- : String(error),
56
- });
57
- return null;
58
- }
59
- }
60
- async runTask(args) {
61
- const apiKey = await this.getApiKey();
62
- const modelProvider = this.configureOpenAiSdk(apiKey);
63
- const mcpServers = await this.openAiMcpServerFactoryService.createServers({ token: args.token });
64
- const agent = new agents_1.Agent({
65
- name: 'taico task runner',
66
- instructions: args.instructions,
67
- model: args.modelId ?? 'gpt-5.4',
68
- mcpServers,
69
- });
70
- const runner = new agents_1.Runner({ modelProvider });
71
- await runner.run(agent, args.prompt);
72
- }
73
- async *streamMessage(args) {
74
- try {
75
- const apiKey = await this.getApiKey();
76
- const modelProvider = this.configureOpenAiSdk(apiKey);
77
- const mcpServers = await this.openAiMcpServerFactoryService.createServers({ token: args.token });
78
- const agent = new agents_1.Agent({
79
- name: args.agentName,
80
- instructions: (0, chat_backend_utils_1.buildThreadScopedInstructions)(args.systemPrompt, args.threadId),
81
- model: args.modelId ?? 'gpt-5.4',
82
- mcpServers,
83
- });
84
- const runner = new agents_1.Runner({ modelProvider });
85
- this.logger.log(`Sending message to ${args.conversationId}`);
86
- const result = await runner.run(agent, (0, chat_backend_utils_1.formatMessage)(args.message, args.actor), {
87
- conversationId: args.conversationId,
88
- stream: true,
89
- });
90
- for await (const event of result) {
91
- const textDelta = this.parseResponseTextDelta(event);
92
- if (textDelta) {
93
- yield { type: 'response_delta', delta: textDelta };
94
- }
95
- if (event.type === 'run_item_stream_event') {
96
- switch (event.item.type) {
97
- case 'reasoning_item':
98
- yield { type: 'agent_activity', kind: 'thinking' };
99
- break;
100
- case 'tool_call_item':
101
- yield { type: 'agent_activity', kind: 'tool_calling' };
102
- break;
103
- case 'tool_call_output_item':
104
- break;
105
- case 'message_output_item':
106
- if (event.item.content) {
107
- yield { type: 'final_response', content: event.item.content };
108
- }
109
- break;
110
- }
111
- }
112
- }
113
- }
114
- catch (error) {
115
- this.logger.error({
116
- message: 'OpenAI agent run failed',
117
- threadId: args.threadId,
118
- conversationId: args.conversationId,
119
- error: error instanceof Error
120
- ? { message: error.message, stack: error.stack, name: error.name }
121
- : String(error),
122
- });
123
- yield { type: 'error', error: error instanceof Error ? error : new Error(String(error)) };
124
- }
125
- }
126
- async getApiKey() {
127
- const config = await this.chatProvidersService.getActiveChatProviderConfig();
128
- if (!config.apiKey) {
129
- throw new Error('OpenAI API key is not configured');
130
- }
131
- return config.apiKey;
132
- }
133
- configureOpenAiSdk(apiKey) {
134
- const client = new openai_1.OpenAI({ apiKey });
135
- (0, agents_1.setDefaultOpenAIClient)(client);
136
- (0, agents_1.setDefaultOpenAIKey)(apiKey);
137
- return new agents_1.OpenAIProvider({ openAIClient: client });
138
- }
139
- parseResponseTextDelta(event) {
140
- if (event.type !== 'raw_model_stream_event') {
141
- return null;
142
- }
143
- if (event.data.type !== 'output_text_delta') {
144
- return null;
145
- }
146
- return event.data.delta;
147
- }
148
- };
149
- exports.OpenAiBackend = OpenAiBackend;
150
- exports.OpenAiBackend = OpenAiBackend = OpenAiBackend_1 = __decorate([
151
- (0, common_1.Injectable)(),
152
- __metadata("design:paramtypes", [chat_providers_service_1.ChatProvidersService,
153
- openai_mcp_server_factory_service_1.OpenAiMcpServerFactoryService])
154
- ], OpenAiBackend);
155
- //# sourceMappingURL=openai.backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.backend.js","sourceRoot":"","sources":["../../../src/threads/backends/openai.backend.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { MCPServer } from "@openai/agents";
2
- type AccessTokenInput = {
3
- token: string;
4
- };
5
- export declare class OpenAiMcpServerFactoryService {
6
- createServers(token: AccessTokenInput): Promise<MCPServer[]>;
7
- }
8
- export {};
@@ -1,114 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.OpenAiMcpServerFactoryService = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const env_config_1 = require("../config/env.config");
12
- const agents_1 = require("@openai/agents");
13
- class PrefixedMcpServer {
14
- inner;
15
- prefix;
16
- nameMap = new Map();
17
- constructor(inner, prefix) {
18
- this.inner = inner;
19
- this.prefix = prefix;
20
- }
21
- get cacheToolsList() {
22
- return this.inner.cacheToolsList;
23
- }
24
- set cacheToolsList(value) {
25
- this.inner.cacheToolsList = value;
26
- }
27
- get toolFilter() {
28
- return this.inner.toolFilter;
29
- }
30
- set toolFilter(value) {
31
- this.inner.toolFilter = value;
32
- }
33
- get toolMetaResolver() {
34
- return this.inner.toolMetaResolver;
35
- }
36
- set toolMetaResolver(value) {
37
- this.inner.toolMetaResolver = value;
38
- }
39
- get errorFunction() {
40
- return this.inner.errorFunction;
41
- }
42
- set errorFunction(value) {
43
- this.inner.errorFunction = value;
44
- }
45
- get name() {
46
- return this.inner.name;
47
- }
48
- async connect() {
49
- return this.inner.connect();
50
- }
51
- async close() {
52
- return this.inner.close();
53
- }
54
- async listTools() {
55
- const tools = await this.inner.listTools();
56
- this.nameMap.clear();
57
- return tools.map((tool) => {
58
- const prefixedName = `${this.prefix}__${tool.name}`;
59
- this.nameMap.set(prefixedName, tool.name);
60
- return {
61
- ...tool,
62
- name: prefixedName,
63
- };
64
- });
65
- }
66
- async callTool(toolName, args, meta) {
67
- const originalName = this.nameMap.get(toolName) ?? toolName.replace(`${this.prefix}__`, "");
68
- return this.inner.callTool(originalName, args, meta);
69
- }
70
- async invalidateToolsCache() {
71
- this.nameMap.clear();
72
- return this.inner.invalidateToolsCache();
73
- }
74
- }
75
- let OpenAiMcpServerFactoryService = class OpenAiMcpServerFactoryService {
76
- async createServers(token) {
77
- const baseUrl = (0, env_config_1.getConfig)().issuerUrl;
78
- const customFetch = async (input, init = {}) => {
79
- const headers = new Headers(init.headers);
80
- headers.set("Authorization", `Bearer ${token.token}`);
81
- return fetch(input, { ...init, headers });
82
- };
83
- const tasks = new agents_1.MCPServerStreamableHttp({
84
- name: "tasks",
85
- url: `${baseUrl}/api/v1/tasks/tasks/mcp`,
86
- requestInit: {
87
- headers: {
88
- Authorization: `Bearer ${token.token}`,
89
- },
90
- },
91
- fetch: customFetch,
92
- });
93
- const context = new agents_1.MCPServerStreamableHttp({
94
- name: "context",
95
- url: `${baseUrl}/api/v1/context/blocks/mcp`,
96
- requestInit: {
97
- headers: {
98
- Authorization: `Bearer ${token.token}`,
99
- },
100
- },
101
- fetch: customFetch,
102
- });
103
- await Promise.all([tasks.connect(), context.connect()]);
104
- return [
105
- new PrefixedMcpServer(tasks, "tasks"),
106
- new PrefixedMcpServer(context, "context"),
107
- ];
108
- }
109
- };
110
- exports.OpenAiMcpServerFactoryService = OpenAiMcpServerFactoryService;
111
- exports.OpenAiMcpServerFactoryService = OpenAiMcpServerFactoryService = __decorate([
112
- (0, common_1.Injectable)()
113
- ], OpenAiMcpServerFactoryService);
114
- //# sourceMappingURL=openai-mcp-server-factory.service.js.map