@taico/taico 0.7.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/ai-providers/ai-model-selections.service.js +24 -2
- package/dist/ai-providers/ai-model-selections.service.js.map +1 -1
- package/dist/ai-providers/ai-provider-authorization-attempt.entity.d.ts +17 -0
- package/dist/ai-providers/ai-provider-authorization-attempt.entity.js +90 -0
- package/dist/ai-providers/ai-provider-authorization-attempt.entity.js.map +1 -0
- package/dist/ai-providers/ai-provider-connection.entity.d.ts +24 -0
- package/dist/ai-providers/ai-provider-connection.entity.js +131 -0
- package/dist/ai-providers/ai-provider-connection.entity.js.map +1 -0
- package/dist/ai-providers/ai-provider-connections.controller.d.ts +15 -0
- package/dist/ai-providers/ai-provider-connections.controller.js +167 -0
- package/dist/ai-providers/ai-provider-connections.controller.js.map +1 -0
- package/dist/ai-providers/ai-provider-models.service.d.ts +5 -2
- package/dist/ai-providers/ai-provider-models.service.js +44 -5
- package/dist/ai-providers/ai-provider-models.service.js.map +1 -1
- package/dist/ai-providers/ai-provider-models.service.spec.d.ts +1 -0
- package/dist/ai-providers/ai-provider-models.service.spec.js +110 -0
- package/dist/ai-providers/ai-provider-models.service.spec.js.map +1 -0
- package/dist/ai-providers/ai-provider.entity.d.ts +1 -0
- package/dist/ai-providers/ai-provider.entity.js +5 -0
- package/dist/ai-providers/ai-provider.entity.js.map +1 -1
- package/dist/ai-providers/ai-providers.controller.d.ts +1 -1
- package/dist/ai-providers/ai-providers.controller.js +4 -3
- package/dist/ai-providers/ai-providers.controller.js.map +1 -1
- package/dist/ai-providers/ai-providers.module.js +30 -4
- package/dist/ai-providers/ai-providers.module.js.map +1 -1
- package/dist/ai-providers/ai-providers.scopes.d.ts +4 -0
- package/dist/ai-providers/ai-providers.scopes.js +4 -0
- package/dist/ai-providers/ai-providers.scopes.js.map +1 -1
- package/dist/ai-providers/ai-providers.service.d.ts +3 -1
- package/dist/ai-providers/ai-providers.service.js +23 -3
- package/dist/ai-providers/ai-providers.service.js.map +1 -1
- package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.d.ts +50 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.js +607 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-connections.service.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.d.ts +59 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.js +247 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-oauth.client.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.d.ts +21 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.js +298 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.d.ts +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.js +345 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-responses.model.spec.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.d.ts +16 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.js +26 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.constants.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.d.ts +12 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.js +55 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.errors.js.map +1 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.d.ts +15 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.js +78 -0
- package/dist/ai-providers/chatgpt-subscription/chatgpt-subscription.service.js.map +1 -0
- package/dist/ai-providers/dto/http/ai-provider-connection.dto.d.ts +30 -0
- package/dist/ai-providers/dto/http/ai-provider-connection.dto.js +182 -0
- package/dist/ai-providers/dto/http/ai-provider-connection.dto.js.map +1 -0
- package/dist/ai-providers/dto/service/ai-providers.service.types.d.ts +32 -1
- package/dist/ai-providers/enums/ai-model-job.enum.d.ts +3 -1
- package/dist/ai-providers/enums/ai-model-job.enum.js +10 -3
- package/dist/ai-providers/enums/ai-model-job.enum.js.map +1 -1
- package/dist/ai-providers/enums/ai-provider-connection-status.enum.d.ts +6 -0
- package/dist/ai-providers/enums/ai-provider-connection-status.enum.js +11 -0
- package/dist/ai-providers/enums/ai-provider-connection-status.enum.js.map +1 -0
- package/dist/ai-providers/enums/ai-provider-type.enum.d.ts +4 -1
- package/dist/ai-providers/enums/ai-provider-type.enum.js +9 -1
- package/dist/ai-providers/enums/ai-provider-type.enum.js.map +1 -1
- package/dist/ai-providers/enums/index.d.ts +1 -0
- package/dist/ai-providers/enums/index.js +1 -0
- package/dist/ai-providers/enums/index.js.map +1 -1
- package/dist/ai-providers/errors/ai-providers.errors.d.ts +33 -0
- package/dist/ai-providers/errors/ai-providers.errors.js +75 -4
- package/dist/ai-providers/errors/ai-providers.errors.js.map +1 -1
- package/dist/ai-providers/google-environment.d.ts +1 -0
- package/dist/ai-providers/google-environment.js +4 -0
- package/dist/ai-providers/google-environment.js.map +1 -1
- package/dist/app.module.js +6 -0
- package/dist/app.module.js.map +1 -1
- package/dist/config/env.config.d.ts +3 -0
- package/dist/config/env.config.js +17 -0
- package/dist/config/env.config.js.map +1 -1
- package/dist/errors/http/error-catalog.js +48 -0
- package/dist/errors/http/error-catalog.js.map +1 -1
- package/dist/migrations/1761600000000-AiProviderConnections.d.ts +6 -0
- package/dist/migrations/1761600000000-AiProviderConnections.js +61 -0
- package/dist/migrations/1761600000000-AiProviderConnections.js.map +1 -0
- package/dist/migrations/1761700000000-SplitSmallTasksSelection.d.ts +6 -0
- package/dist/migrations/1761700000000-SplitSmallTasksSelection.js +32 -0
- package/dist/migrations/1761700000000-SplitSmallTasksSelection.js.map +1 -0
- package/dist/migrations/1761800000000-ThreadTimers.d.ts +6 -0
- package/dist/migrations/1761800000000-ThreadTimers.js +22 -0
- package/dist/migrations/1761800000000-ThreadTimers.js.map +1 -0
- package/dist/public/assets/index-G5Ht4law.js +118 -0
- package/dist/public/assets/index-NjAtMwFI.css +1 -0
- package/dist/public/beta/assets/{index-tTf096QG.js → index-BO6PlAsO.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/search/index/search-embeddings.service.js +2 -0
- package/dist/search/index/search-embeddings.service.js.map +1 -1
- package/dist/secrets/secret-storage-format.d.ts +5 -0
- package/dist/secrets/secret-storage-format.js +101 -0
- package/dist/secrets/secret-storage-format.js.map +1 -0
- package/dist/secrets/secret-storage-format.spec.d.ts +1 -0
- package/dist/secrets/secret-storage-format.spec.js +32 -0
- package/dist/secrets/secret-storage-format.spec.js.map +1 -0
- package/dist/secrets/secrets-encryption.service.d.ts +1 -0
- package/dist/secrets/secrets-encryption.service.js +3 -0
- package/dist/secrets/secrets-encryption.service.js.map +1 -1
- package/dist/secrets/secrets.module.js +1 -1
- package/dist/secrets/secrets.module.js.map +1 -1
- package/dist/threads/agent/chat-model.factory.d.ts +6 -1
- package/dist/threads/agent/chat-model.factory.js +32 -8
- package/dist/threads/agent/chat-model.factory.js.map +1 -1
- package/dist/threads/agent/chat-model.factory.spec.js +143 -4
- package/dist/threads/agent/chat-model.factory.spec.js.map +1 -1
- package/dist/threads/agent/hooks/compaction.hook.d.ts +1 -0
- package/dist/threads/agent/hooks/compaction.hook.js +31 -7
- package/dist/threads/agent/hooks/compaction.hook.js.map +1 -1
- package/dist/threads/agent/hooks/hooks.spec.js +123 -0
- package/dist/threads/agent/hooks/hooks.spec.js.map +1 -1
- package/dist/threads/agent/thread-agent-log.service.d.ts +10 -0
- package/dist/threads/agent/thread-agent-log.service.js +57 -1
- package/dist/threads/agent/thread-agent-log.service.js.map +1 -1
- package/dist/threads/agent/thread-agent-tools.factory.d.ts +3 -1
- package/dist/threads/agent/thread-agent-tools.factory.js +195 -3
- package/dist/threads/agent/thread-agent-tools.factory.js.map +1 -1
- package/dist/threads/agent/thread-agent.prompts.d.ts +15 -0
- package/dist/threads/agent/thread-agent.prompts.js +29 -1
- package/dist/threads/agent/thread-agent.prompts.js.map +1 -1
- package/dist/threads/agent/thread-agent.service.js +10 -3
- package/dist/threads/agent/thread-agent.service.js.map +1 -1
- package/dist/threads/agent/thread-agent.service.spec.js +59 -4
- package/dist/threads/agent/thread-agent.service.spec.js.map +1 -1
- package/dist/threads/chat.service.d.ts +13 -1
- package/dist/threads/chat.service.js +77 -21
- package/dist/threads/chat.service.js.map +1 -1
- package/dist/threads/chat.service.spec.d.ts +1 -0
- package/dist/threads/chat.service.spec.js +150 -0
- package/dist/threads/chat.service.spec.js.map +1 -0
- package/dist/threads/dto/service/threads.service.types.d.ts +12 -0
- package/dist/threads/dto/thread-response.dto.d.ts +2 -0
- package/dist/threads/dto/thread-response.dto.js +10 -0
- package/dist/threads/dto/thread-response.dto.js.map +1 -1
- package/dist/threads/dto/thread-task-subscription-params.dto.d.ts +4 -0
- package/dist/threads/dto/thread-task-subscription-params.dto.js +28 -0
- package/dist/threads/dto/thread-task-subscription-params.dto.js.map +1 -0
- package/dist/threads/dto/thread-timer-params.dto.d.ts +4 -0
- package/dist/threads/dto/thread-timer-params.dto.js +28 -0
- package/dist/threads/dto/thread-timer-params.dto.js.map +1 -0
- package/dist/threads/dto/thread-timer-response.dto.d.ts +13 -0
- package/dist/threads/dto/thread-timer-response.dto.js +92 -0
- package/dist/threads/dto/thread-timer-response.dto.js.map +1 -0
- package/dist/threads/task-subscriptions/thread-task-subscriptions.service.d.ts +8 -0
- package/dist/threads/task-subscriptions/thread-task-subscriptions.service.js +14 -0
- package/dist/threads/task-subscriptions/thread-task-subscriptions.service.js.map +1 -1
- package/dist/threads/thread-state-reconciler.service.js +5 -0
- package/dist/threads/thread-state-reconciler.service.js.map +1 -1
- package/dist/threads/thread-state-reconciler.service.spec.d.ts +1 -0
- package/dist/threads/thread-state-reconciler.service.spec.js +44 -0
- package/dist/threads/thread-state-reconciler.service.spec.js.map +1 -0
- package/dist/threads/thread-title.service.d.ts +8 -2
- package/dist/threads/thread-title.service.js +18 -3
- package/dist/threads/thread-title.service.js.map +1 -1
- package/dist/threads/thread-title.service.spec.d.ts +1 -0
- package/dist/threads/thread-title.service.spec.js +59 -0
- package/dist/threads/thread-title.service.spec.js.map +1 -0
- package/dist/threads/threads.controller.d.ts +4 -0
- package/dist/threads/threads.controller.js +40 -0
- package/dist/threads/threads.controller.js.map +1 -1
- package/dist/threads/threads.module.js +8 -0
- package/dist/threads/threads.module.js.map +1 -1
- package/dist/threads/threads.service.d.ts +8 -1
- package/dist/threads/threads.service.js +39 -10
- package/dist/threads/threads.service.js.map +1 -1
- package/dist/threads/timers/thread-timer-firing.entity.d.ts +9 -0
- package/dist/threads/timers/thread-timer-firing.entity.js +54 -0
- package/dist/threads/timers/thread-timer-firing.entity.js.map +1 -0
- package/dist/threads/timers/thread-timer-sweeper.service.d.ts +11 -0
- package/dist/threads/timers/thread-timer-sweeper.service.js +62 -0
- package/dist/threads/timers/thread-timer-sweeper.service.js.map +1 -0
- package/dist/threads/timers/thread-timer.entity.d.ts +17 -0
- package/dist/threads/timers/thread-timer.entity.js +87 -0
- package/dist/threads/timers/thread-timer.entity.js.map +1 -0
- package/dist/threads/timers/thread-timer.enums.d.ts +4 -0
- package/dist/threads/timers/thread-timer.enums.js +9 -0
- package/dist/threads/timers/thread-timer.enums.js.map +1 -0
- package/dist/threads/timers/thread-timers.service.d.ts +26 -0
- package/dist/threads/timers/thread-timers.service.js +130 -0
- package/dist/threads/timers/thread-timers.service.js.map +1 -0
- package/dist/threads/timers/timer-input.d.ts +13 -0
- package/dist/threads/timers/timer-input.js +159 -0
- package/dist/threads/timers/timer-input.js.map +1 -0
- package/dist/threads/timers/timer-input.spec.d.ts +1 -0
- package/dist/threads/timers/timer-input.spec.js +92 -0
- package/dist/threads/timers/timer-input.spec.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/dist/public/assets/index-ChunDgwd.css +0 -1
- package/dist/public/assets/index-DRkJsm_M.js +0 -118
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Backend
|
|
2
2
|
|
|
3
|
-
[](https://badge.socket.dev/npm/package/@taico/taico/0.8.1)
|
|
4
4
|
|
|
5
5
|
NestJS backend for Taico.
|
|
6
6
|
|
|
@@ -22,6 +22,12 @@ const ai_provider_entity_1 = require("./ai-provider.entity");
|
|
|
22
22
|
const ai_providers_service_1 = require("./ai-providers.service");
|
|
23
23
|
const enums_1 = require("./enums");
|
|
24
24
|
const ai_providers_errors_1 = require("./errors/ai-providers.errors");
|
|
25
|
+
function mayRunJob(provider, job, inherited) {
|
|
26
|
+
if (!(0, enums_1.isUserConnectedProviderType)(provider.type)) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return !inherited && enums_1.USER_CONNECTED_PROVIDER_JOBS.includes(job);
|
|
30
|
+
}
|
|
25
31
|
let AiModelSelectionsService = AiModelSelectionsService_1 = class AiModelSelectionsService {
|
|
26
32
|
selectionRepository;
|
|
27
33
|
aiProviderRepository;
|
|
@@ -44,8 +50,12 @@ let AiModelSelectionsService = AiModelSelectionsService_1 = class AiModelSelecti
|
|
|
44
50
|
return Object.values(enums_1.AiModelJob).map((job) => {
|
|
45
51
|
const own = byJob.get(job) ?? null;
|
|
46
52
|
const followsConversation = !own && enums_1.JOBS_FOLLOWING_CONVERSATION.includes(job);
|
|
47
|
-
|
|
48
|
-
|
|
53
|
+
let effective = followsConversation ? byJob.get(enums_1.AiModelJob.CONVERSATION) ?? null : own;
|
|
54
|
+
let provider = effective ? providersById.get(effective.aiProviderId) : undefined;
|
|
55
|
+
if (provider && !mayRunJob(provider, job, followsConversation)) {
|
|
56
|
+
effective = null;
|
|
57
|
+
provider = undefined;
|
|
58
|
+
}
|
|
49
59
|
return {
|
|
50
60
|
job,
|
|
51
61
|
aiProviderId: own?.aiProviderId ?? null,
|
|
@@ -72,6 +82,9 @@ let AiModelSelectionsService = AiModelSelectionsService_1 = class AiModelSelecti
|
|
|
72
82
|
if (!provider) {
|
|
73
83
|
throw new ai_providers_errors_1.AiProviderNotFoundError(input.aiProviderId);
|
|
74
84
|
}
|
|
85
|
+
if (!mayRunJob(provider, input.job, false)) {
|
|
86
|
+
throw new ai_providers_errors_1.AiProviderJobNotAllowedError(provider.id, input.job);
|
|
87
|
+
}
|
|
75
88
|
await manager
|
|
76
89
|
.getRepository(ai_model_selection_entity_1.AiModelSelectionEntity)
|
|
77
90
|
.upsert({ job: input.job, aiProviderId: input.aiProviderId, modelId: input.modelId.trim() }, ['job']);
|
|
@@ -92,6 +105,15 @@ let AiModelSelectionsService = AiModelSelectionsService_1 = class AiModelSelecti
|
|
|
92
105
|
if (!selection) {
|
|
93
106
|
throw new ai_providers_errors_1.AiModelNotSelectedError(job);
|
|
94
107
|
}
|
|
108
|
+
const entity = await this.aiProviderRepository.findOne({
|
|
109
|
+
where: { id: selection.aiProviderId },
|
|
110
|
+
});
|
|
111
|
+
const inherited = selection.job !== job;
|
|
112
|
+
if (entity && !mayRunJob(entity, job, inherited)) {
|
|
113
|
+
throw !inherited
|
|
114
|
+
? new ai_providers_errors_1.AiProviderJobNotAllowedError(entity.id, job)
|
|
115
|
+
: new ai_providers_errors_1.AiModelNotSelectedError(job);
|
|
116
|
+
}
|
|
95
117
|
const provider = await this.aiProvidersService.getAiProviderConfigById(selection.aiProviderId);
|
|
96
118
|
return { provider, modelId: selection.modelId };
|
|
97
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-model-selections.service.js","sourceRoot":"","sources":["../../src/ai-providers/ai-model-selections.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAmD;AACnD,qCAAiD;AACjD,2EAAqE;AACrE,6DAAwD;AACxD,iEAAoF;AAMpF,
|
|
1
|
+
{"version":3,"file":"ai-model-selections.service.js","sourceRoot":"","sources":["../../src/ai-providers/ai-model-selections.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { User } from '../identity-provider/user.entity';
|
|
2
|
+
import { AiProviderEntity } from './ai-provider.entity';
|
|
3
|
+
export declare class AiProviderAuthorizationAttemptEntity {
|
|
4
|
+
id: string;
|
|
5
|
+
aiProviderId: string;
|
|
6
|
+
aiProvider?: AiProviderEntity;
|
|
7
|
+
userId: string;
|
|
8
|
+
user?: User;
|
|
9
|
+
stateHash: string;
|
|
10
|
+
nonce: string;
|
|
11
|
+
codeVerifier: string;
|
|
12
|
+
redirectUri: string;
|
|
13
|
+
clientId: string;
|
|
14
|
+
isRegistration: boolean;
|
|
15
|
+
expiresAt: Date;
|
|
16
|
+
createdAt: Date;
|
|
17
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AiProviderAuthorizationAttemptEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const user_entity_1 = require("../identity-provider/user.entity");
|
|
15
|
+
const ai_provider_entity_1 = require("./ai-provider.entity");
|
|
16
|
+
let AiProviderAuthorizationAttemptEntity = class AiProviderAuthorizationAttemptEntity {
|
|
17
|
+
id;
|
|
18
|
+
aiProviderId;
|
|
19
|
+
aiProvider;
|
|
20
|
+
userId;
|
|
21
|
+
user;
|
|
22
|
+
stateHash;
|
|
23
|
+
nonce;
|
|
24
|
+
codeVerifier;
|
|
25
|
+
redirectUri;
|
|
26
|
+
clientId;
|
|
27
|
+
isRegistration;
|
|
28
|
+
expiresAt;
|
|
29
|
+
createdAt;
|
|
30
|
+
};
|
|
31
|
+
exports.AiProviderAuthorizationAttemptEntity = AiProviderAuthorizationAttemptEntity;
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "id", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typeorm_1.Column)({ type: 'uuid', name: 'ai_provider_id' }),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "aiProviderId", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typeorm_1.ManyToOne)(() => ai_provider_entity_1.AiProviderEntity, { onDelete: 'CASCADE' }),
|
|
42
|
+
(0, typeorm_1.JoinColumn)({ name: 'ai_provider_id' }),
|
|
43
|
+
__metadata("design:type", ai_provider_entity_1.AiProviderEntity)
|
|
44
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "aiProvider", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, typeorm_1.Column)({ type: 'uuid', name: 'user_id' }),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "userId", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, typeorm_1.ManyToOne)(() => user_entity_1.User, { onDelete: 'CASCADE' }),
|
|
51
|
+
(0, typeorm_1.JoinColumn)({ name: 'user_id' }),
|
|
52
|
+
__metadata("design:type", user_entity_1.User)
|
|
53
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "user", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, typeorm_1.Index)('UQ_ai_provider_authorization_attempts_state', { unique: true }),
|
|
56
|
+
(0, typeorm_1.Column)({ type: 'text', name: 'state_hash' }),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "stateHash", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, typeorm_1.Column)({ type: 'text' }),
|
|
61
|
+
__metadata("design:type", String)
|
|
62
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "nonce", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, typeorm_1.Column)({ type: 'text', name: 'code_verifier' }),
|
|
65
|
+
__metadata("design:type", String)
|
|
66
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "codeVerifier", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, typeorm_1.Column)({ type: 'text', name: 'redirect_uri' }),
|
|
69
|
+
__metadata("design:type", String)
|
|
70
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "redirectUri", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, typeorm_1.Column)({ type: 'text', name: 'client_id' }),
|
|
73
|
+
__metadata("design:type", String)
|
|
74
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "clientId", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, typeorm_1.Column)({ type: 'boolean', name: 'is_registration' }),
|
|
77
|
+
__metadata("design:type", Boolean)
|
|
78
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "isRegistration", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
(0, typeorm_1.Column)({ type: 'timestamptz', name: 'expires_at' }),
|
|
81
|
+
__metadata("design:type", Date)
|
|
82
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "expiresAt", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, typeorm_1.CreateDateColumn)({ type: 'timestamptz', name: 'created_at' }),
|
|
85
|
+
__metadata("design:type", Date)
|
|
86
|
+
], AiProviderAuthorizationAttemptEntity.prototype, "createdAt", void 0);
|
|
87
|
+
exports.AiProviderAuthorizationAttemptEntity = AiProviderAuthorizationAttemptEntity = __decorate([
|
|
88
|
+
(0, typeorm_1.Entity)({ name: 'ai_provider_authorization_attempts' })
|
|
89
|
+
], AiProviderAuthorizationAttemptEntity);
|
|
90
|
+
//# sourceMappingURL=ai-provider-authorization-attempt.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-provider-authorization-attempt.entity.js","sourceRoot":"","sources":["../../src/ai-providers/ai-provider-authorization-attempt.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AACjB,kEAAwD;AACxD,6DAAwD;AAQjD,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAE/C,EAAE,CAAU;IAGZ,YAAY,CAAU;IAItB,UAAU,CAAoB;IAG9B,MAAM,CAAU;IAIhB,IAAI,CAAQ;IAKZ,SAAS,CAAU;IAGnB,KAAK,CAAU;IAIf,YAAY,CAAU;IAItB,WAAW,CAAU;IAIrB,QAAQ,CAAU;IAIlB,cAAc,CAAW;IAGzB,SAAS,CAAQ;IAGjB,SAAS,CAAQ;CAClB,CAAA;AA/CY,oFAAoC;AAE/C;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;gEACnB;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;;0EAC3B;AAItB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAgB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC1D,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;8BAC1B,qCAAgB;wEAAC;AAG9B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;oEAC1B;AAIhB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC9C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BACzB,kBAAI;kEAAC;AAKZ;IAFC,IAAA,eAAK,EAAC,6CAA6C,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACtE,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;uEAC1B;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mEACV;AAIf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;0EAC1B;AAItB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;yEAC1B;AAIrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;;sEAC1B;AAIlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;;4EAC5B;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACxC,IAAI;uEAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAClD,IAAI;uEAAC;+CA9CN,oCAAoC;IADhD,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC;GAC1C,oCAAoC,CA+ChD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { User } from '../identity-provider/user.entity';
|
|
2
|
+
import { AiProviderEntity } from './ai-provider.entity';
|
|
3
|
+
import { AiProviderConnectionStatus } from './enums';
|
|
4
|
+
export declare class AiProviderConnectionEntity {
|
|
5
|
+
id: string;
|
|
6
|
+
aiProviderId: string;
|
|
7
|
+
aiProvider?: AiProviderEntity;
|
|
8
|
+
userId: string;
|
|
9
|
+
user?: User;
|
|
10
|
+
status: AiProviderConnectionStatus;
|
|
11
|
+
externalClientId: string | null;
|
|
12
|
+
externalIssuer: string | null;
|
|
13
|
+
externalSubject: string | null;
|
|
14
|
+
externalEmail: string | null;
|
|
15
|
+
grantedScopes: string | null;
|
|
16
|
+
credentials: string | null;
|
|
17
|
+
accessTokenExpiresAt: Date | null;
|
|
18
|
+
automatedTurnsAllowedAt: Date | null;
|
|
19
|
+
lastErrorCode: string | null;
|
|
20
|
+
lastErrorAt: Date | null;
|
|
21
|
+
rowVersion: number;
|
|
22
|
+
createdAt: Date;
|
|
23
|
+
updatedAt: Date;
|
|
24
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AiProviderConnectionEntity = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const user_entity_1 = require("../identity-provider/user.entity");
|
|
15
|
+
const ai_provider_entity_1 = require("./ai-provider.entity");
|
|
16
|
+
const enums_1 = require("./enums");
|
|
17
|
+
let AiProviderConnectionEntity = class AiProviderConnectionEntity {
|
|
18
|
+
id;
|
|
19
|
+
aiProviderId;
|
|
20
|
+
aiProvider;
|
|
21
|
+
userId;
|
|
22
|
+
user;
|
|
23
|
+
status;
|
|
24
|
+
externalClientId;
|
|
25
|
+
externalIssuer;
|
|
26
|
+
externalSubject;
|
|
27
|
+
externalEmail;
|
|
28
|
+
grantedScopes;
|
|
29
|
+
credentials;
|
|
30
|
+
accessTokenExpiresAt;
|
|
31
|
+
automatedTurnsAllowedAt;
|
|
32
|
+
lastErrorCode;
|
|
33
|
+
lastErrorAt;
|
|
34
|
+
rowVersion;
|
|
35
|
+
createdAt;
|
|
36
|
+
updatedAt;
|
|
37
|
+
};
|
|
38
|
+
exports.AiProviderConnectionEntity = AiProviderConnectionEntity;
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
41
|
+
__metadata("design:type", String)
|
|
42
|
+
], AiProviderConnectionEntity.prototype, "id", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, typeorm_1.Column)({ type: 'uuid', name: 'ai_provider_id' }),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], AiProviderConnectionEntity.prototype, "aiProviderId", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, typeorm_1.ManyToOne)(() => ai_provider_entity_1.AiProviderEntity, { onDelete: 'CASCADE' }),
|
|
49
|
+
(0, typeorm_1.JoinColumn)({ name: 'ai_provider_id' }),
|
|
50
|
+
__metadata("design:type", ai_provider_entity_1.AiProviderEntity)
|
|
51
|
+
], AiProviderConnectionEntity.prototype, "aiProvider", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, typeorm_1.Column)({ type: 'uuid', name: 'user_id' }),
|
|
54
|
+
__metadata("design:type", String)
|
|
55
|
+
], AiProviderConnectionEntity.prototype, "userId", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, typeorm_1.ManyToOne)(() => user_entity_1.User, { onDelete: 'CASCADE' }),
|
|
58
|
+
(0, typeorm_1.JoinColumn)({ name: 'user_id' }),
|
|
59
|
+
__metadata("design:type", user_entity_1.User)
|
|
60
|
+
], AiProviderConnectionEntity.prototype, "user", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, typeorm_1.Column)({ type: 'text', enum: enums_1.AiProviderConnectionStatus }),
|
|
63
|
+
__metadata("design:type", String)
|
|
64
|
+
], AiProviderConnectionEntity.prototype, "status", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true, name: 'external_client_id' }),
|
|
67
|
+
__metadata("design:type", Object)
|
|
68
|
+
], AiProviderConnectionEntity.prototype, "externalClientId", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true, name: 'external_issuer' }),
|
|
71
|
+
__metadata("design:type", Object)
|
|
72
|
+
], AiProviderConnectionEntity.prototype, "externalIssuer", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true, name: 'external_subject' }),
|
|
75
|
+
__metadata("design:type", Object)
|
|
76
|
+
], AiProviderConnectionEntity.prototype, "externalSubject", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true, name: 'external_email' }),
|
|
79
|
+
__metadata("design:type", Object)
|
|
80
|
+
], AiProviderConnectionEntity.prototype, "externalEmail", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true, name: 'granted_scopes' }),
|
|
83
|
+
__metadata("design:type", Object)
|
|
84
|
+
], AiProviderConnectionEntity.prototype, "grantedScopes", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true, select: false }),
|
|
87
|
+
__metadata("design:type", Object)
|
|
88
|
+
], AiProviderConnectionEntity.prototype, "credentials", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, typeorm_1.Column)({
|
|
91
|
+
type: 'timestamptz',
|
|
92
|
+
nullable: true,
|
|
93
|
+
name: 'access_token_expires_at',
|
|
94
|
+
}),
|
|
95
|
+
__metadata("design:type", Object)
|
|
96
|
+
], AiProviderConnectionEntity.prototype, "accessTokenExpiresAt", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, typeorm_1.Column)({
|
|
99
|
+
type: 'timestamptz',
|
|
100
|
+
nullable: true,
|
|
101
|
+
name: 'automated_turns_allowed_at',
|
|
102
|
+
}),
|
|
103
|
+
__metadata("design:type", Object)
|
|
104
|
+
], AiProviderConnectionEntity.prototype, "automatedTurnsAllowedAt", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true, name: 'last_error_code' }),
|
|
107
|
+
__metadata("design:type", Object)
|
|
108
|
+
], AiProviderConnectionEntity.prototype, "lastErrorCode", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, typeorm_1.Column)({ type: 'timestamptz', nullable: true, name: 'last_error_at' }),
|
|
111
|
+
__metadata("design:type", Object)
|
|
112
|
+
], AiProviderConnectionEntity.prototype, "lastErrorAt", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
(0, typeorm_1.VersionColumn)({ name: 'row_version' }),
|
|
115
|
+
__metadata("design:type", Number)
|
|
116
|
+
], AiProviderConnectionEntity.prototype, "rowVersion", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
(0, typeorm_1.CreateDateColumn)({ type: 'timestamptz', name: 'created_at' }),
|
|
119
|
+
__metadata("design:type", Date)
|
|
120
|
+
], AiProviderConnectionEntity.prototype, "createdAt", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, typeorm_1.UpdateDateColumn)({ type: 'timestamptz', name: 'updated_at' }),
|
|
123
|
+
__metadata("design:type", Date)
|
|
124
|
+
], AiProviderConnectionEntity.prototype, "updatedAt", void 0);
|
|
125
|
+
exports.AiProviderConnectionEntity = AiProviderConnectionEntity = __decorate([
|
|
126
|
+
(0, typeorm_1.Entity)({ name: 'ai_provider_connections' }),
|
|
127
|
+
(0, typeorm_1.Index)('UQ_ai_provider_connections_provider_user', ['aiProviderId', 'userId'], {
|
|
128
|
+
unique: true,
|
|
129
|
+
})
|
|
130
|
+
], AiProviderConnectionEntity);
|
|
131
|
+
//# sourceMappingURL=ai-provider-connection.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-provider-connection.entity.js","sourceRoot":"","sources":["../../src/ai-providers/ai-provider-connection.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { UserContext } from '../auth/guards/context/auth-context.types';
|
|
2
|
+
import { ChatgptConnectionsService } from './chatgpt-subscription/chatgpt-connections.service';
|
|
3
|
+
import { AiProviderConnectionResponseDto, CompleteAiProviderAuthorizationDto, DisconnectAiProviderResponseDto, StartAiProviderAuthorizationResponseDto, UpdateAiProviderConnectionDto } from './dto/http/ai-provider-connection.dto';
|
|
4
|
+
import { AiProviderParamsDto } from './dto/http/ai-provider-params.dto';
|
|
5
|
+
export declare class AiProviderConnectionsController {
|
|
6
|
+
private readonly connections;
|
|
7
|
+
constructor(connections: ChatgptConnectionsService);
|
|
8
|
+
getConnection(params: AiProviderParamsDto, user: UserContext): Promise<AiProviderConnectionResponseDto>;
|
|
9
|
+
startAuthorization(params: AiProviderParamsDto, user: UserContext): Promise<StartAiProviderAuthorizationResponseDto>;
|
|
10
|
+
completeAuthorization(params: AiProviderParamsDto, dto: CompleteAiProviderAuthorizationDto, user: UserContext): Promise<AiProviderConnectionResponseDto>;
|
|
11
|
+
updateConnection(params: AiProviderParamsDto, dto: UpdateAiProviderConnectionDto, user: UserContext): Promise<AiProviderConnectionResponseDto>;
|
|
12
|
+
disconnect(params: AiProviderParamsDto, user: UserContext): Promise<DisconnectAiProviderResponseDto>;
|
|
13
|
+
private toCallback;
|
|
14
|
+
private mapToResponse;
|
|
15
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AiProviderConnectionsController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const access_token_guard_1 = require("../auth/guards/guards/access-token.guard");
|
|
19
|
+
const scopes_guard_1 = require("../auth/guards/guards/scopes.guard");
|
|
20
|
+
const require_scopes_decorator_1 = require("../auth/guards/decorators/require-scopes.decorator");
|
|
21
|
+
const current_user_decorator_1 = require("../auth/guards/decorators/current-user.decorator");
|
|
22
|
+
const ai_providers_scopes_1 = require("./ai-providers.scopes");
|
|
23
|
+
const chatgpt_connections_service_1 = require("./chatgpt-subscription/chatgpt-connections.service");
|
|
24
|
+
const ai_provider_connection_dto_1 = require("./dto/http/ai-provider-connection.dto");
|
|
25
|
+
const ai_provider_params_dto_1 = require("./dto/http/ai-provider-params.dto");
|
|
26
|
+
const ai_providers_errors_1 = require("./errors/ai-providers.errors");
|
|
27
|
+
let AiProviderConnectionsController = class AiProviderConnectionsController {
|
|
28
|
+
connections;
|
|
29
|
+
constructor(connections) {
|
|
30
|
+
this.connections = connections;
|
|
31
|
+
}
|
|
32
|
+
async getConnection(params, user) {
|
|
33
|
+
return this.mapToResponse(await this.connections.getConnection(params.id, user.actorId));
|
|
34
|
+
}
|
|
35
|
+
async startAuthorization(params, user) {
|
|
36
|
+
const result = await this.connections.startAuthorization(params.id, user.actorId);
|
|
37
|
+
return {
|
|
38
|
+
authorizationUrl: result.authorizationUrl,
|
|
39
|
+
expiresAt: result.expiresAt.toISOString(),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async completeAuthorization(params, dto, user) {
|
|
43
|
+
const result = await this.connections.completeAuthorization(params.id, user.actorId, this.toCallback(dto));
|
|
44
|
+
return this.mapToResponse(result);
|
|
45
|
+
}
|
|
46
|
+
async updateConnection(params, dto, user) {
|
|
47
|
+
const result = await this.connections.setAutomatedTurnsAllowed(params.id, user.actorId, dto.automatedTurnsAllowed);
|
|
48
|
+
return this.mapToResponse(result);
|
|
49
|
+
}
|
|
50
|
+
async disconnect(params, user) {
|
|
51
|
+
return this.connections.disconnect(params.id, user.actorId);
|
|
52
|
+
}
|
|
53
|
+
toCallback(dto) {
|
|
54
|
+
let query = null;
|
|
55
|
+
let redirectAddress = null;
|
|
56
|
+
if (dto.callbackUrl?.trim()) {
|
|
57
|
+
try {
|
|
58
|
+
const pasted = new URL(dto.callbackUrl.trim());
|
|
59
|
+
query = pasted.searchParams;
|
|
60
|
+
redirectAddress = `${pasted.origin}${pasted.pathname}`;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
throw new ai_providers_errors_1.AiProviderAuthorizationFailedError('That is not a complete address. Copy everything in the address bar, starting with http://127.0.0.1.');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const state = query?.get('state') ?? dto.state;
|
|
67
|
+
if (!state) {
|
|
68
|
+
throw new ai_providers_errors_1.AiProviderAuthorizationFailedError('The address has no state value, so it cannot be matched to a sign-in. Start again.');
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
state,
|
|
72
|
+
redirectAddress,
|
|
73
|
+
code: query?.get('code') ?? dto.code ?? null,
|
|
74
|
+
clientId: query?.get('client_id') ?? dto.clientId ?? null,
|
|
75
|
+
error: query?.get('error') ?? dto.error ?? null,
|
|
76
|
+
errorDescription: query?.get('error_description') ?? dto.errorDescription ?? null,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
mapToResponse(result) {
|
|
80
|
+
return {
|
|
81
|
+
aiProviderId: result.aiProviderId,
|
|
82
|
+
status: result.status,
|
|
83
|
+
accountEmail: result.accountEmail,
|
|
84
|
+
canUsePlan: result.canUsePlan,
|
|
85
|
+
automatedTurnsAllowed: result.automatedTurnsAllowed,
|
|
86
|
+
isAuthorizationPending: result.isAuthorizationPending,
|
|
87
|
+
lastErrorCode: result.lastErrorCode,
|
|
88
|
+
lastErrorAt: result.lastErrorAt?.toISOString() ?? null,
|
|
89
|
+
manageUsageUrl: result.manageUsageUrl,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
exports.AiProviderConnectionsController = AiProviderConnectionsController;
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, common_1.Get)(),
|
|
96
|
+
(0, require_scopes_decorator_1.RequireScopes)(ai_providers_scopes_1.AiProvidersScopes.READ.id),
|
|
97
|
+
(0, swagger_1.ApiOperation)({ summary: 'Get your own connection to the provider' }),
|
|
98
|
+
(0, swagger_1.ApiOkResponse)({ type: ai_provider_connection_dto_1.AiProviderConnectionResponseDto }),
|
|
99
|
+
(0, swagger_1.ApiNotFoundResponse)({ description: 'AI provider not found' }),
|
|
100
|
+
__param(0, (0, common_1.Param)()),
|
|
101
|
+
__param(1, (0, current_user_decorator_1.CurrentUser)()),
|
|
102
|
+
__metadata("design:type", Function),
|
|
103
|
+
__metadata("design:paramtypes", [ai_provider_params_dto_1.AiProviderParamsDto, Object]),
|
|
104
|
+
__metadata("design:returntype", Promise)
|
|
105
|
+
], AiProviderConnectionsController.prototype, "getConnection", null);
|
|
106
|
+
__decorate([
|
|
107
|
+
(0, common_1.Post)('authorize'),
|
|
108
|
+
(0, require_scopes_decorator_1.RequireScopes)(ai_providers_scopes_1.AiProvidersScopes.CONNECT.id),
|
|
109
|
+
(0, swagger_1.ApiOperation)({
|
|
110
|
+
summary: 'Start signing in to the provider with your own account',
|
|
111
|
+
}),
|
|
112
|
+
(0, swagger_1.ApiCreatedResponse)({ type: ai_provider_connection_dto_1.StartAiProviderAuthorizationResponseDto }),
|
|
113
|
+
__param(0, (0, common_1.Param)()),
|
|
114
|
+
__param(1, (0, current_user_decorator_1.CurrentUser)()),
|
|
115
|
+
__metadata("design:type", Function),
|
|
116
|
+
__metadata("design:paramtypes", [ai_provider_params_dto_1.AiProviderParamsDto, Object]),
|
|
117
|
+
__metadata("design:returntype", Promise)
|
|
118
|
+
], AiProviderConnectionsController.prototype, "startAuthorization", null);
|
|
119
|
+
__decorate([
|
|
120
|
+
(0, common_1.Post)('callback'),
|
|
121
|
+
(0, require_scopes_decorator_1.RequireScopes)(ai_providers_scopes_1.AiProvidersScopes.CONNECT.id),
|
|
122
|
+
(0, swagger_1.ApiOperation)({
|
|
123
|
+
summary: 'Finish the sign-in you started with what the provider sent back',
|
|
124
|
+
}),
|
|
125
|
+
(0, swagger_1.ApiCreatedResponse)({ type: ai_provider_connection_dto_1.AiProviderConnectionResponseDto }),
|
|
126
|
+
__param(0, (0, common_1.Param)()),
|
|
127
|
+
__param(1, (0, common_1.Body)()),
|
|
128
|
+
__param(2, (0, current_user_decorator_1.CurrentUser)()),
|
|
129
|
+
__metadata("design:type", Function),
|
|
130
|
+
__metadata("design:paramtypes", [ai_provider_params_dto_1.AiProviderParamsDto,
|
|
131
|
+
ai_provider_connection_dto_1.CompleteAiProviderAuthorizationDto, Object]),
|
|
132
|
+
__metadata("design:returntype", Promise)
|
|
133
|
+
], AiProviderConnectionsController.prototype, "completeAuthorization", null);
|
|
134
|
+
__decorate([
|
|
135
|
+
(0, common_1.Patch)(),
|
|
136
|
+
(0, require_scopes_decorator_1.RequireScopes)(ai_providers_scopes_1.AiProvidersScopes.CONNECT.id),
|
|
137
|
+
(0, swagger_1.ApiOperation)({ summary: 'Change what your connection may be used for' }),
|
|
138
|
+
(0, swagger_1.ApiOkResponse)({ type: ai_provider_connection_dto_1.AiProviderConnectionResponseDto }),
|
|
139
|
+
__param(0, (0, common_1.Param)()),
|
|
140
|
+
__param(1, (0, common_1.Body)()),
|
|
141
|
+
__param(2, (0, current_user_decorator_1.CurrentUser)()),
|
|
142
|
+
__metadata("design:type", Function),
|
|
143
|
+
__metadata("design:paramtypes", [ai_provider_params_dto_1.AiProviderParamsDto,
|
|
144
|
+
ai_provider_connection_dto_1.UpdateAiProviderConnectionDto, Object]),
|
|
145
|
+
__metadata("design:returntype", Promise)
|
|
146
|
+
], AiProviderConnectionsController.prototype, "updateConnection", null);
|
|
147
|
+
__decorate([
|
|
148
|
+
(0, common_1.Delete)(),
|
|
149
|
+
(0, require_scopes_decorator_1.RequireScopes)(ai_providers_scopes_1.AiProvidersScopes.CONNECT.id),
|
|
150
|
+
(0, swagger_1.ApiOperation)({
|
|
151
|
+
summary: 'Disconnect your account and revoke its grant at the provider',
|
|
152
|
+
}),
|
|
153
|
+
(0, swagger_1.ApiOkResponse)({ type: ai_provider_connection_dto_1.DisconnectAiProviderResponseDto }),
|
|
154
|
+
__param(0, (0, common_1.Param)()),
|
|
155
|
+
__param(1, (0, current_user_decorator_1.CurrentUser)()),
|
|
156
|
+
__metadata("design:type", Function),
|
|
157
|
+
__metadata("design:paramtypes", [ai_provider_params_dto_1.AiProviderParamsDto, Object]),
|
|
158
|
+
__metadata("design:returntype", Promise)
|
|
159
|
+
], AiProviderConnectionsController.prototype, "disconnect", null);
|
|
160
|
+
exports.AiProviderConnectionsController = AiProviderConnectionsController = __decorate([
|
|
161
|
+
(0, swagger_1.ApiTags)('AI Provider Connections'),
|
|
162
|
+
(0, swagger_1.ApiCookieAuth)('JWT-Cookie'),
|
|
163
|
+
(0, common_1.Controller)('ai-providers/:id/connection'),
|
|
164
|
+
(0, common_1.UseGuards)(access_token_guard_1.AccessTokenGuard, scopes_guard_1.ScopesGuard),
|
|
165
|
+
__metadata("design:paramtypes", [chatgpt_connections_service_1.ChatgptConnectionsService])
|
|
166
|
+
], AiProviderConnectionsController);
|
|
167
|
+
//# sourceMappingURL=ai-provider-connections.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-provider-connections.controller.js","sourceRoot":"","sources":["../../src/ai-providers/ai-provider-connections.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { AiProvidersService } from './ai-providers.service';
|
|
2
2
|
import { AiProviderModelResult } from './dto/service/ai-providers.service.types';
|
|
3
|
+
import { ChatgptSubscriptionService } from './chatgpt-subscription/chatgpt-subscription.service';
|
|
3
4
|
export declare class AiProviderModelsService {
|
|
4
5
|
private readonly aiProvidersService;
|
|
6
|
+
private readonly chatgptSubscription;
|
|
5
7
|
private readonly logger;
|
|
6
|
-
constructor(aiProvidersService: AiProvidersService);
|
|
7
|
-
listModels(providerId: string): Promise<AiProviderModelResult[]>;
|
|
8
|
+
constructor(aiProvidersService: AiProvidersService, chatgptSubscription: ChatgptSubscriptionService);
|
|
9
|
+
listModels(providerId: string, actorId: string): Promise<AiProviderModelResult[]>;
|
|
8
10
|
private fetchModels;
|
|
9
11
|
private listOpenAi;
|
|
10
12
|
private listAnthropic;
|
|
11
13
|
private listGoogle;
|
|
12
14
|
private listVertex;
|
|
15
|
+
private listVertexPublisher;
|
|
13
16
|
private getJson;
|
|
14
17
|
}
|