@codeguide/core 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/__tests__/authentication.test.ts +259 -0
- package/__tests__/codeguide.test.ts +293 -0
- package/__tests__/services/base/base-service.test.ts +334 -0
- package/__tests__/services/generation/generation-service.test.ts +294 -0
- package/__tests__/services/usage/usage-service.test.ts +385 -0
- package/__tests__/simple.test.ts +10 -0
- package/__tests__/test-service.ts +37 -0
- package/api-service.ts +67 -0
- package/codeguide.ts +70 -0
- package/dist/__tests__/test-service.d.ts +12 -0
- package/dist/__tests__/test-service.js +32 -0
- package/dist/api-service.d.ts +8 -0
- package/dist/api-service.js +64 -0
- package/dist/codeguide.d.ts +14 -0
- package/dist/codeguide.js +53 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +31 -0
- package/dist/services/base/base-service.d.ts +30 -0
- package/dist/services/base/base-service.js +187 -0
- package/dist/services/base/index.d.ts +1 -0
- package/dist/services/base/index.js +5 -0
- package/dist/services/generation/generation-service.d.ts +15 -0
- package/dist/services/generation/generation-service.js +40 -0
- package/dist/services/generation/generation-types.d.ts +111 -0
- package/dist/services/generation/generation-types.js +2 -0
- package/dist/services/generation/index.d.ts +2 -0
- package/dist/services/generation/index.js +20 -0
- package/dist/services/index.d.ts +11 -0
- package/dist/services/index.js +45 -0
- package/dist/services/projects/index.d.ts +2 -0
- package/dist/services/projects/index.js +20 -0
- package/dist/services/projects/project-service.d.ts +14 -0
- package/dist/services/projects/project-service.js +53 -0
- package/dist/services/projects/project-types.d.ts +97 -0
- package/dist/services/projects/project-types.js +2 -0
- package/dist/services/repository-analysis/index.d.ts +2 -0
- package/dist/services/repository-analysis/index.js +20 -0
- package/dist/services/repository-analysis/repository-service.d.ts +10 -0
- package/dist/services/repository-analysis/repository-service.js +31 -0
- package/dist/services/repository-analysis/repository-types.d.ts +90 -0
- package/dist/services/repository-analysis/repository-types.js +2 -0
- package/dist/services/tasks/index.d.ts +2 -0
- package/dist/services/tasks/index.js +20 -0
- package/dist/services/tasks/task-service.d.ts +30 -0
- package/dist/services/tasks/task-service.js +105 -0
- package/dist/services/tasks/task-types.d.ts +144 -0
- package/dist/services/tasks/task-types.js +2 -0
- package/dist/services/usage/index.d.ts +2 -0
- package/dist/services/usage/index.js +20 -0
- package/dist/services/usage/usage-service.d.ts +14 -0
- package/dist/services/usage/usage-service.js +68 -0
- package/dist/services/usage/usage-types.d.ts +133 -0
- package/dist/services/usage/usage-types.js +2 -0
- package/dist/types.d.ts +42 -0
- package/dist/types.js +2 -0
- package/index.ts +12 -0
- package/jest.config.json +19 -0
- package/package.json +45 -0
- package/services/README.md +113 -0
- package/services/base/base-service.ts +230 -0
- package/services/base/index.ts +1 -0
- package/services/generation/generation-service.ts +81 -0
- package/services/generation/generation-types.ts +131 -0
- package/services/generation/index.ts +2 -0
- package/services/index.ts +22 -0
- package/services/projects/index.ts +2 -0
- package/services/projects/project-service.ts +67 -0
- package/services/projects/project-types.ts +108 -0
- package/services/repository-analysis/index.ts +2 -0
- package/services/repository-analysis/repository-service.ts +42 -0
- package/services/repository-analysis/repository-types.ts +99 -0
- package/services/tasks/index.ts +2 -0
- package/services/tasks/task-service.ts +143 -0
- package/services/tasks/task-types.ts +165 -0
- package/services/usage/index.ts +2 -0
- package/services/usage/usage-service.ts +96 -0
- package/services/usage/usage-types.ts +147 -0
- package/tsconfig.json +10 -0
- package/types.ts +51 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectService = void 0;
|
|
4
|
+
const base_service_1 = require("../base/base-service");
|
|
5
|
+
class ProjectService extends base_service_1.BaseService {
|
|
6
|
+
async getAllProjects() {
|
|
7
|
+
const response = await this.get('/projects');
|
|
8
|
+
return response.data;
|
|
9
|
+
}
|
|
10
|
+
async getPaginatedProjects(params) {
|
|
11
|
+
const queryParams = new URLSearchParams();
|
|
12
|
+
if (params.page !== undefined)
|
|
13
|
+
queryParams.append('page', params.page.toString());
|
|
14
|
+
if (params.page_size !== undefined)
|
|
15
|
+
queryParams.append('page_size', params.page_size.toString());
|
|
16
|
+
if (params.search_query)
|
|
17
|
+
queryParams.append('search_query', params.search_query);
|
|
18
|
+
if (params.status)
|
|
19
|
+
queryParams.append('status', params.status);
|
|
20
|
+
if (params.start_date)
|
|
21
|
+
queryParams.append('start_date', params.start_date);
|
|
22
|
+
if (params.end_date)
|
|
23
|
+
queryParams.append('end_date', params.end_date);
|
|
24
|
+
if (params.sort_by_date)
|
|
25
|
+
queryParams.append('sort_by_date', params.sort_by_date);
|
|
26
|
+
const url = `/projects/paginated${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
27
|
+
return this.get(url);
|
|
28
|
+
}
|
|
29
|
+
async getProjectById(projectId) {
|
|
30
|
+
const response = await this.get(`/projects/${projectId}`);
|
|
31
|
+
return response.data;
|
|
32
|
+
}
|
|
33
|
+
async createProject(request) {
|
|
34
|
+
const response = await this.post('/projects', request);
|
|
35
|
+
return response.data;
|
|
36
|
+
}
|
|
37
|
+
async updateProject(projectId, request) {
|
|
38
|
+
const response = await this.put(`/projects/${projectId}`, request);
|
|
39
|
+
return response.data;
|
|
40
|
+
}
|
|
41
|
+
async deleteProject(projectId) {
|
|
42
|
+
return this.delete(`/projects/${projectId}`);
|
|
43
|
+
}
|
|
44
|
+
async getProjectDocuments(projectId, params) {
|
|
45
|
+
const queryParams = new URLSearchParams();
|
|
46
|
+
if (params?.current_version_only !== undefined) {
|
|
47
|
+
queryParams.append('current_version_only', params.current_version_only.toString());
|
|
48
|
+
}
|
|
49
|
+
const url = `/projects/${projectId}/documents${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
50
|
+
return this.get(url);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.ProjectService = ProjectService;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export interface Project {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
description: string;
|
|
5
|
+
user_id: string;
|
|
6
|
+
created_at: string;
|
|
7
|
+
updated_at: string;
|
|
8
|
+
project_documents: ProjectDocument[];
|
|
9
|
+
category?: Category;
|
|
10
|
+
codie_tool?: CodieTool;
|
|
11
|
+
github_url?: string;
|
|
12
|
+
status?: string;
|
|
13
|
+
tools_selected?: string[];
|
|
14
|
+
ai_questionaire?: Record<string, any>;
|
|
15
|
+
project_outline?: Record<string, any>;
|
|
16
|
+
}
|
|
17
|
+
export interface ProjectDocument {
|
|
18
|
+
id: string;
|
|
19
|
+
created_at: string;
|
|
20
|
+
updated_at: string | null;
|
|
21
|
+
project_id: string;
|
|
22
|
+
user_id: string;
|
|
23
|
+
title: string;
|
|
24
|
+
document_type: string;
|
|
25
|
+
description: string | null;
|
|
26
|
+
content: string;
|
|
27
|
+
custom_document_type: string;
|
|
28
|
+
last_action: string;
|
|
29
|
+
is_current_version: boolean;
|
|
30
|
+
status: string;
|
|
31
|
+
}
|
|
32
|
+
export interface GetProjectDocumentsRequest {
|
|
33
|
+
current_version_only?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface GetProjectDocumentsResponse {
|
|
36
|
+
status: string;
|
|
37
|
+
data: ProjectDocument[];
|
|
38
|
+
}
|
|
39
|
+
export interface Category {
|
|
40
|
+
id: string;
|
|
41
|
+
name: string;
|
|
42
|
+
description?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface CodieTool {
|
|
45
|
+
id: string;
|
|
46
|
+
name: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
category?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface CreateProjectRequest {
|
|
51
|
+
title: string;
|
|
52
|
+
description: string;
|
|
53
|
+
category_id?: string;
|
|
54
|
+
codie_tool_id?: string;
|
|
55
|
+
tools_selected?: string[];
|
|
56
|
+
ai_questionaire?: Record<string, any>;
|
|
57
|
+
project_outline?: Record<string, any>;
|
|
58
|
+
github_url?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface UpdateProjectRequest {
|
|
61
|
+
title?: string;
|
|
62
|
+
description?: string;
|
|
63
|
+
category_id?: string;
|
|
64
|
+
codie_tool_id?: string;
|
|
65
|
+
tools_selected?: string[];
|
|
66
|
+
ai_questionaire?: Record<string, any>;
|
|
67
|
+
project_outline?: Record<string, any>;
|
|
68
|
+
github_url?: string;
|
|
69
|
+
status?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface ProjectListResponse {
|
|
72
|
+
status: string;
|
|
73
|
+
data: Project[];
|
|
74
|
+
}
|
|
75
|
+
export interface ProjectResponse {
|
|
76
|
+
status: string;
|
|
77
|
+
data: Project;
|
|
78
|
+
}
|
|
79
|
+
export interface PaginatedProjectsRequest {
|
|
80
|
+
page?: number;
|
|
81
|
+
page_size?: number;
|
|
82
|
+
search_query?: string;
|
|
83
|
+
status?: string;
|
|
84
|
+
start_date?: string;
|
|
85
|
+
end_date?: string;
|
|
86
|
+
sort_by_date?: 'asc' | 'desc';
|
|
87
|
+
}
|
|
88
|
+
export interface PaginatedProjectsResponse {
|
|
89
|
+
status: string;
|
|
90
|
+
data: Project[];
|
|
91
|
+
pagination: {
|
|
92
|
+
total: number;
|
|
93
|
+
page: number;
|
|
94
|
+
page_size: number;
|
|
95
|
+
total_pages: number;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.RepositoryAnalysisService = void 0;
|
|
18
|
+
var repository_service_1 = require("./repository-service");
|
|
19
|
+
Object.defineProperty(exports, "RepositoryAnalysisService", { enumerable: true, get: function () { return repository_service_1.RepositoryAnalysisService; } });
|
|
20
|
+
__exportStar(require("./repository-types"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service';
|
|
2
|
+
import { AnalyzeRepositoryRequest, AnalyzeRepositoryResponse, RepositoryAnalysisStatusResponse, RepositoryAnalysisResultResponse, RepositoryListResponse, RepositoryDetailsResponse, DeleteRepositoryResponse } from './repository-types';
|
|
3
|
+
export declare class RepositoryAnalysisService extends BaseService {
|
|
4
|
+
analyzeRepository(request: AnalyzeRepositoryRequest): Promise<AnalyzeRepositoryResponse>;
|
|
5
|
+
getAnalysisStatus(taskId: string): Promise<RepositoryAnalysisStatusResponse>;
|
|
6
|
+
getAnalysisResult(taskId: string): Promise<RepositoryAnalysisResultResponse>;
|
|
7
|
+
listRepositories(skip?: number, limit?: number): Promise<RepositoryListResponse>;
|
|
8
|
+
getRepositoryDetails(repoId: string): Promise<RepositoryDetailsResponse>;
|
|
9
|
+
deleteRepository(repoId: string): Promise<DeleteRepositoryResponse>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RepositoryAnalysisService = void 0;
|
|
4
|
+
const base_service_1 = require("../base/base-service");
|
|
5
|
+
class RepositoryAnalysisService extends base_service_1.BaseService {
|
|
6
|
+
async analyzeRepository(request) {
|
|
7
|
+
return this.post('/repository-analysis/analyze', request);
|
|
8
|
+
}
|
|
9
|
+
async getAnalysisStatus(taskId) {
|
|
10
|
+
return this.get(`/repository-analysis/tasks/${taskId}`);
|
|
11
|
+
}
|
|
12
|
+
async getAnalysisResult(taskId) {
|
|
13
|
+
return this.get(`/repository-analysis/tasks/${taskId}/result`);
|
|
14
|
+
}
|
|
15
|
+
async listRepositories(skip, limit) {
|
|
16
|
+
const queryParams = new URLSearchParams();
|
|
17
|
+
if (skip !== undefined)
|
|
18
|
+
queryParams.append('skip', skip.toString());
|
|
19
|
+
if (limit !== undefined)
|
|
20
|
+
queryParams.append('limit', limit.toString());
|
|
21
|
+
const url = `/repository-analysis/repositories${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
22
|
+
return this.get(url);
|
|
23
|
+
}
|
|
24
|
+
async getRepositoryDetails(repoId) {
|
|
25
|
+
return this.get(`/repository-analysis/repositories/${repoId}`);
|
|
26
|
+
}
|
|
27
|
+
async deleteRepository(repoId) {
|
|
28
|
+
return this.delete(`/repository-analysis/repositories/${repoId}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.RepositoryAnalysisService = RepositoryAnalysisService;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export interface AnalyzeRepositoryRequest {
|
|
2
|
+
repository_url: string;
|
|
3
|
+
generate_documents?: boolean;
|
|
4
|
+
create_codespace_task?: boolean;
|
|
5
|
+
project_id?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AnalyzeRepositoryResponse {
|
|
8
|
+
task_id: string;
|
|
9
|
+
status: string;
|
|
10
|
+
message: string;
|
|
11
|
+
}
|
|
12
|
+
export interface RepositoryAnalysisStatusResponse {
|
|
13
|
+
task_id: string;
|
|
14
|
+
status: string;
|
|
15
|
+
message: string;
|
|
16
|
+
progress?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface RepositoryAnalysisResultResponse {
|
|
19
|
+
task_id: string;
|
|
20
|
+
status: string;
|
|
21
|
+
result: {
|
|
22
|
+
repository: RepositoryInfo;
|
|
23
|
+
documents: RepositoryDocument[];
|
|
24
|
+
statistics: RepositoryStatistics;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface RepositoryInfo {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
full_name: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
language?: string;
|
|
33
|
+
stars: number;
|
|
34
|
+
forks: number;
|
|
35
|
+
open_issues: number;
|
|
36
|
+
default_branch: string;
|
|
37
|
+
created_at: string;
|
|
38
|
+
updated_at: string;
|
|
39
|
+
clone_url: string;
|
|
40
|
+
homepage?: string;
|
|
41
|
+
owner: {
|
|
42
|
+
login: string;
|
|
43
|
+
id: number;
|
|
44
|
+
avatar_url: string;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export interface RepositoryDocument {
|
|
48
|
+
id: string;
|
|
49
|
+
filename: string;
|
|
50
|
+
path: string;
|
|
51
|
+
content: string;
|
|
52
|
+
language?: string;
|
|
53
|
+
size: number;
|
|
54
|
+
type: string;
|
|
55
|
+
created_at: string;
|
|
56
|
+
updated_at: string;
|
|
57
|
+
}
|
|
58
|
+
export interface RepositoryStatistics {
|
|
59
|
+
total_files: number;
|
|
60
|
+
total_lines_of_code: number;
|
|
61
|
+
languages: Record<string, number>;
|
|
62
|
+
file_types: Record<string, number>;
|
|
63
|
+
dependencies: string[];
|
|
64
|
+
complexity_metrics: {
|
|
65
|
+
average_complexity: number;
|
|
66
|
+
max_complexity: number;
|
|
67
|
+
min_complexity: number;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export interface RepositoryListResponse {
|
|
71
|
+
repositories: RepositoryInfo[];
|
|
72
|
+
total: number;
|
|
73
|
+
}
|
|
74
|
+
export interface RepositoryDetailsResponse {
|
|
75
|
+
id: string;
|
|
76
|
+
repository_url: string;
|
|
77
|
+
user_id: string;
|
|
78
|
+
created_at: string;
|
|
79
|
+
updated_at: string;
|
|
80
|
+
analysis_results?: {
|
|
81
|
+
repository: RepositoryInfo;
|
|
82
|
+
documents: RepositoryDocument[];
|
|
83
|
+
statistics: RepositoryStatistics;
|
|
84
|
+
analyzed_at: string;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export interface DeleteRepositoryResponse {
|
|
88
|
+
status: string;
|
|
89
|
+
message: string;
|
|
90
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.TaskService = void 0;
|
|
18
|
+
var task_service_1 = require("./task-service");
|
|
19
|
+
Object.defineProperty(exports, "TaskService", { enumerable: true, get: function () { return task_service_1.TaskService; } });
|
|
20
|
+
__exportStar(require("./task-types"), exports);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service';
|
|
2
|
+
import { TaskGroup, ProjectTask, CreateTaskGroupRequest, UpdateTaskGroupRequest, CreateProjectTaskRequest, UpdateProjectTaskRequest, PaginatedTaskGroupsRequest, PaginatedTaskGroupsResponse, PaginatedProjectTasksRequest, PaginatedProjectTasksResponse, GenerateTasksRequest, GenerateTasksResponse, GetTasksByProjectRequest, GetTasksByProjectResponse, StartTaskRequest, StartTaskResponse, UpdateTaskRequest, UpdateTaskResponse } from './task-types';
|
|
3
|
+
export declare class TaskService extends BaseService {
|
|
4
|
+
getAllTaskGroups(): Promise<TaskGroup[]>;
|
|
5
|
+
getPaginatedTaskGroups(params: PaginatedTaskGroupsRequest): Promise<PaginatedTaskGroupsResponse>;
|
|
6
|
+
getTaskGroupById(taskGroupId: string): Promise<TaskGroup>;
|
|
7
|
+
createTaskGroup(request: CreateTaskGroupRequest): Promise<TaskGroup>;
|
|
8
|
+
updateTaskGroup(taskGroupId: string, request: UpdateTaskGroupRequest): Promise<TaskGroup>;
|
|
9
|
+
deleteTaskGroup(taskGroupId: string): Promise<{
|
|
10
|
+
status: string;
|
|
11
|
+
message: string;
|
|
12
|
+
}>;
|
|
13
|
+
getAllProjectTasks(filters?: {
|
|
14
|
+
task_group_id?: string;
|
|
15
|
+
parent_task_id?: string;
|
|
16
|
+
status?: string;
|
|
17
|
+
}): Promise<ProjectTask[]>;
|
|
18
|
+
getPaginatedProjectTasks(params: PaginatedProjectTasksRequest): Promise<PaginatedProjectTasksResponse>;
|
|
19
|
+
getProjectTaskById(taskId: string): Promise<ProjectTask>;
|
|
20
|
+
createProjectTask(request: CreateProjectTaskRequest): Promise<ProjectTask>;
|
|
21
|
+
updateProjectTask(taskId: string, request: UpdateProjectTaskRequest): Promise<ProjectTask>;
|
|
22
|
+
deleteProjectTask(taskId: string): Promise<{
|
|
23
|
+
status: string;
|
|
24
|
+
message: string;
|
|
25
|
+
}>;
|
|
26
|
+
generateTasks(request: GenerateTasksRequest): Promise<GenerateTasksResponse>;
|
|
27
|
+
getTasksByProject(request: GetTasksByProjectRequest): Promise<GetTasksByProjectResponse>;
|
|
28
|
+
startTask(request: StartTaskRequest): Promise<StartTaskResponse>;
|
|
29
|
+
updateTask(taskId: string, request: UpdateTaskRequest): Promise<UpdateTaskResponse>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskService = void 0;
|
|
4
|
+
const base_service_1 = require("../base/base-service");
|
|
5
|
+
class TaskService extends base_service_1.BaseService {
|
|
6
|
+
// Task Groups
|
|
7
|
+
async getAllTaskGroups() {
|
|
8
|
+
const response = await this.get('/task-groups');
|
|
9
|
+
return response.data;
|
|
10
|
+
}
|
|
11
|
+
async getPaginatedTaskGroups(params) {
|
|
12
|
+
const queryParams = new URLSearchParams();
|
|
13
|
+
if (params.page !== undefined)
|
|
14
|
+
queryParams.append('page', params.page.toString());
|
|
15
|
+
if (params.page_size !== undefined)
|
|
16
|
+
queryParams.append('page_size', params.page_size.toString());
|
|
17
|
+
if (params.project_id)
|
|
18
|
+
queryParams.append('project_id', params.project_id);
|
|
19
|
+
const url = `/task-groups/paginated${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
20
|
+
return this.get(url);
|
|
21
|
+
}
|
|
22
|
+
async getTaskGroupById(taskGroupId) {
|
|
23
|
+
const response = await this.get(`/task-groups/${taskGroupId}`);
|
|
24
|
+
return response.data;
|
|
25
|
+
}
|
|
26
|
+
async createTaskGroup(request) {
|
|
27
|
+
const response = await this.post('/task-groups', request);
|
|
28
|
+
return response.data;
|
|
29
|
+
}
|
|
30
|
+
async updateTaskGroup(taskGroupId, request) {
|
|
31
|
+
const response = await this.put(`/task-groups/${taskGroupId}`, request);
|
|
32
|
+
return response.data;
|
|
33
|
+
}
|
|
34
|
+
async deleteTaskGroup(taskGroupId) {
|
|
35
|
+
return this.delete(`/task-groups/${taskGroupId}`);
|
|
36
|
+
}
|
|
37
|
+
// Project Tasks
|
|
38
|
+
async getAllProjectTasks(filters) {
|
|
39
|
+
const queryParams = new URLSearchParams();
|
|
40
|
+
if (filters?.task_group_id)
|
|
41
|
+
queryParams.append('task_group_id', filters.task_group_id);
|
|
42
|
+
if (filters?.parent_task_id)
|
|
43
|
+
queryParams.append('parent_task_id', filters.parent_task_id);
|
|
44
|
+
if (filters?.status)
|
|
45
|
+
queryParams.append('status', filters.status);
|
|
46
|
+
const url = `/project-tasks${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
47
|
+
const response = await this.get(url);
|
|
48
|
+
return response.data;
|
|
49
|
+
}
|
|
50
|
+
async getPaginatedProjectTasks(params) {
|
|
51
|
+
const queryParams = new URLSearchParams();
|
|
52
|
+
if (params.page !== undefined)
|
|
53
|
+
queryParams.append('page', params.page.toString());
|
|
54
|
+
if (params.page_size !== undefined)
|
|
55
|
+
queryParams.append('page_size', params.page_size.toString());
|
|
56
|
+
if (params.task_group_id)
|
|
57
|
+
queryParams.append('task_group_id', params.task_group_id);
|
|
58
|
+
if (params.parent_task_id)
|
|
59
|
+
queryParams.append('parent_task_id', params.parent_task_id);
|
|
60
|
+
if (params.status)
|
|
61
|
+
queryParams.append('status', params.status);
|
|
62
|
+
if (params.search_query)
|
|
63
|
+
queryParams.append('search_query', params.search_query);
|
|
64
|
+
const url = `/project-tasks/paginated${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
65
|
+
return this.get(url);
|
|
66
|
+
}
|
|
67
|
+
async getProjectTaskById(taskId) {
|
|
68
|
+
const response = await this.get(`/project-tasks/${taskId}`);
|
|
69
|
+
return response.data;
|
|
70
|
+
}
|
|
71
|
+
async createProjectTask(request) {
|
|
72
|
+
const response = await this.post('/project-tasks', request);
|
|
73
|
+
return response.data;
|
|
74
|
+
}
|
|
75
|
+
async updateProjectTask(taskId, request) {
|
|
76
|
+
const response = await this.put(`/project-tasks/${taskId}`, request);
|
|
77
|
+
return response.data;
|
|
78
|
+
}
|
|
79
|
+
async deleteProjectTask(taskId) {
|
|
80
|
+
return this.delete(`/project-tasks/${taskId}`);
|
|
81
|
+
}
|
|
82
|
+
// Generate Tasks
|
|
83
|
+
async generateTasks(request) {
|
|
84
|
+
return this.post('/project-tasks/generate-tasks', request);
|
|
85
|
+
}
|
|
86
|
+
// Get Tasks by Project
|
|
87
|
+
async getTasksByProject(request) {
|
|
88
|
+
const queryParams = new URLSearchParams();
|
|
89
|
+
if (request.status)
|
|
90
|
+
queryParams.append('status', request.status);
|
|
91
|
+
if (request.task_group_id)
|
|
92
|
+
queryParams.append('task_group_id', request.task_group_id);
|
|
93
|
+
const url = `/project-tasks/by-project/${request.project_id}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
94
|
+
return this.get(url);
|
|
95
|
+
}
|
|
96
|
+
// Start Task
|
|
97
|
+
async startTask(request) {
|
|
98
|
+
return this.post(`/project-tasks/${request.task_id}/start`, request);
|
|
99
|
+
}
|
|
100
|
+
// Update Task
|
|
101
|
+
async updateTask(taskId, request) {
|
|
102
|
+
return this.put(`/project-tasks/${taskId}`, request);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.TaskService = TaskService;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
export interface TaskGroup {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
user_id: string;
|
|
6
|
+
project_id: string;
|
|
7
|
+
created_at: string;
|
|
8
|
+
updated_at: string;
|
|
9
|
+
project_tasks: ProjectTask[];
|
|
10
|
+
}
|
|
11
|
+
export interface ProjectTask {
|
|
12
|
+
id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
status: string;
|
|
16
|
+
user_id: string;
|
|
17
|
+
task_group_id: string;
|
|
18
|
+
parent_task_id?: string;
|
|
19
|
+
ordinal: number;
|
|
20
|
+
created_at: string;
|
|
21
|
+
updated_at: string;
|
|
22
|
+
subtasks?: ProjectTask[];
|
|
23
|
+
}
|
|
24
|
+
export interface CreateTaskGroupRequest {
|
|
25
|
+
name: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
project_id: string;
|
|
28
|
+
}
|
|
29
|
+
export interface UpdateTaskGroupRequest {
|
|
30
|
+
name?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
project_id?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface CreateProjectTaskRequest {
|
|
35
|
+
title: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
task_group_id: string;
|
|
38
|
+
parent_task_id?: string;
|
|
39
|
+
ordinal?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface UpdateProjectTaskRequest {
|
|
42
|
+
title?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
status?: string;
|
|
45
|
+
task_group_id?: string;
|
|
46
|
+
parent_task_id?: string;
|
|
47
|
+
ordinal?: number;
|
|
48
|
+
}
|
|
49
|
+
export interface TaskGroupListResponse {
|
|
50
|
+
status: string;
|
|
51
|
+
data: TaskGroup[];
|
|
52
|
+
}
|
|
53
|
+
export interface TaskGroupResponse {
|
|
54
|
+
status: string;
|
|
55
|
+
data: TaskGroup;
|
|
56
|
+
}
|
|
57
|
+
export interface ProjectTaskListResponse {
|
|
58
|
+
status: string;
|
|
59
|
+
data: ProjectTask[];
|
|
60
|
+
}
|
|
61
|
+
export interface ProjectTaskResponse {
|
|
62
|
+
status: string;
|
|
63
|
+
data: ProjectTask;
|
|
64
|
+
}
|
|
65
|
+
export interface PaginatedTaskGroupsRequest {
|
|
66
|
+
page?: number;
|
|
67
|
+
page_size?: number;
|
|
68
|
+
project_id?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface PaginatedTaskGroupsResponse {
|
|
71
|
+
status: string;
|
|
72
|
+
data: TaskGroup[];
|
|
73
|
+
pagination: {
|
|
74
|
+
total: number;
|
|
75
|
+
page: number;
|
|
76
|
+
page_size: number;
|
|
77
|
+
total_pages: number;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export interface PaginatedProjectTasksRequest {
|
|
81
|
+
page?: number;
|
|
82
|
+
page_size?: number;
|
|
83
|
+
task_group_id?: string;
|
|
84
|
+
parent_task_id?: string;
|
|
85
|
+
status?: string;
|
|
86
|
+
search_query?: string;
|
|
87
|
+
}
|
|
88
|
+
export interface PaginatedProjectTasksResponse {
|
|
89
|
+
status: string;
|
|
90
|
+
data: ProjectTask[];
|
|
91
|
+
pagination: {
|
|
92
|
+
total: number;
|
|
93
|
+
page: number;
|
|
94
|
+
page_size: number;
|
|
95
|
+
total_pages: number;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export interface GenerateTasksRequest {
|
|
99
|
+
project_id: string;
|
|
100
|
+
}
|
|
101
|
+
export interface GenerateTasksResponse {
|
|
102
|
+
status: string;
|
|
103
|
+
message: string;
|
|
104
|
+
data?: {
|
|
105
|
+
task_groups_created: number;
|
|
106
|
+
tasks_created: number;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export interface GetTasksByProjectRequest {
|
|
110
|
+
project_id: string;
|
|
111
|
+
status?: string;
|
|
112
|
+
task_group_id?: string;
|
|
113
|
+
}
|
|
114
|
+
export interface GetTasksByProjectResponse {
|
|
115
|
+
status: string;
|
|
116
|
+
data: {
|
|
117
|
+
task_groups: TaskGroup[];
|
|
118
|
+
tasks: ProjectTask[];
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export interface StartTaskRequest {
|
|
122
|
+
task_id: string;
|
|
123
|
+
}
|
|
124
|
+
export interface StartTaskResponse {
|
|
125
|
+
status: string;
|
|
126
|
+
message: string;
|
|
127
|
+
data: {
|
|
128
|
+
task: ProjectTask;
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
export interface UpdateTaskRequest {
|
|
132
|
+
task_id: string;
|
|
133
|
+
status?: string;
|
|
134
|
+
ai_result?: string;
|
|
135
|
+
title?: string;
|
|
136
|
+
description?: string;
|
|
137
|
+
}
|
|
138
|
+
export interface UpdateTaskResponse {
|
|
139
|
+
status: string;
|
|
140
|
+
message: string;
|
|
141
|
+
data: {
|
|
142
|
+
task: ProjectTask;
|
|
143
|
+
};
|
|
144
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.UsageService = void 0;
|
|
18
|
+
var usage_service_1 = require("./usage-service");
|
|
19
|
+
Object.defineProperty(exports, "UsageService", { enumerable: true, get: function () { return usage_service_1.UsageService; } });
|
|
20
|
+
__exportStar(require("./usage-types"), exports);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service';
|
|
2
|
+
import { TrackUsageRequest, TrackUsageResponse, CreditBalanceResponse, CreditCheckRequest, CreditCheckResponse, UsageSummaryRequest, UsageSummaryResponse, AuthorizationResponse, FreeUserStatusResponse, CalculateUsageRequest, CalculateUsageResponse, TrackCodespaceUsageRequest, TrackCodespaceUsageResponse, CodespaceTaskUsageResponse } from './usage-types';
|
|
3
|
+
export declare class UsageService extends BaseService {
|
|
4
|
+
trackUsage(request: TrackUsageRequest): Promise<TrackUsageResponse>;
|
|
5
|
+
getCreditBalance(): Promise<CreditBalanceResponse>;
|
|
6
|
+
checkCredits(params: CreditCheckRequest): Promise<CreditCheckResponse>;
|
|
7
|
+
getUsageSummary(params?: UsageSummaryRequest): Promise<UsageSummaryResponse>;
|
|
8
|
+
getAuthorization(): Promise<AuthorizationResponse>;
|
|
9
|
+
getFreeUserStatus(): Promise<FreeUserStatusResponse>;
|
|
10
|
+
calculateUsageCost(params: CalculateUsageRequest): Promise<CalculateUsageResponse>;
|
|
11
|
+
trackCodespaceUsage(request: TrackCodespaceUsageRequest): Promise<TrackCodespaceUsageResponse>;
|
|
12
|
+
getCodespaceTaskUsage(codespaceTaskId: string): Promise<CodespaceTaskUsageResponse>;
|
|
13
|
+
healthCheck(): Promise<boolean>;
|
|
14
|
+
}
|