@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.
- package/README.md +1 -1
- package/dist/ai-providers/ai-model-selection.entity.d.ts +11 -0
- package/dist/ai-providers/ai-model-selection.entity.js +58 -0
- package/dist/ai-providers/ai-model-selection.entity.js.map +1 -0
- package/dist/ai-providers/ai-model-selections.controller.d.ts +12 -0
- package/dist/ai-providers/ai-model-selections.controller.js +102 -0
- package/dist/ai-providers/ai-model-selections.controller.js.map +1 -0
- package/dist/ai-providers/ai-model-selections.service.d.ts +19 -0
- package/dist/ai-providers/ai-model-selections.service.js +113 -0
- package/dist/ai-providers/ai-model-selections.service.js.map +1 -0
- package/dist/ai-providers/ai-provider-models.service.d.ts +14 -0
- package/dist/ai-providers/ai-provider-models.service.js +196 -0
- package/dist/ai-providers/ai-provider-models.service.js.map +1 -0
- package/dist/{chat-providers/chat-provider.entity.d.ts → ai-providers/ai-provider.entity.d.ts} +6 -4
- package/dist/{chat-providers/chat-provider.entity.js → ai-providers/ai-provider.entity.js} +31 -21
- package/dist/ai-providers/ai-provider.entity.js.map +1 -0
- package/dist/ai-providers/ai-providers.controller.d.ts +20 -0
- package/dist/ai-providers/ai-providers.controller.js +177 -0
- package/dist/ai-providers/ai-providers.controller.js.map +1 -0
- package/dist/ai-providers/ai-providers.module.d.ts +2 -0
- package/dist/ai-providers/ai-providers.module.js +36 -0
- package/dist/ai-providers/ai-providers.module.js.map +1 -0
- package/dist/ai-providers/ai-providers.scopes.d.ts +20 -0
- package/dist/ai-providers/ai-providers.scopes.js +23 -0
- package/dist/ai-providers/ai-providers.scopes.js.map +1 -0
- package/dist/ai-providers/ai-providers.service.d.ts +20 -0
- package/dist/ai-providers/ai-providers.service.js +200 -0
- package/dist/ai-providers/ai-providers.service.js.map +1 -0
- package/dist/ai-providers/dto/http/ai-model-selection-params.dto.d.ts +4 -0
- package/dist/{chat-providers/dto/http/set-active-chat-provider.dto.js → ai-providers/dto/http/ai-model-selection-params.dto.js} +11 -10
- package/dist/ai-providers/dto/http/ai-model-selection-params.dto.js.map +1 -0
- package/dist/ai-providers/dto/http/ai-model-selection-response.dto.d.ts +10 -0
- package/dist/ai-providers/dto/http/ai-model-selection-response.dto.js +83 -0
- package/dist/ai-providers/dto/http/ai-model-selection-response.dto.js.map +1 -0
- package/dist/ai-providers/dto/http/ai-provider-model-response.dto.d.ts +6 -0
- package/dist/ai-providers/dto/http/ai-provider-model-response.dto.js +45 -0
- package/dist/ai-providers/dto/http/ai-provider-model-response.dto.js.map +1 -0
- package/dist/ai-providers/dto/http/ai-provider-params.dto.d.ts +3 -0
- package/dist/{chat-providers/dto/http/chat-provider-params.dto.js → ai-providers/dto/http/ai-provider-params.dto.js} +6 -6
- package/dist/ai-providers/dto/http/ai-provider-params.dto.js.map +1 -0
- package/dist/ai-providers/dto/http/ai-provider-response.dto.d.ts +14 -0
- package/dist/{chat-providers/dto/http/chat-provider-response.dto.js → ai-providers/dto/http/ai-provider-response.dto.js} +45 -23
- package/dist/ai-providers/dto/http/ai-provider-response.dto.js.map +1 -0
- package/dist/ai-providers/dto/http/create-ai-provider.dto.d.ts +9 -0
- package/dist/ai-providers/dto/http/create-ai-provider.dto.js +90 -0
- package/dist/ai-providers/dto/http/create-ai-provider.dto.js.map +1 -0
- package/dist/ai-providers/dto/http/set-ai-model-selection.dto.d.ts +4 -0
- package/dist/{chat-providers/dto/http/create-chat-provider.dto.js → ai-providers/dto/http/set-ai-model-selection.dto.js} +15 -28
- package/dist/ai-providers/dto/http/set-ai-model-selection.dto.js.map +1 -0
- package/dist/ai-providers/dto/http/update-ai-provider.dto.d.ts +8 -0
- package/dist/ai-providers/dto/http/update-ai-provider.dto.js +88 -0
- package/dist/ai-providers/dto/http/update-ai-provider.dto.js.map +1 -0
- package/dist/ai-providers/dto/service/ai-providers.service.types.d.ts +62 -0
- package/dist/{threads/backends/chat-backend.interface.js → ai-providers/dto/service/ai-providers.service.types.js} +1 -1
- package/dist/ai-providers/dto/service/ai-providers.service.types.js.map +1 -0
- package/dist/ai-providers/enums/ai-model-job.enum.d.ts +7 -0
- package/dist/ai-providers/enums/ai-model-job.enum.js +15 -0
- package/dist/ai-providers/enums/ai-model-job.enum.js.map +1 -0
- package/dist/ai-providers/enums/ai-model-kind.enum.d.ts +4 -0
- package/dist/ai-providers/enums/ai-model-kind.enum.js +9 -0
- package/dist/ai-providers/enums/ai-model-kind.enum.js.map +1 -0
- package/dist/ai-providers/enums/ai-provider-type.enum.d.ts +8 -0
- package/dist/ai-providers/enums/ai-provider-type.enum.js +13 -0
- package/dist/ai-providers/enums/ai-provider-type.enum.js.map +1 -0
- package/dist/ai-providers/enums/index.d.ts +3 -0
- package/dist/{chat-providers → ai-providers}/enums/index.js +3 -1
- package/dist/ai-providers/enums/index.js.map +1 -0
- package/dist/ai-providers/errors/ai-providers.errors.d.ts +30 -0
- package/dist/ai-providers/errors/ai-providers.errors.js +57 -0
- package/dist/ai-providers/errors/ai-providers.errors.js.map +1 -0
- package/dist/ai-providers/google-environment.d.ts +3 -0
- package/dist/ai-providers/google-environment.js +18 -0
- package/dist/ai-providers/google-environment.js.map +1 -0
- package/dist/app-init/app-init.module.js +2 -2
- package/dist/app-init/app-init.module.js.map +1 -1
- package/dist/app-init/app-init.runner.d.ts +4 -4
- package/dist/app-init/app-init.runner.js +27 -21
- package/dist/app-init/app-init.runner.js.map +1 -1
- package/dist/app-init/mcp/internal-worker-auth.mcp.d.ts +2 -0
- package/dist/app-init/mcp/internal-worker-auth.mcp.js +13 -1
- package/dist/app-init/mcp/internal-worker-auth.mcp.js.map +1 -1
- package/dist/app.module.js +15 -3
- package/dist/app.module.js.map +1 -1
- package/dist/auth/core/constants/internal-auth-target.constant.d.ts +1 -1
- package/dist/auth/core/constants/internal-auth-target.constant.js +6 -1
- package/dist/auth/core/constants/internal-auth-target.constant.js.map +1 -1
- package/dist/auth/core/scopes/all-api.scopes.js +2 -2
- package/dist/auth/core/scopes/all-api.scopes.js.map +1 -1
- package/dist/common/postgres-io.adapter.d.ts +12 -0
- package/dist/common/postgres-io.adapter.js +62 -0
- package/dist/common/postgres-io.adapter.js.map +1 -0
- package/dist/config/env.config.d.ts +1 -0
- package/dist/config/env.config.js +9 -0
- package/dist/config/env.config.js.map +1 -1
- package/dist/discovery/discovery.service.js +1 -0
- package/dist/discovery/discovery.service.js.map +1 -1
- package/dist/errors/http/error-catalog.js +20 -14
- package/dist/errors/http/error-catalog.js.map +1 -1
- package/dist/executions/active/active-task-execution.service.js +4 -0
- package/dist/executions/active/active-task-execution.service.js.map +1 -1
- package/dist/executions/events/active-executions-changed.event.d.ts +5 -0
- package/dist/executions/events/active-executions-changed.event.js +12 -0
- package/dist/executions/events/active-executions-changed.event.js.map +1 -0
- package/dist/executions/executions.gateway.d.ts +18 -0
- package/dist/executions/executions.gateway.js +85 -0
- package/dist/executions/executions.gateway.js.map +1 -0
- package/dist/executions/executions.module.js +2 -0
- package/dist/executions/executions.module.js.map +1 -1
- package/dist/executions/staleness/stale-active-task-execution-pruner.service.js +2 -0
- package/dist/executions/staleness/stale-active-task-execution-pruner.service.js.map +1 -1
- package/dist/main.js +4 -0
- package/dist/main.js.map +1 -1
- package/dist/migrations/1760200000000-ThreadAgentMessages.d.ts +6 -0
- package/dist/migrations/1760200000000-ThreadAgentMessages.js +28 -0
- package/dist/migrations/1760200000000-ThreadAgentMessages.js.map +1 -0
- package/dist/migrations/1760300000000-ChatProviderModelConfig.d.ts +6 -0
- package/dist/migrations/1760300000000-ChatProviderModelConfig.js +14 -0
- package/dist/migrations/1760300000000-ChatProviderModelConfig.js.map +1 -0
- package/dist/migrations/1760400000000-ReplaceAdkChatProvider.d.ts +6 -0
- package/dist/migrations/1760400000000-ReplaceAdkChatProvider.js +16 -0
- package/dist/migrations/1760400000000-ReplaceAdkChatProvider.js.map +1 -0
- package/dist/migrations/1760500000000-AiProviderModelSelections.d.ts +6 -0
- package/dist/migrations/1760500000000-AiProviderModelSelections.js +56 -0
- package/dist/migrations/1760500000000-AiProviderModelSelections.js.map +1 -0
- package/dist/migrations/1760600000000-DropAdkSessionTables.d.ts +6 -0
- package/dist/migrations/1760600000000-DropAdkSessionTables.js +51 -0
- package/dist/migrations/1760600000000-DropAdkSessionTables.js.map +1 -0
- package/dist/public/assets/index-BUmnqjpv.js +117 -0
- package/dist/public/assets/index-DOm5BmlC.css +1 -0
- package/dist/public/beta/assets/{index-BRla0F5r.js → index-n0qUSWPJ.js} +30 -30
- package/dist/public/beta/index.html +1 -1
- package/dist/public/index.html +2 -2
- package/dist/public/package.json +4 -4
- package/dist/scripts/migrate-sqlite-to-postgres.js +0 -22
- package/dist/scripts/migrate-sqlite-to-postgres.js.map +1 -1
- package/dist/threads/agent/agent-context.utils.d.ts +14 -0
- package/dist/threads/agent/agent-context.utils.js +42 -0
- package/dist/threads/agent/agent-context.utils.js.map +1 -0
- package/dist/threads/agent/agent-context.utils.spec.d.ts +1 -0
- package/dist/threads/agent/agent-context.utils.spec.js +60 -0
- package/dist/threads/agent/agent-context.utils.spec.js.map +1 -0
- package/dist/threads/agent/chat-model.factory.d.ts +25 -0
- package/dist/threads/agent/chat-model.factory.js +106 -0
- package/dist/threads/agent/chat-model.factory.js.map +1 -0
- package/dist/threads/agent/chat-model.factory.spec.d.ts +1 -0
- package/dist/threads/agent/chat-model.factory.spec.js +83 -0
- package/dist/threads/agent/chat-model.factory.spec.js.map +1 -0
- package/dist/threads/agent/hooks/compaction.hook.d.ts +11 -0
- package/dist/threads/agent/hooks/compaction.hook.js +109 -0
- package/dist/threads/agent/hooks/compaction.hook.js.map +1 -0
- package/dist/threads/agent/hooks/easter-egg.hook.d.ts +5 -0
- package/dist/threads/agent/hooks/easter-egg.hook.js +30 -0
- package/dist/threads/agent/hooks/easter-egg.hook.js.map +1 -0
- package/dist/threads/agent/hooks/hooks.spec.d.ts +1 -0
- package/dist/threads/agent/hooks/hooks.spec.js +87 -0
- package/dist/threads/agent/hooks/hooks.spec.js.map +1 -0
- package/dist/threads/agent/hooks/thread-agent-hook.interface.d.ts +20 -0
- package/dist/threads/agent/hooks/thread-agent-hook.interface.js +5 -0
- package/dist/threads/agent/hooks/thread-agent-hook.interface.js.map +1 -0
- package/dist/threads/agent/hooks/thread-agent-hooks.runner.d.ts +11 -0
- package/dist/threads/agent/hooks/thread-agent-hooks.runner.js +98 -0
- package/dist/threads/agent/hooks/thread-agent-hooks.runner.js.map +1 -0
- package/dist/threads/agent/taico-mcp-tools.factory.d.ts +22 -0
- package/dist/threads/agent/taico-mcp-tools.factory.js +79 -0
- package/dist/threads/agent/taico-mcp-tools.factory.js.map +1 -0
- package/dist/threads/agent/thread-agent-log.service.d.ts +41 -0
- package/dist/threads/agent/thread-agent-log.service.js +157 -0
- package/dist/threads/agent/thread-agent-log.service.js.map +1 -0
- package/dist/threads/agent/thread-agent-message.entity.d.ts +19 -0
- package/dist/threads/agent/thread-agent-message.entity.js +109 -0
- package/dist/threads/agent/thread-agent-message.entity.js.map +1 -0
- package/dist/threads/agent/thread-agent.enums.d.ts +17 -0
- package/dist/threads/agent/thread-agent.enums.js +24 -0
- package/dist/threads/agent/thread-agent.enums.js.map +1 -0
- package/dist/threads/agent/thread-agent.prompts.d.ts +5 -0
- package/dist/threads/{backends/chat-backend.utils.js → agent/thread-agent.prompts.js} +5 -4
- package/dist/threads/agent/thread-agent.prompts.js.map +1 -0
- package/dist/threads/agent/thread-agent.service.d.ts +33 -0
- package/dist/threads/agent/thread-agent.service.js +286 -0
- package/dist/threads/agent/thread-agent.service.js.map +1 -0
- package/dist/threads/agent/thread-agent.service.spec.d.ts +1 -0
- package/dist/threads/agent/thread-agent.service.spec.js +184 -0
- package/dist/threads/agent/thread-agent.service.spec.js.map +1 -0
- package/dist/threads/agent/thread-turn.entity.d.ts +12 -0
- package/dist/threads/agent/thread-turn.entity.js +71 -0
- package/dist/threads/agent/thread-turn.entity.js.map +1 -0
- package/dist/threads/agent/thread-turns.service.d.ts +13 -0
- package/dist/threads/agent/thread-turns.service.js +52 -0
- package/dist/threads/agent/thread-turns.service.js.map +1 -0
- package/dist/threads/chat.service.d.ts +5 -30
- package/dist/threads/chat.service.js +44 -119
- package/dist/threads/chat.service.js.map +1 -1
- package/dist/threads/dto/service/threads.service.types.d.ts +0 -2
- package/dist/threads/dto/thread-list-item-response.dto.d.ts +0 -1
- package/dist/threads/dto/thread-list-item-response.dto.js +0 -10
- package/dist/threads/dto/thread-list-item-response.dto.js.map +1 -1
- package/dist/threads/dto/thread-response.dto.d.ts +0 -1
- package/dist/threads/dto/thread-response.dto.js +0 -11
- package/dist/threads/dto/thread-response.dto.js.map +1 -1
- package/dist/threads/thread-message.entity.d.ts +3 -0
- package/dist/threads/thread-message.entity.js +12 -0
- package/dist/threads/thread-message.entity.js.map +1 -1
- package/dist/threads/thread.entity.d.ts +3 -1
- package/dist/threads/thread.entity.js +23 -3
- package/dist/threads/thread.entity.js.map +1 -1
- package/dist/threads/threads-state.service.spec.js +3 -1
- package/dist/threads/threads-state.service.spec.js.map +1 -1
- package/dist/threads/threads.module.js +31 -8
- package/dist/threads/threads.module.js.map +1 -1
- package/dist/threads/threads.service.d.ts +3 -8
- package/dist/threads/threads.service.js +6 -143
- package/dist/threads/threads.service.js.map +1 -1
- package/dist/threads/threads.service.spec.js +3 -2
- package/dist/threads/threads.service.spec.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/walkthrough/dto/walkthrough-status-response.dto.d.ts +1 -0
- package/dist/walkthrough/dto/walkthrough-status-response.dto.js +8 -0
- package/dist/walkthrough/dto/walkthrough-status-response.dto.js.map +1 -1
- package/dist/walkthrough/walkthrough.controller.js +1 -0
- package/dist/walkthrough/walkthrough.controller.js.map +1 -1
- package/dist/walkthrough/walkthrough.module.js +2 -0
- package/dist/walkthrough/walkthrough.module.js.map +1 -1
- package/dist/walkthrough/walkthrough.service.d.ts +4 -1
- package/dist/walkthrough/walkthrough.service.js +14 -7
- package/dist/walkthrough/walkthrough.service.js.map +1 -1
- package/package.json +17 -9
- package/dist/chat-providers/chat-provider.entity.js.map +0 -1
- package/dist/chat-providers/chat-providers.controller.d.ts +0 -19
- package/dist/chat-providers/chat-providers.controller.js +0 -179
- package/dist/chat-providers/chat-providers.controller.js.map +0 -1
- package/dist/chat-providers/chat-providers.module.d.ts +0 -2
- package/dist/chat-providers/chat-providers.module.js +0 -32
- package/dist/chat-providers/chat-providers.module.js.map +0 -1
- package/dist/chat-providers/chat-providers.scopes.d.ts +0 -20
- package/dist/chat-providers/chat-providers.scopes.js +0 -23
- package/dist/chat-providers/chat-providers.scopes.js.map +0 -1
- package/dist/chat-providers/chat-providers.service.d.ts +0 -20
- package/dist/chat-providers/chat-providers.service.js +0 -193
- package/dist/chat-providers/chat-providers.service.js.map +0 -1
- package/dist/chat-providers/dto/http/chat-provider-params.dto.d.ts +0 -3
- package/dist/chat-providers/dto/http/chat-provider-params.dto.js.map +0 -1
- package/dist/chat-providers/dto/http/chat-provider-response.dto.d.ts +0 -12
- package/dist/chat-providers/dto/http/chat-provider-response.dto.js.map +0 -1
- package/dist/chat-providers/dto/http/create-chat-provider.dto.d.ts +0 -6
- package/dist/chat-providers/dto/http/create-chat-provider.dto.js.map +0 -1
- package/dist/chat-providers/dto/http/set-active-chat-provider.dto.d.ts +0 -3
- package/dist/chat-providers/dto/http/set-active-chat-provider.dto.js.map +0 -1
- package/dist/chat-providers/dto/http/update-chat-provider.dto.d.ts +0 -5
- package/dist/chat-providers/dto/http/update-chat-provider.dto.js +0 -49
- package/dist/chat-providers/dto/http/update-chat-provider.dto.js.map +0 -1
- package/dist/chat-providers/dto/service/chat-providers.service.types.d.ts +0 -30
- package/dist/chat-providers/dto/service/chat-providers.service.types.js +0 -3
- package/dist/chat-providers/dto/service/chat-providers.service.types.js.map +0 -1
- package/dist/chat-providers/enums/chat-provider-type.enum.d.ts +0 -4
- package/dist/chat-providers/enums/chat-provider-type.enum.js +0 -9
- package/dist/chat-providers/enums/chat-provider-type.enum.js.map +0 -1
- package/dist/chat-providers/enums/index.d.ts +0 -1
- package/dist/chat-providers/enums/index.js.map +0 -1
- package/dist/chat-providers/errors/chat-providers.errors.d.ts +0 -25
- package/dist/chat-providers/errors/chat-providers.errors.js +0 -48
- package/dist/chat-providers/errors/chat-providers.errors.js.map +0 -1
- package/dist/llm/llm.module.d.ts +0 -2
- package/dist/llm/llm.module.js +0 -23
- package/dist/llm/llm.module.js.map +0 -1
- package/dist/llm/openai-responses.service.d.ts +0 -12
- package/dist/llm/openai-responses.service.js +0 -69
- package/dist/llm/openai-responses.service.js.map +0 -1
- package/dist/public/assets/index-CPjOd3Sq.css +0 -1
- package/dist/public/assets/index-DVNE_5Yh.js +0 -73
- package/dist/threads/backends/adk.backend.d.ts +0 -18
- package/dist/threads/backends/adk.backend.js +0 -264
- package/dist/threads/backends/adk.backend.js.map +0 -1
- package/dist/threads/backends/chat-backend.interface.d.ts +0 -39
- package/dist/threads/backends/chat-backend.interface.js.map +0 -1
- package/dist/threads/backends/chat-backend.utils.d.ts +0 -5
- package/dist/threads/backends/chat-backend.utils.js.map +0 -1
- package/dist/threads/backends/openai.backend.d.ts +0 -19
- package/dist/threads/backends/openai.backend.js +0 -155
- package/dist/threads/backends/openai.backend.js.map +0 -1
- package/dist/threads/openai-mcp-server-factory.service.d.ts +0 -8
- package/dist/threads/openai-mcp-server-factory.service.js +0 -114
- 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,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
|