@djibrilm/lazy-review 0.0.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/LICENSE +21 -0
- package/README.md +95 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +17 -0
- package/dist/bin.js.map +1 -0
- package/dist/client/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/dist/client/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/dist/client/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/client/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/client/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/dist/client/assets/index-4oL_AGyI.css +1 -0
- package/dist/client/assets/index-CJtKCyBg.js +848 -0
- package/dist/client/favicon.png +0 -0
- package/dist/client/favicon.svg +1 -0
- package/dist/client/icons.svg +24 -0
- package/dist/client/index.html +17 -0
- package/dist/client/resources/images/logo.png +0 -0
- package/dist/client/resources/images/openai.png +0 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +3 -0
- package/dist/constants.js.map +1 -0
- package/dist/dev.d.ts +2 -0
- package/dist/dev.d.ts.map +1 -0
- package/dist/dev.js +10 -0
- package/dist/dev.js.map +1 -0
- package/dist/modules/ai-agent/agent-context-manager.d.ts +57 -0
- package/dist/modules/ai-agent/agent-context-manager.d.ts.map +1 -0
- package/dist/modules/ai-agent/agent-context-manager.js +159 -0
- package/dist/modules/ai-agent/agent-context-manager.js.map +1 -0
- package/dist/modules/ai-agent/ai-agent.module.d.ts +17 -0
- package/dist/modules/ai-agent/ai-agent.module.d.ts.map +1 -0
- package/dist/modules/ai-agent/ai-agent.module.js +24 -0
- package/dist/modules/ai-agent/ai-agent.module.js.map +1 -0
- package/dist/modules/ai-agent/ai-agent.utils.d.ts +10 -0
- package/dist/modules/ai-agent/ai-agent.utils.d.ts.map +1 -0
- package/dist/modules/ai-agent/ai-agent.utils.js +389 -0
- package/dist/modules/ai-agent/ai-agent.utils.js.map +1 -0
- package/dist/modules/ai-agent/base.agent.d.ts +26 -0
- package/dist/modules/ai-agent/base.agent.d.ts.map +1 -0
- package/dist/modules/ai-agent/base.agent.js +101 -0
- package/dist/modules/ai-agent/base.agent.js.map +1 -0
- package/dist/modules/ai-agent/chat.agent.d.ts +35 -0
- package/dist/modules/ai-agent/chat.agent.d.ts.map +1 -0
- package/dist/modules/ai-agent/chat.agent.js +590 -0
- package/dist/modules/ai-agent/chat.agent.js.map +1 -0
- package/dist/modules/ai-agent/code-base-indexer.agent.d.ts +13 -0
- package/dist/modules/ai-agent/code-base-indexer.agent.d.ts.map +1 -0
- package/dist/modules/ai-agent/code-base-indexer.agent.js +506 -0
- package/dist/modules/ai-agent/code-base-indexer.agent.js.map +1 -0
- package/dist/modules/ai-agent/codebase-scanner.d.ts +37 -0
- package/dist/modules/ai-agent/codebase-scanner.d.ts.map +1 -0
- package/dist/modules/ai-agent/codebase-scanner.js +260 -0
- package/dist/modules/ai-agent/codebase-scanner.js.map +1 -0
- package/dist/modules/ai-agent/model-loader.d.ts +7 -0
- package/dist/modules/ai-agent/model-loader.d.ts.map +1 -0
- package/dist/modules/ai-agent/model-loader.js +129 -0
- package/dist/modules/ai-agent/model-loader.js.map +1 -0
- package/dist/modules/ai-agent/orientation-loader.d.ts +2 -0
- package/dist/modules/ai-agent/orientation-loader.d.ts.map +1 -0
- package/dist/modules/ai-agent/orientation-loader.js +70 -0
- package/dist/modules/ai-agent/orientation-loader.js.map +1 -0
- package/dist/modules/ai-agent/pr-review-session.manager.d.ts +36 -0
- package/dist/modules/ai-agent/pr-review-session.manager.d.ts.map +1 -0
- package/dist/modules/ai-agent/pr-review-session.manager.js +106 -0
- package/dist/modules/ai-agent/pr-review-session.manager.js.map +1 -0
- package/dist/modules/ai-agent/pr-review.agent.d.ts +22 -0
- package/dist/modules/ai-agent/pr-review.agent.d.ts.map +1 -0
- package/dist/modules/ai-agent/pr-review.agent.js +269 -0
- package/dist/modules/ai-agent/pr-review.agent.js.map +1 -0
- package/dist/modules/ai-agent/research-loop.d.ts +3 -0
- package/dist/modules/ai-agent/research-loop.d.ts.map +1 -0
- package/dist/modules/ai-agent/research-loop.js +691 -0
- package/dist/modules/ai-agent/research-loop.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/agent-loop.d.ts +36 -0
- package/dist/modules/ai-agent/review-pipeline/agent-loop.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/agent-loop.js +178 -0
- package/dist/modules/ai-agent/review-pipeline/agent-loop.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/change-analyzer.d.ts +8 -0
- package/dist/modules/ai-agent/review-pipeline/change-analyzer.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/change-analyzer.js +93 -0
- package/dist/modules/ai-agent/review-pipeline/change-analyzer.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/finding-ranker.d.ts +47 -0
- package/dist/modules/ai-agent/review-pipeline/finding-ranker.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/finding-ranker.js +91 -0
- package/dist/modules/ai-agent/review-pipeline/finding-ranker.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/finding-verifier.d.ts +29 -0
- package/dist/modules/ai-agent/review-pipeline/finding-verifier.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/finding-verifier.js +130 -0
- package/dist/modules/ai-agent/review-pipeline/finding-verifier.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/repository-explorer.d.ts +21 -0
- package/dist/modules/ai-agent/review-pipeline/repository-explorer.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/repository-explorer.js +247 -0
- package/dist/modules/ai-agent/review-pipeline/repository-explorer.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/review-controller.d.ts +22 -0
- package/dist/modules/ai-agent/review-pipeline/review-controller.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/review-controller.js +102 -0
- package/dist/modules/ai-agent/review-pipeline/review-controller.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/review-writer.d.ts +4 -0
- package/dist/modules/ai-agent/review-pipeline/review-writer.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/review-writer.js +52 -0
- package/dist/modules/ai-agent/review-pipeline/review-writer.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/secret-scanner.d.ts +25 -0
- package/dist/modules/ai-agent/review-pipeline/secret-scanner.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/secret-scanner.js +159 -0
- package/dist/modules/ai-agent/review-pipeline/secret-scanner.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.d.ts +9 -0
- package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.js +114 -0
- package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.js.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/types.d.ts +53 -0
- package/dist/modules/ai-agent/review-pipeline/types.d.ts.map +1 -0
- package/dist/modules/ai-agent/review-pipeline/types.js +45 -0
- package/dist/modules/ai-agent/review-pipeline/types.js.map +1 -0
- package/dist/modules/ai-agent/tool-executor.d.ts +37 -0
- package/dist/modules/ai-agent/tool-executor.d.ts.map +1 -0
- package/dist/modules/ai-agent/tool-executor.js +199 -0
- package/dist/modules/ai-agent/tool-executor.js.map +1 -0
- package/dist/modules/ai-agent/tool-types.d.ts +72 -0
- package/dist/modules/ai-agent/tool-types.d.ts.map +1 -0
- package/dist/modules/ai-agent/tool-types.js +2 -0
- package/dist/modules/ai-agent/tool-types.js.map +1 -0
- package/dist/modules/ai-agent/tools/fs-tools.d.ts +54 -0
- package/dist/modules/ai-agent/tools/fs-tools.d.ts.map +1 -0
- package/dist/modules/ai-agent/tools/fs-tools.js +237 -0
- package/dist/modules/ai-agent/tools/fs-tools.js.map +1 -0
- package/dist/modules/ai-agent/tools/git-tools.d.ts +322 -0
- package/dist/modules/ai-agent/tools/git-tools.d.ts.map +1 -0
- package/dist/modules/ai-agent/tools/git-tools.js +557 -0
- package/dist/modules/ai-agent/tools/git-tools.js.map +1 -0
- package/dist/modules/ai-agent/tools/pr-chat-tools.d.ts +15 -0
- package/dist/modules/ai-agent/tools/pr-chat-tools.d.ts.map +1 -0
- package/dist/modules/ai-agent/tools/pr-chat-tools.js +232 -0
- package/dist/modules/ai-agent/tools/pr-chat-tools.js.map +1 -0
- package/dist/modules/database/database.module.d.ts +10 -0
- package/dist/modules/database/database.module.d.ts.map +1 -0
- package/dist/modules/database/database.module.js +36 -0
- package/dist/modules/database/database.module.js.map +1 -0
- package/dist/modules/database/vector-database.service.d.ts +27 -0
- package/dist/modules/database/vector-database.service.d.ts.map +1 -0
- package/dist/modules/database/vector-database.service.js +170 -0
- package/dist/modules/database/vector-database.service.js.map +1 -0
- package/dist/modules/github/github.module.d.ts +964 -0
- package/dist/modules/github/github.module.d.ts.map +1 -0
- package/dist/modules/github/github.module.js +316 -0
- package/dist/modules/github/github.module.js.map +1 -0
- package/dist/modules/main.module.d.ts +20 -0
- package/dist/modules/main.module.d.ts.map +1 -0
- package/dist/modules/main.module.js +59 -0
- package/dist/modules/main.module.js.map +1 -0
- package/dist/modules/qvac/qvac.module.d.ts +28 -0
- package/dist/modules/qvac/qvac.module.d.ts.map +1 -0
- package/dist/modules/qvac/qvac.module.js +146 -0
- package/dist/modules/qvac/qvac.module.js.map +1 -0
- package/dist/modules/server/dtos/create-project.dto.d.ts +9 -0
- package/dist/modules/server/dtos/create-project.dto.d.ts.map +1 -0
- package/dist/modules/server/dtos/create-project.dto.js +2 -0
- package/dist/modules/server/dtos/create-project.dto.js.map +1 -0
- package/dist/modules/server/entities/agent-task.entity.d.ts +16 -0
- package/dist/modules/server/entities/agent-task.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/agent-task.entity.js +72 -0
- package/dist/modules/server/entities/agent-task.entity.js.map +1 -0
- package/dist/modules/server/entities/ai-provider.entity.d.ts +11 -0
- package/dist/modules/server/entities/ai-provider.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/ai-provider.entity.js +47 -0
- package/dist/modules/server/entities/ai-provider.entity.js.map +1 -0
- package/dist/modules/server/entities/deployment-plan-approval.entity.d.ts +10 -0
- package/dist/modules/server/entities/deployment-plan-approval.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/deployment-plan-approval.entity.js +42 -0
- package/dist/modules/server/entities/deployment-plan-approval.entity.js.map +1 -0
- package/dist/modules/server/entities/deployment-plan-artifact.entity.d.ts +10 -0
- package/dist/modules/server/entities/deployment-plan-artifact.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/deployment-plan-artifact.entity.js +42 -0
- package/dist/modules/server/entities/deployment-plan-artifact.entity.js.map +1 -0
- package/dist/modules/server/entities/deployment-plan-feedback.entity.d.ts +9 -0
- package/dist/modules/server/entities/deployment-plan-feedback.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/deployment-plan-feedback.entity.js +37 -0
- package/dist/modules/server/entities/deployment-plan-feedback.entity.js.map +1 -0
- package/dist/modules/server/entities/deployment-plan-revision.entity.d.ts +11 -0
- package/dist/modules/server/entities/deployment-plan-revision.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/deployment-plan-revision.entity.js +47 -0
- package/dist/modules/server/entities/deployment-plan-revision.entity.js.map +1 -0
- package/dist/modules/server/entities/deployment-plan.entity.d.ts +13 -0
- package/dist/modules/server/entities/deployment-plan.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/deployment-plan.entity.js +58 -0
- package/dist/modules/server/entities/deployment-plan.entity.js.map +1 -0
- package/dist/modules/server/entities/project.entity.d.ts +26 -0
- package/dist/modules/server/entities/project.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/project.entity.js +122 -0
- package/dist/modules/server/entities/project.entity.js.map +1 -0
- package/dist/modules/server/entities/settings.entity.d.ts +12 -0
- package/dist/modules/server/entities/settings.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/settings.entity.js +62 -0
- package/dist/modules/server/entities/settings.entity.js.map +1 -0
- package/dist/modules/server/entities/terminal-log.entity.d.ts +10 -0
- package/dist/modules/server/entities/terminal-log.entity.d.ts.map +1 -0
- package/dist/modules/server/entities/terminal-log.entity.js +42 -0
- package/dist/modules/server/entities/terminal-log.entity.js.map +1 -0
- package/dist/modules/server/middleware/auth.middleware.d.ts +8 -0
- package/dist/modules/server/middleware/auth.middleware.d.ts.map +1 -0
- package/dist/modules/server/middleware/auth.middleware.js +26 -0
- package/dist/modules/server/middleware/auth.middleware.js.map +1 -0
- package/dist/modules/server/routes/auth.routes.d.ts +13 -0
- package/dist/modules/server/routes/auth.routes.d.ts.map +1 -0
- package/dist/modules/server/routes/auth.routes.js +59 -0
- package/dist/modules/server/routes/auth.routes.js.map +1 -0
- package/dist/modules/server/routes/github.routes.d.ts +14 -0
- package/dist/modules/server/routes/github.routes.d.ts.map +1 -0
- package/dist/modules/server/routes/github.routes.js +124 -0
- package/dist/modules/server/routes/github.routes.js.map +1 -0
- package/dist/modules/server/routes/project.routes.d.ts +11 -0
- package/dist/modules/server/routes/project.routes.d.ts.map +1 -0
- package/dist/modules/server/routes/project.routes.js +78 -0
- package/dist/modules/server/routes/project.routes.js.map +1 -0
- package/dist/modules/server/routes/qvac.routes.d.ts +11 -0
- package/dist/modules/server/routes/qvac.routes.d.ts.map +1 -0
- package/dist/modules/server/routes/qvac.routes.js +24 -0
- package/dist/modules/server/routes/qvac.routes.js.map +1 -0
- package/dist/modules/server/routes/routes.d.ts +20 -0
- package/dist/modules/server/routes/routes.d.ts.map +1 -0
- package/dist/modules/server/routes/routes.js +35 -0
- package/dist/modules/server/routes/routes.js.map +1 -0
- package/dist/modules/server/routes/settings.controller.d.ts +14 -0
- package/dist/modules/server/routes/settings.controller.d.ts.map +1 -0
- package/dist/modules/server/routes/settings.controller.js +65 -0
- package/dist/modules/server/routes/settings.controller.js.map +1 -0
- package/dist/modules/server/server.module.d.ts +19 -0
- package/dist/modules/server/server.module.d.ts.map +1 -0
- package/dist/modules/server/server.module.js +63 -0
- package/dist/modules/server/server.module.js.map +1 -0
- package/dist/modules/server/services/auth.services.d.ts +19 -0
- package/dist/modules/server/services/auth.services.d.ts.map +1 -0
- package/dist/modules/server/services/auth.services.js +87 -0
- package/dist/modules/server/services/auth.services.js.map +1 -0
- package/dist/modules/server/services/deployment-plan.services.d.ts +6 -0
- package/dist/modules/server/services/deployment-plan.services.d.ts.map +1 -0
- package/dist/modules/server/services/deployment-plan.services.js +8 -0
- package/dist/modules/server/services/deployment-plan.services.js.map +1 -0
- package/dist/modules/server/services/github.services.d.ts +939 -0
- package/dist/modules/server/services/github.services.d.ts.map +1 -0
- package/dist/modules/server/services/github.services.js +46 -0
- package/dist/modules/server/services/github.services.js.map +1 -0
- package/dist/modules/server/services/project.services.d.ts +41 -0
- package/dist/modules/server/services/project.services.d.ts.map +1 -0
- package/dist/modules/server/services/project.services.js +360 -0
- package/dist/modules/server/services/project.services.js.map +1 -0
- package/dist/modules/server/services/qvac.services.d.ts +10 -0
- package/dist/modules/server/services/qvac.services.d.ts.map +1 -0
- package/dist/modules/server/services/qvac.services.js +58 -0
- package/dist/modules/server/services/qvac.services.js.map +1 -0
- package/dist/modules/server/services/settings.service.d.ts +60 -0
- package/dist/modules/server/services/settings.service.d.ts.map +1 -0
- package/dist/modules/server/services/settings.service.js +125 -0
- package/dist/modules/server/services/settings.service.js.map +1 -0
- package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.d.ts +14 -0
- package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.d.ts.map +1 -0
- package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.js +2 -0
- package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.js.map +1 -0
- package/dist/modules/socket-gateway/socket-gateway.module.d.ts +28 -0
- package/dist/modules/socket-gateway/socket-gateway.module.d.ts.map +1 -0
- package/dist/modules/socket-gateway/socket-gateway.module.js +92 -0
- package/dist/modules/socket-gateway/socket-gateway.module.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { MainModule } from '../../main.module.js';
|
|
2
|
+
import { ProjectServices } from '../services/project.services.js';
|
|
3
|
+
export default class ProjectRouts {
|
|
4
|
+
app;
|
|
5
|
+
mainModule;
|
|
6
|
+
projectServices;
|
|
7
|
+
constructor(app, mainModule) {
|
|
8
|
+
this.app = app;
|
|
9
|
+
this.mainModule = mainModule;
|
|
10
|
+
this.projectServices = new ProjectServices(this.mainModule);
|
|
11
|
+
}
|
|
12
|
+
init() {
|
|
13
|
+
this.app.post('/projects', (req, res) => {
|
|
14
|
+
return this.projectServices.createProject(req, res);
|
|
15
|
+
});
|
|
16
|
+
this.app.get('/projects', (req, res) => {
|
|
17
|
+
return this.projectServices.getProjects(req, res);
|
|
18
|
+
});
|
|
19
|
+
this.app.get('/projects/:id', (req, res) => {
|
|
20
|
+
return this.projectServices.getProjectById(req, res);
|
|
21
|
+
});
|
|
22
|
+
this.app.delete('/projects/:id', (req, res) => {
|
|
23
|
+
return this.projectServices.deleteProject(req, res);
|
|
24
|
+
});
|
|
25
|
+
this.app.post('/projects/:id/reindex', (req, res) => {
|
|
26
|
+
return this.projectServices.reindexProject(req, res);
|
|
27
|
+
});
|
|
28
|
+
this.app.delete('/projects/:id/indexing', (req, res) => {
|
|
29
|
+
return this.projectServices.cancelIndexing(req, res);
|
|
30
|
+
});
|
|
31
|
+
this.app.get('/projects/:id/review/:pull_number', (req, res) => {
|
|
32
|
+
return this.projectServices.getReview(req, res);
|
|
33
|
+
});
|
|
34
|
+
this.app.delete('/projects/:id/review/:pull_number', (req, res) => {
|
|
35
|
+
return this.projectServices.deleteReview(req, res);
|
|
36
|
+
});
|
|
37
|
+
this.app.post('/projects/:id/review/models/load', (req, res) => {
|
|
38
|
+
return this.projectServices.loadModels(req, res);
|
|
39
|
+
});
|
|
40
|
+
this.app.post('/projects/:id/review/models/unload', (req, res) => {
|
|
41
|
+
return this.projectServices.unloadModels(req, res);
|
|
42
|
+
});
|
|
43
|
+
this.app.post('/projects/:id/review/:pull_number/session/start', (req, res) => {
|
|
44
|
+
return this.projectServices.startPRSession(req, res);
|
|
45
|
+
});
|
|
46
|
+
this.app.post('/projects/:id/review/:pull_number/session/stop', (req, res) => {
|
|
47
|
+
return this.projectServices.stopPRSession(req, res);
|
|
48
|
+
});
|
|
49
|
+
// AI-powered PR review generation
|
|
50
|
+
this.app.post('/projects/:id/review', (req, res) => {
|
|
51
|
+
return this.projectServices.generateReview(req, res);
|
|
52
|
+
});
|
|
53
|
+
// Single-turn AI chat with project context
|
|
54
|
+
this.app.post('/projects/:id/chat', async (req, res) => {
|
|
55
|
+
const { id } = req.params;
|
|
56
|
+
const { history, message, prDiff, owner, repo, pull_number, creator, additions, deletions, changed_files, socketId, } = req.body;
|
|
57
|
+
try {
|
|
58
|
+
const stream = await this.mainModule.aiAgent.chatAgent.chatStream(id, history || [], message, prDiff, { owner, repo, pull_number, creator, additions, deletions, changed_files }, socketId);
|
|
59
|
+
res.setHeader('Content-Type', 'text/plain; charset=utf-8');
|
|
60
|
+
res.setHeader('Transfer-Encoding', 'chunked');
|
|
61
|
+
for await (const chunk of stream) {
|
|
62
|
+
res.write(chunk);
|
|
63
|
+
}
|
|
64
|
+
res.end();
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error('Chat failed:', error);
|
|
68
|
+
if (!res.headersSent) {
|
|
69
|
+
return res.status(500).json({ error: error.message });
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
res.end();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=project.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.routes.js","sourceRoot":"","sources":["../../../../src/modules/server/routes/project.routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Express } from 'express';
|
|
2
|
+
import { MainModule } from '../../main.module.js';
|
|
3
|
+
import { QvacServices } from '../services/qvac.services.js';
|
|
4
|
+
export default class QvacRoutes {
|
|
5
|
+
app: Express;
|
|
6
|
+
mainModule: MainModule;
|
|
7
|
+
qvacServices: QvacServices;
|
|
8
|
+
constructor(app: Express, mainModule: MainModule);
|
|
9
|
+
init(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=qvac.routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qvac.routes.d.ts","sourceRoot":"","sources":["../../../../src/modules/server/routes/qvac.routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;gBAEf,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU;IAMhD,IAAI;CAaL"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { MainModule } from '../../main.module.js';
|
|
2
|
+
import { QvacServices } from '../services/qvac.services.js';
|
|
3
|
+
export default class QvacRoutes {
|
|
4
|
+
app;
|
|
5
|
+
mainModule;
|
|
6
|
+
qvacServices;
|
|
7
|
+
constructor(app, mainModule) {
|
|
8
|
+
this.app = app;
|
|
9
|
+
this.mainModule = mainModule;
|
|
10
|
+
this.qvacServices = new QvacServices(this.mainModule);
|
|
11
|
+
}
|
|
12
|
+
init() {
|
|
13
|
+
this.app.get('/qvac/models', (req, res) => {
|
|
14
|
+
return this.qvacServices.getAvailableModels(req, res);
|
|
15
|
+
});
|
|
16
|
+
this.app.post('/qvac/models/download', (req, res) => {
|
|
17
|
+
return this.qvacServices.downloadModel(req, res);
|
|
18
|
+
});
|
|
19
|
+
this.app.delete('/qvac/models/:id', (req, res) => {
|
|
20
|
+
return this.qvacServices.deleteModel(req, res);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=qvac.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qvac.routes.js","sourceRoot":"","sources":["../../../../src/modules/server/routes/qvac.routes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,GAAG,CAAU;IACb,UAAU,CAAa;IACvB,YAAY,CAAe;IAE3B,YAAY,GAAY,EAAE,UAAsB;QAC9C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACxC,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAClD,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Express } from 'express';
|
|
2
|
+
import ProjectRouts from './project.routes.js';
|
|
3
|
+
import GithubRoutes from './github.routes.js';
|
|
4
|
+
import QvacRoutes from './qvac.routes.js';
|
|
5
|
+
import { SettingsController } from './settings.controller.js';
|
|
6
|
+
import { AuthRoutes } from './auth.routes.js';
|
|
7
|
+
import { MainModule } from '../../main.module.js';
|
|
8
|
+
declare class Routes {
|
|
9
|
+
app: Express;
|
|
10
|
+
projectRouts: ProjectRouts;
|
|
11
|
+
githubRoutes: GithubRoutes;
|
|
12
|
+
qvacRoutes: QvacRoutes;
|
|
13
|
+
settingsController: SettingsController;
|
|
14
|
+
authRoutes: AuthRoutes;
|
|
15
|
+
mainModule: MainModule;
|
|
16
|
+
constructor(app: Express, mainModule: MainModule);
|
|
17
|
+
init(): void;
|
|
18
|
+
}
|
|
19
|
+
export default Routes;
|
|
20
|
+
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/modules/server/routes/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,cAAM,MAAM;IACV,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;gBAEX,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU;IAehD,IAAI;CAQL;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import ProjectRouts from './project.routes.js';
|
|
2
|
+
import GithubRoutes from './github.routes.js';
|
|
3
|
+
import QvacRoutes from './qvac.routes.js';
|
|
4
|
+
import { SettingsController } from './settings.controller.js';
|
|
5
|
+
import { SettingsService } from '../services/settings.service.js';
|
|
6
|
+
import { AuthRoutes } from './auth.routes.js';
|
|
7
|
+
import { MainModule } from '../../main.module.js';
|
|
8
|
+
class Routes {
|
|
9
|
+
app;
|
|
10
|
+
projectRouts;
|
|
11
|
+
githubRoutes;
|
|
12
|
+
qvacRoutes;
|
|
13
|
+
settingsController;
|
|
14
|
+
authRoutes;
|
|
15
|
+
mainModule;
|
|
16
|
+
constructor(app, mainModule) {
|
|
17
|
+
this.app = app;
|
|
18
|
+
this.mainModule = mainModule;
|
|
19
|
+
this.projectRouts = new ProjectRouts(this.app, this.mainModule);
|
|
20
|
+
this.githubRoutes = new GithubRoutes(this.app, this.mainModule);
|
|
21
|
+
this.qvacRoutes = new QvacRoutes(this.app, this.mainModule);
|
|
22
|
+
const settingsService = new SettingsService(this.mainModule.database.appDataSource, this.mainModule);
|
|
23
|
+
this.settingsController = new SettingsController(settingsService);
|
|
24
|
+
this.authRoutes = new AuthRoutes(this.mainModule.database.appDataSource, this.mainModule);
|
|
25
|
+
}
|
|
26
|
+
init() {
|
|
27
|
+
this.projectRouts.init();
|
|
28
|
+
this.githubRoutes.init();
|
|
29
|
+
this.qvacRoutes.init();
|
|
30
|
+
this.app.use('/settings', this.settingsController.router);
|
|
31
|
+
this.app.use('/auth/github', this.authRoutes.router);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export default Routes;
|
|
35
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/modules/server/routes/routes.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM;IACV,GAAG,CAAU;IACb,YAAY,CAAe;IAC3B,YAAY,CAAe;IAC3B,UAAU,CAAa;IACvB,kBAAkB,CAAqB;IACvC,UAAU,CAAa;IACvB,UAAU,CAAa;IAEvB,YAAY,GAAY,EAAE,UAAsB;QAC9C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5D,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,EACtC,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;CACF;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Router } from 'express';
|
|
2
|
+
import { SettingsService } from '../services/settings.service.js';
|
|
3
|
+
export declare class SettingsController {
|
|
4
|
+
private settingsService;
|
|
5
|
+
router: Router;
|
|
6
|
+
constructor(settingsService: SettingsService);
|
|
7
|
+
private initializeRoutes;
|
|
8
|
+
private getSettings;
|
|
9
|
+
private getHardwareInfo;
|
|
10
|
+
private getStorageInfo;
|
|
11
|
+
private getModelInfo;
|
|
12
|
+
private updateSettings;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=settings.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.controller.d.ts","sourceRoot":"","sources":["../../../../src/modules/server/routes/settings.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA+B,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,eAAe;IAF5B,MAAM,EAAE,MAAM,CAAC;gBAEF,eAAe,EAAE,eAAe;IAKpD,OAAO,CAAC,gBAAgB;YAQV,WAAW;YASX,eAAe;YASf,cAAc;YASd,YAAY;YASZ,cAAc;CAS7B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Router } from 'express';
|
|
2
|
+
import { SettingsService } from '../services/settings.service.js';
|
|
3
|
+
export class SettingsController {
|
|
4
|
+
settingsService;
|
|
5
|
+
router;
|
|
6
|
+
constructor(settingsService) {
|
|
7
|
+
this.settingsService = settingsService;
|
|
8
|
+
this.router = Router();
|
|
9
|
+
this.initializeRoutes();
|
|
10
|
+
}
|
|
11
|
+
initializeRoutes() {
|
|
12
|
+
this.router.get('/', this.getSettings.bind(this));
|
|
13
|
+
this.router.get('/hardware', this.getHardwareInfo.bind(this));
|
|
14
|
+
this.router.get('/storage', this.getStorageInfo.bind(this));
|
|
15
|
+
this.router.get('/models', this.getModelInfo.bind(this));
|
|
16
|
+
this.router.put('/', this.updateSettings.bind(this));
|
|
17
|
+
}
|
|
18
|
+
async getSettings(req, res) {
|
|
19
|
+
try {
|
|
20
|
+
const settings = await this.settingsService.getSettings();
|
|
21
|
+
res.json({ success: true, data: settings });
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
res.status(500).json({ success: false, message: error.message });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async getHardwareInfo(req, res) {
|
|
28
|
+
try {
|
|
29
|
+
const hardwareInfo = await this.settingsService.getHardwareInfo();
|
|
30
|
+
res.json({ success: true, data: hardwareInfo });
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
res.status(500).json({ success: false, message: error.message });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async getStorageInfo(req, res) {
|
|
37
|
+
try {
|
|
38
|
+
const storageInfo = await this.settingsService.getStorageInfo();
|
|
39
|
+
res.json({ success: true, data: storageInfo });
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
res.status(500).json({ success: false, message: error.message });
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async getModelInfo(req, res) {
|
|
46
|
+
try {
|
|
47
|
+
const modelInfo = await this.settingsService.getModelInfo();
|
|
48
|
+
res.json({ success: true, data: modelInfo });
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
res.status(500).json({ success: false, message: error.message });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async updateSettings(req, res) {
|
|
55
|
+
try {
|
|
56
|
+
const { useExperimentalGpu } = req.body;
|
|
57
|
+
const settings = await this.settingsService.updateSettings({ useExperimentalGpu });
|
|
58
|
+
res.json({ success: true, data: settings });
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
res.status(500).json({ success: false, message: error.message });
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=settings.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.controller.js","sourceRoot":"","sources":["../../../../src/modules/server/routes/settings.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Express } from 'express';
|
|
2
|
+
import { Server as HttpServer } from 'http';
|
|
3
|
+
import { MainModule } from '../main.module.js';
|
|
4
|
+
export interface ServerStartOptions {
|
|
5
|
+
port?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class Server {
|
|
8
|
+
readonly mainModule: MainModule;
|
|
9
|
+
app?: Express;
|
|
10
|
+
httpServer?: HttpServer;
|
|
11
|
+
private routes;
|
|
12
|
+
port: number;
|
|
13
|
+
constructor({ port, mainModule }: ServerStartOptions & {
|
|
14
|
+
mainModule: MainModule;
|
|
15
|
+
});
|
|
16
|
+
start(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export default Server;
|
|
19
|
+
//# sourceMappingURL=server.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.module.d.ts","sourceRoot":"","sources":["../../../src/modules/server/server.module.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAK5C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,MAAM;IACjB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,IAAI,EAAE,MAAM,CAAC;gBAED,EAAE,IAAY,EAAE,UAAU,EAAE,EAAE,kBAAkB,GAAG;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE;IAKnF,KAAK;CAkDZ;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import express, {} from 'express';
|
|
2
|
+
import cors from 'cors';
|
|
3
|
+
import { Server as HttpServer } from 'http';
|
|
4
|
+
import open from 'open';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import ora from 'ora';
|
|
8
|
+
import { MainModule } from '../main.module.js';
|
|
9
|
+
import Routes from './routes/routes.js';
|
|
10
|
+
export class Server {
|
|
11
|
+
mainModule;
|
|
12
|
+
app;
|
|
13
|
+
httpServer;
|
|
14
|
+
routes;
|
|
15
|
+
port;
|
|
16
|
+
constructor({ port = 16500, mainModule }) {
|
|
17
|
+
this.port = port;
|
|
18
|
+
this.mainModule = mainModule;
|
|
19
|
+
}
|
|
20
|
+
async start() {
|
|
21
|
+
try {
|
|
22
|
+
const spinner = ora({
|
|
23
|
+
text: 'opening up browser.....',
|
|
24
|
+
color: 'gray',
|
|
25
|
+
interval: 200,
|
|
26
|
+
});
|
|
27
|
+
const clientPath = path.join(process.cwd(), 'dist', 'client');
|
|
28
|
+
this.app = express();
|
|
29
|
+
this.app.use(express.json({ limit: '50mb' }));
|
|
30
|
+
this.app.use(express.urlencoded({ extended: true }));
|
|
31
|
+
spinner.start();
|
|
32
|
+
await open(`http://localhost:${this.port}/`).then(() => {
|
|
33
|
+
spinner.succeed(chalk.green('browser opened successfully ✅'));
|
|
34
|
+
});
|
|
35
|
+
this.app.use(cors({ origin: '*', methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'] }));
|
|
36
|
+
this.app.use('/', express.static(clientPath));
|
|
37
|
+
const frontendRoutes = ['/repo/:id', '/repo/:id/review/:prId', '/settings'];
|
|
38
|
+
frontendRoutes.forEach((route) => {
|
|
39
|
+
this?.app?.get(route, (req, res, next) => {
|
|
40
|
+
if (req.headers.accept?.includes('text/html')) {
|
|
41
|
+
res.sendFile(path.join(clientPath, 'index.html'));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
next();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
this.httpServer = this.app.listen(this.port, () => {
|
|
49
|
+
console.log(chalk.green(`[LAZY-REVIEW] Express server listening at `) +
|
|
50
|
+
chalk.bold.blue(`http://localhost:${this.port}`));
|
|
51
|
+
});
|
|
52
|
+
//Init routes
|
|
53
|
+
this.routes = new Routes(this.app, this.mainModule);
|
|
54
|
+
this.routes.init();
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
console.log(error);
|
|
58
|
+
console.log(chalk.red('System crashed ❌'));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export default Server;
|
|
63
|
+
//# sourceMappingURL=server.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.module.js","sourceRoot":"","sources":["../../../src/modules/server/server.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
|
+
import SettingsEntity from '../entities/settings.entity.js';
|
|
3
|
+
import type { MainModule } from '../../main.module.js';
|
|
4
|
+
export declare class AuthService {
|
|
5
|
+
private dataSource;
|
|
6
|
+
private mainModule?;
|
|
7
|
+
private repository;
|
|
8
|
+
constructor(dataSource: DataSource, mainModule?: MainModule | undefined);
|
|
9
|
+
getSettings(): Promise<SettingsEntity>;
|
|
10
|
+
startDeviceFlow(): Promise<any>;
|
|
11
|
+
pollForToken(deviceCode: string): Promise<any>;
|
|
12
|
+
logout(): Promise<{
|
|
13
|
+
success: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
getStatus(): Promise<{
|
|
16
|
+
isAuthenticated: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=auth.services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.services.d.ts","sourceRoot":"","sources":["../../../../src/modules/server/services/auth.services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,qBAAa,WAAW;IAIpB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU,CAAC;IAJrB,OAAO,CAAC,UAAU,CAA6B;gBAGrC,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,UAAU,YAAA;IAK3B,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAStC,eAAe;IAoBf,YAAY,CAAC,UAAU,EAAE,MAAM;IAqC/B,MAAM;;;IAcN,SAAS;;;CAMhB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { DataSource, Repository } from 'typeorm';
|
|
2
|
+
import SettingsEntity from '../entities/settings.entity.js';
|
|
3
|
+
const GITHUB_CLIENT_ID = 'Ov23liPjKTSnrwJIh8KY';
|
|
4
|
+
export class AuthService {
|
|
5
|
+
dataSource;
|
|
6
|
+
mainModule;
|
|
7
|
+
repository;
|
|
8
|
+
constructor(dataSource, mainModule) {
|
|
9
|
+
this.dataSource = dataSource;
|
|
10
|
+
this.mainModule = mainModule;
|
|
11
|
+
this.repository = this.dataSource.getRepository(SettingsEntity);
|
|
12
|
+
}
|
|
13
|
+
async getSettings() {
|
|
14
|
+
let settings = await this.repository.findOneBy({ id: 1 });
|
|
15
|
+
if (!settings) {
|
|
16
|
+
settings = this.repository.create({ id: 1, useExperimentalGpu: false });
|
|
17
|
+
await this.repository.save(settings);
|
|
18
|
+
}
|
|
19
|
+
return settings;
|
|
20
|
+
}
|
|
21
|
+
async startDeviceFlow() {
|
|
22
|
+
const response = await fetch('https://github.com/login/device/code', {
|
|
23
|
+
method: 'POST',
|
|
24
|
+
headers: {
|
|
25
|
+
Accept: 'application/json',
|
|
26
|
+
'Content-Type': 'application/json',
|
|
27
|
+
},
|
|
28
|
+
body: JSON.stringify({
|
|
29
|
+
client_id: GITHUB_CLIENT_ID,
|
|
30
|
+
scope: 'repo',
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
if (!response.ok) {
|
|
34
|
+
throw new Error(`Failed to start device flow: ${response.statusText}`);
|
|
35
|
+
}
|
|
36
|
+
return await response.json();
|
|
37
|
+
}
|
|
38
|
+
async pollForToken(deviceCode) {
|
|
39
|
+
const response = await fetch('https://github.com/login/oauth/access_token', {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
headers: {
|
|
42
|
+
Accept: 'application/json',
|
|
43
|
+
'Content-Type': 'application/json',
|
|
44
|
+
},
|
|
45
|
+
body: JSON.stringify({
|
|
46
|
+
client_id: GITHUB_CLIENT_ID,
|
|
47
|
+
device_code: deviceCode,
|
|
48
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:device_code',
|
|
49
|
+
}),
|
|
50
|
+
});
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
throw new Error(`Failed to poll for token: ${response.statusText}`);
|
|
53
|
+
}
|
|
54
|
+
const data = await response.json();
|
|
55
|
+
if (data.error !== 'authorization_pending') {
|
|
56
|
+
console.log('[AuthService] Poll response:', data);
|
|
57
|
+
}
|
|
58
|
+
if (data.access_token) {
|
|
59
|
+
const settings = await this.getSettings();
|
|
60
|
+
settings.githubToken = data.access_token;
|
|
61
|
+
await this.repository.save(settings);
|
|
62
|
+
// Update GithubModule if it exists
|
|
63
|
+
if (this.mainModule?.github) {
|
|
64
|
+
this.mainModule.github.updateToken(data.access_token);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return data;
|
|
68
|
+
}
|
|
69
|
+
async logout() {
|
|
70
|
+
const settings = await this.getSettings();
|
|
71
|
+
// Use repository.update so the null value is always persisted.
|
|
72
|
+
// TypeORM's save() silently ignores properties set to `undefined`,
|
|
73
|
+
// which would leave a stale token in the DB and keep users "authenticated".
|
|
74
|
+
await this.repository.update({ id: settings.id }, { githubToken: null });
|
|
75
|
+
if (this.mainModule?.github) {
|
|
76
|
+
this.mainModule.github.updateToken('');
|
|
77
|
+
}
|
|
78
|
+
return { success: true };
|
|
79
|
+
}
|
|
80
|
+
async getStatus() {
|
|
81
|
+
const settings = await this.getSettings();
|
|
82
|
+
return {
|
|
83
|
+
isAuthenticated: !!settings.githubToken,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=auth.services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.services.js","sourceRoot":"","sources":["../../../../src/modules/server/services/auth.services.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-plan.services.d.ts","sourceRoot":"","sources":["../../../../src/modules/server/services/deployment-plan.services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,qBAAa,sBAAsB;IACjC,UAAU,EAAE,UAAU,CAAC;gBAEX,UAAU,EAAE,UAAU;CAGnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-plan.services.js","sourceRoot":"","sources":["../../../../src/modules/server/services/deployment-plan.services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,OAAO,sBAAsB;IACjC,UAAU,CAAa;IAEvB,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
|