@taico/taico 0.2.11 → 0.2.13
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/dist/app-init/app-init.runner.js +12 -6
- package/dist/app-init/app-init.runner.js.map +1 -1
- package/dist/app.controller.js.map +1 -1
- package/dist/chat-providers/chat-providers.service.js +6 -2
- package/dist/chat-providers/chat-providers.service.js.map +1 -1
- package/dist/chat-providers/dto/service/chat-providers.service.types.d.ts +1 -1
- package/dist/chat-providers/enums/chat-provider-type.enum.d.ts +2 -1
- package/dist/chat-providers/enums/chat-provider-type.enum.js +1 -0
- package/dist/chat-providers/enums/chat-provider-type.enum.js.map +1 -1
- package/dist/config/env.config.d.ts +1 -0
- package/dist/config/env.config.js +17 -0
- package/dist/config/env.config.js.map +1 -1
- package/dist/context/context.mcp.gateway.js +57 -1
- package/dist/context/context.mcp.gateway.js.map +1 -1
- package/dist/context/context.service.js +42 -13
- package/dist/context/context.service.js.map +1 -1
- package/dist/context/dto/service/context.service.types.d.ts +4 -0
- package/dist/discovery/discovery.controller.js.map +1 -1
- package/dist/executions/executions-worker.gateway.d.ts +3 -0
- package/dist/executions/executions-worker.gateway.js +21 -0
- package/dist/executions/executions-worker.gateway.js.map +1 -1
- package/dist/executions/queue/task-execution-queued.event.d.ts +6 -0
- package/dist/executions/queue/task-execution-queued.event.js +13 -0
- package/dist/executions/queue/task-execution-queued.event.js.map +1 -0
- package/dist/executions/readiness/task-execution-queue-populator.service.d.ts +3 -1
- package/dist/executions/readiness/task-execution-queue-populator.service.js +8 -2
- package/dist/executions/readiness/task-execution-queue-populator.service.js.map +1 -1
- package/dist/executions/readiness/task-execution-queue-populator.service.spec.d.ts +1 -0
- package/dist/executions/readiness/task-execution-queue-populator.service.spec.js +113 -0
- package/dist/executions/readiness/task-execution-queue-populator.service.spec.js.map +1 -0
- package/dist/llm/openai-responses.service.js +3 -0
- package/dist/llm/openai-responses.service.js.map +1 -1
- package/dist/main.js +33 -22
- package/dist/main.js.map +1 -1
- package/dist/public/assets/index-Cl8y_6g0.css +1 -0
- package/dist/public/assets/index-DaHPYsvL.js +73 -0
- package/dist/public/beta/assets/{index-rfhzPvbf.js → index-g8TuopEh.js} +1 -1
- package/dist/public/beta/index.html +1 -1
- package/dist/public/index.html +2 -2
- package/dist/tasks/tasks.mcp.gateway.js +56 -1
- package/dist/tasks/tasks.mcp.gateway.js.map +1 -1
- package/dist/threads/backends/adk.backend.d.ts +19 -0
- package/dist/threads/backends/adk.backend.js +275 -0
- package/dist/threads/backends/adk.backend.js.map +1 -0
- package/dist/threads/backends/chat-backend.interface.d.ts +39 -0
- package/dist/threads/backends/chat-backend.interface.js +3 -0
- package/dist/threads/backends/chat-backend.interface.js.map +1 -0
- package/dist/threads/backends/chat-backend.utils.d.ts +5 -0
- package/dist/threads/backends/chat-backend.utils.js +27 -0
- package/dist/threads/backends/chat-backend.utils.js.map +1 -0
- package/dist/threads/backends/openai.backend.d.ts +19 -0
- package/dist/threads/backends/openai.backend.js +155 -0
- package/dist/threads/backends/openai.backend.js.map +1 -0
- package/dist/threads/chat.service.d.ts +23 -29
- package/dist/threads/chat.service.js +94 -401
- package/dist/threads/chat.service.js.map +1 -1
- package/dist/threads/thread-state-reconciler.service.d.ts +5 -9
- package/dist/threads/thread-state-reconciler.service.js +17 -59
- package/dist/threads/thread-state-reconciler.service.js.map +1 -1
- package/dist/threads/thread-title.service.d.ts +3 -3
- package/dist/threads/thread-title.service.js +6 -9
- package/dist/threads/thread-title.service.js.map +1 -1
- package/dist/threads/threads.module.js +4 -2
- package/dist/threads/threads.module.js.map +1 -1
- package/dist/threads/threads.service.d.ts +4 -15
- package/dist/threads/threads.service.js +97 -24
- package/dist/threads/threads.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/public/assets/index-Bh1qbaci.css +0 -1
- package/dist/public/assets/index-D558s7Ot.js +0 -73
|
@@ -0,0 +1,155 @@
|
|
|
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.2',
|
|
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.2-codex',
|
|
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.2-codex',
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.backend.js","sourceRoot":"","sources":["../../../src/threads/backends/openai.backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +1,43 @@
|
|
|
1
|
-
import { OnModuleDestroy } from "@nestjs/common";
|
|
2
1
|
import { IssuedAccessTokenService } from "../authorization-server/issued-access-token.service";
|
|
3
|
-
import { ThreadsService } from "./threads.service";
|
|
4
2
|
import { AgentsService } from "../agents/agents.service";
|
|
5
|
-
import { OpenAI } from "openai";
|
|
6
3
|
import { ActorEntity } from "../identity-provider/actor.entity";
|
|
7
|
-
import { OpenAiMcpServerFactoryService } from "./openai-mcp-server-factory.service";
|
|
8
4
|
import { ChatProvidersService } from "../chat-providers/chat-providers.service";
|
|
5
|
+
import { AdkBackend } from './backends/adk.backend';
|
|
6
|
+
import { OpenAiBackend } from './backends/openai.backend';
|
|
7
|
+
import { ChatStreamEvent } from './backends/chat-backend.interface';
|
|
8
|
+
export type { ChatStreamEvent };
|
|
9
9
|
export interface CreateConversationArgs {
|
|
10
10
|
threadId: string;
|
|
11
11
|
}
|
|
12
|
-
export interface
|
|
13
|
-
message: string;
|
|
14
|
-
actor: ActorEntity;
|
|
15
|
-
}
|
|
16
|
-
export interface SendMessageToThreadArgs {
|
|
12
|
+
export interface StreamMessageToConversationArgs {
|
|
17
13
|
conversationId: string;
|
|
18
14
|
threadId: string;
|
|
19
15
|
message: string;
|
|
20
16
|
actor: ActorEntity;
|
|
21
17
|
}
|
|
22
|
-
export
|
|
18
|
+
export interface StreamMessageResult {
|
|
19
|
+
agentActorId: string;
|
|
20
|
+
events: AsyncIterable<ChatStreamEvent>;
|
|
21
|
+
}
|
|
22
|
+
export declare class ChatService {
|
|
23
23
|
private readonly agentsService;
|
|
24
|
-
private readonly threadsService;
|
|
25
24
|
private readonly issuedAccessTokenService;
|
|
26
|
-
private readonly openAiMcpServerFactoryService;
|
|
27
25
|
private readonly chatProvidersService;
|
|
28
|
-
private
|
|
29
|
-
private readonly
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
private readonly adkBackend;
|
|
27
|
+
private readonly openAiBackend;
|
|
28
|
+
private readonly logger;
|
|
29
|
+
constructor(agentsService: AgentsService, issuedAccessTokenService: IssuedAccessTokenService, chatProvidersService: ChatProvidersService, adkBackend: AdkBackend, openAiBackend: OpenAiBackend);
|
|
32
30
|
private getSelf;
|
|
33
|
-
private
|
|
34
|
-
private configureOpenAiSdk;
|
|
31
|
+
private getActiveBackend;
|
|
35
32
|
ensureConversationAvailable(): Promise<void>;
|
|
36
|
-
|
|
37
|
-
createConversation({ threadId }: CreateConversationArgs): Promise<(OpenAI.Conversations.Conversation & {
|
|
38
|
-
_request_id?: string | null;
|
|
39
|
-
}) | {
|
|
33
|
+
createConversation({ threadId }: CreateConversationArgs): Promise<{
|
|
40
34
|
id: string;
|
|
41
35
|
}>;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
generateText(prompt: string): Promise<string | null>;
|
|
37
|
+
runTask(args: {
|
|
38
|
+
instructions: string;
|
|
39
|
+
prompt: string;
|
|
40
|
+
actor: ActorEntity | null;
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
streamMessageToConversation(args: StreamMessageToConversationArgs): Promise<StreamMessageResult>;
|
|
49
43
|
}
|