@codeguide/core 0.0.37 → 0.0.40
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/codeguide.ts +9 -0
- package/dist/codeguide.d.ts +4 -1
- package/dist/codeguide.js +3 -0
- package/dist/services/generation/generation-types.d.ts +1 -1
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.js +10 -1
- package/dist/services/mcp-servers/index.d.ts +2 -0
- package/dist/services/mcp-servers/index.js +20 -0
- package/dist/services/mcp-servers/mcp-servers-service.d.ts +12 -0
- package/dist/services/mcp-servers/mcp-servers-service.js +32 -0
- package/dist/services/mcp-servers/mcp-servers-types.d.ts +50 -0
- package/dist/services/mcp-servers/mcp-servers-types.js +2 -0
- package/dist/services/platforms/index.d.ts +2 -0
- package/dist/services/platforms/index.js +20 -0
- package/dist/services/platforms/platforms-service.d.ts +12 -0
- package/dist/services/platforms/platforms-service.js +32 -0
- package/dist/services/platforms/platforms-types.d.ts +50 -0
- package/dist/services/platforms/platforms-types.js +2 -0
- package/dist/services/projects/project-types.d.ts +1 -1
- package/dist/services/skills/index.d.ts +2 -0
- package/dist/services/skills/index.js +20 -0
- package/dist/services/skills/skills-service.d.ts +12 -0
- package/dist/services/skills/skills-service.js +32 -0
- package/dist/services/skills/skills-types.d.ts +50 -0
- package/dist/services/skills/skills-types.js +2 -0
- package/dist/services/tasks/task-service.d.ts +2 -1
- package/dist/services/tasks/task-service.js +5 -0
- package/dist/services/tasks/task-types.d.ts +21 -0
- package/package.json +1 -1
- package/services/generation/generation-types.ts +1 -1
- package/services/index.ts +6 -0
- package/services/mcp-servers/index.ts +2 -0
- package/services/mcp-servers/mcp-servers-service.ts +39 -0
- package/services/mcp-servers/mcp-servers-types.ts +55 -0
- package/services/platforms/index.ts +2 -0
- package/services/platforms/platforms-service.ts +39 -0
- package/services/platforms/platforms-types.ts +55 -0
- package/services/projects/project-types.ts +7 -3
- package/services/skills/index.ts +2 -0
- package/services/skills/skills-service.ts +39 -0
- package/services/skills/skills-types.ts +55 -0
- package/services/tasks/task-service.ts +10 -0
- package/services/tasks/task-types.ts +24 -0
package/codeguide.ts
CHANGED
|
@@ -23,6 +23,9 @@ import {
|
|
|
23
23
|
ChatService,
|
|
24
24
|
DataManagementService,
|
|
25
25
|
PromptGenerationsService,
|
|
26
|
+
PlatformsService,
|
|
27
|
+
MCPServersService,
|
|
28
|
+
SkillsService,
|
|
26
29
|
} from './services'
|
|
27
30
|
import { APIServiceConfig, CodeGuideOptions } from './types'
|
|
28
31
|
|
|
@@ -43,6 +46,9 @@ export class CodeGuide {
|
|
|
43
46
|
public chat: ChatService
|
|
44
47
|
public dataManagement: DataManagementService
|
|
45
48
|
public promptGenerations: PromptGenerationsService
|
|
49
|
+
public platforms: PlatformsService
|
|
50
|
+
public mcpServers: MCPServersService
|
|
51
|
+
public skills: SkillsService
|
|
46
52
|
private options: CodeGuideOptions
|
|
47
53
|
|
|
48
54
|
constructor(config: APIServiceConfig, options: CodeGuideOptions = {}) {
|
|
@@ -65,6 +71,9 @@ export class CodeGuide {
|
|
|
65
71
|
this.chat = new ChatService(config)
|
|
66
72
|
this.dataManagement = new DataManagementService(config)
|
|
67
73
|
this.promptGenerations = new PromptGenerationsService(config)
|
|
74
|
+
this.platforms = new PlatformsService(config)
|
|
75
|
+
this.mcpServers = new MCPServersService(config)
|
|
76
|
+
this.skills = new SkillsService(config)
|
|
68
77
|
}
|
|
69
78
|
|
|
70
79
|
// Convenience method for backward compatibility
|
package/dist/codeguide.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GenerationService, ProjectService, UsageService, RepositoryAnalysisService, TaskService, ApiKeyEnhancedService, SubscriptionService, CancellationFunnelService, CodespaceService, ExternalTokenService, SecurityKeysService, UserService, StarterKitsService, ChatService, DataManagementService, PromptGenerationsService } from './services';
|
|
1
|
+
import { GenerationService, ProjectService, UsageService, RepositoryAnalysisService, TaskService, ApiKeyEnhancedService, SubscriptionService, CancellationFunnelService, CodespaceService, ExternalTokenService, SecurityKeysService, UserService, StarterKitsService, ChatService, DataManagementService, PromptGenerationsService, PlatformsService, MCPServersService, SkillsService } from './services';
|
|
2
2
|
import { APIServiceConfig, CodeGuideOptions } from './types';
|
|
3
3
|
export declare class CodeGuide {
|
|
4
4
|
generation: GenerationService;
|
|
@@ -17,6 +17,9 @@ export declare class CodeGuide {
|
|
|
17
17
|
chat: ChatService;
|
|
18
18
|
dataManagement: DataManagementService;
|
|
19
19
|
promptGenerations: PromptGenerationsService;
|
|
20
|
+
platforms: PlatformsService;
|
|
21
|
+
mcpServers: MCPServersService;
|
|
22
|
+
skills: SkillsService;
|
|
20
23
|
private options;
|
|
21
24
|
constructor(config: APIServiceConfig, options?: CodeGuideOptions);
|
|
22
25
|
getGuidance(prompt: string): Promise<any>;
|
package/dist/codeguide.js
CHANGED
|
@@ -32,6 +32,9 @@ class CodeGuide {
|
|
|
32
32
|
this.chat = new services_1.ChatService(config);
|
|
33
33
|
this.dataManagement = new services_1.DataManagementService(config);
|
|
34
34
|
this.promptGenerations = new services_1.PromptGenerationsService(config);
|
|
35
|
+
this.platforms = new services_1.PlatformsService(config);
|
|
36
|
+
this.mcpServers = new services_1.MCPServersService(config);
|
|
37
|
+
this.skills = new services_1.SkillsService(config);
|
|
35
38
|
}
|
|
36
39
|
// Convenience method for backward compatibility
|
|
37
40
|
async getGuidance(prompt) {
|
|
@@ -130,7 +130,7 @@ export interface GenerateAnswersResponse {
|
|
|
130
130
|
answer: string;
|
|
131
131
|
}>;
|
|
132
132
|
}
|
|
133
|
-
export type ProjectMode = 'prd_only' | 'full_application' | 'prototype' | 'mvp';
|
|
133
|
+
export type ProjectMode = 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'wireframe_only';
|
|
134
134
|
export interface ProjectOutline {
|
|
135
135
|
core_features: Array<{
|
|
136
136
|
id: number;
|
package/dist/services/index.d.ts
CHANGED
|
@@ -16,6 +16,9 @@ export { StreamingService } from './streaming';
|
|
|
16
16
|
export { ChatService } from './chat';
|
|
17
17
|
export { DataManagementService } from './data-management';
|
|
18
18
|
export { PromptGenerationsService } from './prompt-generations';
|
|
19
|
+
export { PlatformsService } from './platforms';
|
|
20
|
+
export { MCPServersService } from './mcp-servers';
|
|
21
|
+
export { SkillsService } from './skills';
|
|
19
22
|
export * from './generation';
|
|
20
23
|
export * from './projects';
|
|
21
24
|
export * from './usage';
|
|
@@ -33,3 +36,6 @@ export * from './streaming';
|
|
|
33
36
|
export * from './chat';
|
|
34
37
|
export * from './data-management';
|
|
35
38
|
export * from './prompt-generations';
|
|
39
|
+
export * from './platforms';
|
|
40
|
+
export * from './mcp-servers';
|
|
41
|
+
export * from './skills';
|
package/dist/services/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.PromptGenerationsService = exports.DataManagementService = exports.ChatService = exports.StreamingService = exports.StarterKitsService = exports.UserService = exports.SecurityKeysService = exports.ExternalTokenService = exports.CodespaceService = exports.CancellationFunnelService = exports.SubscriptionService = exports.ApiKeyEnhancedService = exports.TaskService = exports.RepositoryAnalysisService = exports.UsageService = exports.ProjectService = exports.GenerationService = exports.BaseService = void 0;
|
|
20
|
+
exports.SkillsService = exports.MCPServersService = exports.PlatformsService = exports.PromptGenerationsService = exports.DataManagementService = exports.ChatService = exports.StreamingService = exports.StarterKitsService = exports.UserService = exports.SecurityKeysService = exports.ExternalTokenService = exports.CodespaceService = exports.CancellationFunnelService = exports.SubscriptionService = exports.ApiKeyEnhancedService = exports.TaskService = exports.RepositoryAnalysisService = exports.UsageService = exports.ProjectService = exports.GenerationService = exports.BaseService = void 0;
|
|
21
21
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
22
22
|
const path_1 = __importDefault(require("path"));
|
|
23
23
|
// Load environment variables from project root
|
|
@@ -61,6 +61,12 @@ var data_management_1 = require("./data-management");
|
|
|
61
61
|
Object.defineProperty(exports, "DataManagementService", { enumerable: true, get: function () { return data_management_1.DataManagementService; } });
|
|
62
62
|
var prompt_generations_1 = require("./prompt-generations");
|
|
63
63
|
Object.defineProperty(exports, "PromptGenerationsService", { enumerable: true, get: function () { return prompt_generations_1.PromptGenerationsService; } });
|
|
64
|
+
var platforms_1 = require("./platforms");
|
|
65
|
+
Object.defineProperty(exports, "PlatformsService", { enumerable: true, get: function () { return platforms_1.PlatformsService; } });
|
|
66
|
+
var mcp_servers_1 = require("./mcp-servers");
|
|
67
|
+
Object.defineProperty(exports, "MCPServersService", { enumerable: true, get: function () { return mcp_servers_1.MCPServersService; } });
|
|
68
|
+
var skills_1 = require("./skills");
|
|
69
|
+
Object.defineProperty(exports, "SkillsService", { enumerable: true, get: function () { return skills_1.SkillsService; } });
|
|
64
70
|
// Re-export all types for convenience
|
|
65
71
|
__exportStar(require("./generation"), exports);
|
|
66
72
|
__exportStar(require("./projects"), exports);
|
|
@@ -79,3 +85,6 @@ __exportStar(require("./streaming"), exports);
|
|
|
79
85
|
__exportStar(require("./chat"), exports);
|
|
80
86
|
__exportStar(require("./data-management"), exports);
|
|
81
87
|
__exportStar(require("./prompt-generations"), exports);
|
|
88
|
+
__exportStar(require("./platforms"), exports);
|
|
89
|
+
__exportStar(require("./mcp-servers"), exports);
|
|
90
|
+
__exportStar(require("./skills"), exports);
|
|
@@ -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.MCPServersService = void 0;
|
|
18
|
+
var mcp_servers_service_1 = require("./mcp-servers-service");
|
|
19
|
+
Object.defineProperty(exports, "MCPServersService", { enumerable: true, get: function () { return mcp_servers_service_1.MCPServersService; } });
|
|
20
|
+
__exportStar(require("./mcp-servers-types"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service';
|
|
2
|
+
import { CreateMCPServerRequest, UpdateMCPServerRequest, ListMCPServersRequest, MCPServerResponse, MCPServerListResponse } from './mcp-servers-types';
|
|
3
|
+
export declare class MCPServersService extends BaseService {
|
|
4
|
+
listMCPServers(params?: ListMCPServersRequest): Promise<MCPServerListResponse>;
|
|
5
|
+
getMCPServer(id: string): Promise<MCPServerResponse>;
|
|
6
|
+
createMCPServer(request: CreateMCPServerRequest): Promise<MCPServerResponse>;
|
|
7
|
+
updateMCPServer(id: string, request: UpdateMCPServerRequest): Promise<MCPServerResponse>;
|
|
8
|
+
deleteMCPServer(id: string): Promise<{
|
|
9
|
+
status: string;
|
|
10
|
+
message: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MCPServersService = void 0;
|
|
4
|
+
const base_service_1 = require("../base/base-service");
|
|
5
|
+
class MCPServersService extends base_service_1.BaseService {
|
|
6
|
+
async listMCPServers(params) {
|
|
7
|
+
const queryParams = new URLSearchParams();
|
|
8
|
+
if (params?.category)
|
|
9
|
+
queryParams.append('category', params.category);
|
|
10
|
+
if (params?.search)
|
|
11
|
+
queryParams.append('search', params.search);
|
|
12
|
+
if (params?.limit !== undefined)
|
|
13
|
+
queryParams.append('limit', params.limit.toString());
|
|
14
|
+
if (params?.offset !== undefined)
|
|
15
|
+
queryParams.append('offset', params.offset.toString());
|
|
16
|
+
const url = `/mcp-servers/${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
17
|
+
return this.get(url);
|
|
18
|
+
}
|
|
19
|
+
async getMCPServer(id) {
|
|
20
|
+
return this.get(`/mcp-servers/${id}`);
|
|
21
|
+
}
|
|
22
|
+
async createMCPServer(request) {
|
|
23
|
+
return this.post('/mcp-servers/', request);
|
|
24
|
+
}
|
|
25
|
+
async updateMCPServer(id, request) {
|
|
26
|
+
return this.put(`/mcp-servers/${id}`, request);
|
|
27
|
+
}
|
|
28
|
+
async deleteMCPServer(id) {
|
|
29
|
+
return this.delete(`/mcp-servers/${id}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.MCPServersService = MCPServersService;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface MCPServer {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
logo_src?: string;
|
|
6
|
+
category?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
publisher?: string;
|
|
9
|
+
ordinal?: number;
|
|
10
|
+
metadata?: Record<string, any>;
|
|
11
|
+
is_active: boolean;
|
|
12
|
+
created_at: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateMCPServerRequest {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
logo_src?: string;
|
|
18
|
+
category?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
publisher?: string;
|
|
21
|
+
ordinal?: number;
|
|
22
|
+
metadata?: Record<string, any>;
|
|
23
|
+
}
|
|
24
|
+
export interface UpdateMCPServerRequest {
|
|
25
|
+
name?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
logo_src?: string;
|
|
28
|
+
category?: string;
|
|
29
|
+
url?: string;
|
|
30
|
+
publisher?: string;
|
|
31
|
+
ordinal?: number;
|
|
32
|
+
metadata?: Record<string, any>;
|
|
33
|
+
}
|
|
34
|
+
export interface ListMCPServersRequest {
|
|
35
|
+
category?: string;
|
|
36
|
+
search?: string;
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface MCPServerResponse {
|
|
41
|
+
status: string;
|
|
42
|
+
data: MCPServer;
|
|
43
|
+
}
|
|
44
|
+
export interface MCPServerListResponse {
|
|
45
|
+
status: string;
|
|
46
|
+
data: MCPServer[];
|
|
47
|
+
total: number;
|
|
48
|
+
limit: number;
|
|
49
|
+
offset: number;
|
|
50
|
+
}
|
|
@@ -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.PlatformsService = void 0;
|
|
18
|
+
var platforms_service_1 = require("./platforms-service");
|
|
19
|
+
Object.defineProperty(exports, "PlatformsService", { enumerable: true, get: function () { return platforms_service_1.PlatformsService; } });
|
|
20
|
+
__exportStar(require("./platforms-types"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service';
|
|
2
|
+
import { CreatePlatformRequest, UpdatePlatformRequest, ListPlatformsRequest, PlatformResponse, PlatformListResponse } from './platforms-types';
|
|
3
|
+
export declare class PlatformsService extends BaseService {
|
|
4
|
+
listPlatforms(params?: ListPlatformsRequest): Promise<PlatformListResponse>;
|
|
5
|
+
getPlatform(id: string): Promise<PlatformResponse>;
|
|
6
|
+
createPlatform(request: CreatePlatformRequest): Promise<PlatformResponse>;
|
|
7
|
+
updatePlatform(id: string, request: UpdatePlatformRequest): Promise<PlatformResponse>;
|
|
8
|
+
deletePlatform(id: string): Promise<{
|
|
9
|
+
status: string;
|
|
10
|
+
message: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlatformsService = void 0;
|
|
4
|
+
const base_service_1 = require("../base/base-service");
|
|
5
|
+
class PlatformsService extends base_service_1.BaseService {
|
|
6
|
+
async listPlatforms(params) {
|
|
7
|
+
const queryParams = new URLSearchParams();
|
|
8
|
+
if (params?.category)
|
|
9
|
+
queryParams.append('category', params.category);
|
|
10
|
+
if (params?.search)
|
|
11
|
+
queryParams.append('search', params.search);
|
|
12
|
+
if (params?.limit !== undefined)
|
|
13
|
+
queryParams.append('limit', params.limit.toString());
|
|
14
|
+
if (params?.offset !== undefined)
|
|
15
|
+
queryParams.append('offset', params.offset.toString());
|
|
16
|
+
const url = `/platforms/${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
17
|
+
return this.get(url);
|
|
18
|
+
}
|
|
19
|
+
async getPlatform(id) {
|
|
20
|
+
return this.get(`/platforms/${id}`);
|
|
21
|
+
}
|
|
22
|
+
async createPlatform(request) {
|
|
23
|
+
return this.post('/platforms/', request);
|
|
24
|
+
}
|
|
25
|
+
async updatePlatform(id, request) {
|
|
26
|
+
return this.put(`/platforms/${id}`, request);
|
|
27
|
+
}
|
|
28
|
+
async deletePlatform(id) {
|
|
29
|
+
return this.delete(`/platforms/${id}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.PlatformsService = PlatformsService;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface PlatformResource {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
logo_src?: string;
|
|
6
|
+
category?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
publisher?: string;
|
|
9
|
+
ordinal?: number;
|
|
10
|
+
metadata?: Record<string, any>;
|
|
11
|
+
is_active: boolean;
|
|
12
|
+
created_at: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CreatePlatformRequest {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
logo_src?: string;
|
|
18
|
+
category?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
publisher?: string;
|
|
21
|
+
ordinal?: number;
|
|
22
|
+
metadata?: Record<string, any>;
|
|
23
|
+
}
|
|
24
|
+
export interface UpdatePlatformRequest {
|
|
25
|
+
name?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
logo_src?: string;
|
|
28
|
+
category?: string;
|
|
29
|
+
url?: string;
|
|
30
|
+
publisher?: string;
|
|
31
|
+
ordinal?: number;
|
|
32
|
+
metadata?: Record<string, any>;
|
|
33
|
+
}
|
|
34
|
+
export interface ListPlatformsRequest {
|
|
35
|
+
category?: string;
|
|
36
|
+
search?: string;
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface PlatformResponse {
|
|
41
|
+
status: string;
|
|
42
|
+
data: PlatformResource;
|
|
43
|
+
}
|
|
44
|
+
export interface PlatformListResponse {
|
|
45
|
+
status: string;
|
|
46
|
+
data: PlatformResource[];
|
|
47
|
+
total: number;
|
|
48
|
+
limit: number;
|
|
49
|
+
offset: number;
|
|
50
|
+
}
|
|
@@ -49,7 +49,7 @@ export interface Project {
|
|
|
49
49
|
}>;
|
|
50
50
|
document_types?: string[];
|
|
51
51
|
is_generated?: boolean;
|
|
52
|
-
project_mode?: 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'task_only';
|
|
52
|
+
project_mode?: 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'task_only' | 'wireframe_only';
|
|
53
53
|
};
|
|
54
54
|
codie_tool_id?: string;
|
|
55
55
|
existing_project_repo_url?: string | null;
|
|
@@ -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.SkillsService = void 0;
|
|
18
|
+
var skills_service_1 = require("./skills-service");
|
|
19
|
+
Object.defineProperty(exports, "SkillsService", { enumerable: true, get: function () { return skills_service_1.SkillsService; } });
|
|
20
|
+
__exportStar(require("./skills-types"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service';
|
|
2
|
+
import { CreateSkillRequest, UpdateSkillRequest, ListSkillsRequest, SkillResponse, SkillListResponse } from './skills-types';
|
|
3
|
+
export declare class SkillsService extends BaseService {
|
|
4
|
+
listSkills(params?: ListSkillsRequest): Promise<SkillListResponse>;
|
|
5
|
+
getSkill(id: string): Promise<SkillResponse>;
|
|
6
|
+
createSkill(request: CreateSkillRequest): Promise<SkillResponse>;
|
|
7
|
+
updateSkill(id: string, request: UpdateSkillRequest): Promise<SkillResponse>;
|
|
8
|
+
deleteSkill(id: string): Promise<{
|
|
9
|
+
status: string;
|
|
10
|
+
message: string;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkillsService = void 0;
|
|
4
|
+
const base_service_1 = require("../base/base-service");
|
|
5
|
+
class SkillsService extends base_service_1.BaseService {
|
|
6
|
+
async listSkills(params) {
|
|
7
|
+
const queryParams = new URLSearchParams();
|
|
8
|
+
if (params?.category)
|
|
9
|
+
queryParams.append('category', params.category);
|
|
10
|
+
if (params?.search)
|
|
11
|
+
queryParams.append('search', params.search);
|
|
12
|
+
if (params?.limit !== undefined)
|
|
13
|
+
queryParams.append('limit', params.limit.toString());
|
|
14
|
+
if (params?.offset !== undefined)
|
|
15
|
+
queryParams.append('offset', params.offset.toString());
|
|
16
|
+
const url = `/skills/${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
17
|
+
return this.get(url);
|
|
18
|
+
}
|
|
19
|
+
async getSkill(id) {
|
|
20
|
+
return this.get(`/skills/${id}`);
|
|
21
|
+
}
|
|
22
|
+
async createSkill(request) {
|
|
23
|
+
return this.post('/skills/', request);
|
|
24
|
+
}
|
|
25
|
+
async updateSkill(id, request) {
|
|
26
|
+
return this.put(`/skills/${id}`, request);
|
|
27
|
+
}
|
|
28
|
+
async deleteSkill(id) {
|
|
29
|
+
return this.delete(`/skills/${id}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.SkillsService = SkillsService;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface Skill {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
logo_src?: string;
|
|
6
|
+
category?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
publisher?: string;
|
|
9
|
+
ordinal?: number;
|
|
10
|
+
metadata?: Record<string, any>;
|
|
11
|
+
is_active: boolean;
|
|
12
|
+
created_at: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CreateSkillRequest {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
logo_src?: string;
|
|
18
|
+
category?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
publisher?: string;
|
|
21
|
+
ordinal?: number;
|
|
22
|
+
metadata?: Record<string, any>;
|
|
23
|
+
}
|
|
24
|
+
export interface UpdateSkillRequest {
|
|
25
|
+
name?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
logo_src?: string;
|
|
28
|
+
category?: string;
|
|
29
|
+
url?: string;
|
|
30
|
+
publisher?: string;
|
|
31
|
+
ordinal?: number;
|
|
32
|
+
metadata?: Record<string, any>;
|
|
33
|
+
}
|
|
34
|
+
export interface ListSkillsRequest {
|
|
35
|
+
category?: string;
|
|
36
|
+
search?: string;
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface SkillResponse {
|
|
41
|
+
status: string;
|
|
42
|
+
data: Skill;
|
|
43
|
+
}
|
|
44
|
+
export interface SkillListResponse {
|
|
45
|
+
status: string;
|
|
46
|
+
data: Skill[];
|
|
47
|
+
total: number;
|
|
48
|
+
limit: number;
|
|
49
|
+
offset: number;
|
|
50
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseService } from '../base/base-service';
|
|
2
|
-
import { TaskGroup, ProjectTask, CreateTaskGroupRequest, UpdateTaskGroupRequest, CreateProjectTaskRequest, UpdateProjectTaskRequest, ProjectTaskListResponse, PaginatedTaskGroupsRequest, PaginatedTaskGroupsResponse, PaginatedProjectTasksRequest, PaginatedProjectTasksResponse, GenerateTasksRequest, GenerateTasksResponse, GetTasksByProjectRequest, GetTasksByProjectResponse, UpdateTaskRequest, UpdateTaskResponse, GenerateTasksCustomBackgroundRequest, GenerateTasksCustomBackgroundResponse, GeneratePromptRequest, GeneratePromptResponse } from './task-types';
|
|
2
|
+
import { TaskGroup, ProjectTask, CreateTaskGroupRequest, UpdateTaskGroupRequest, CreateProjectTaskRequest, UpdateProjectTaskRequest, ProjectTaskListResponse, PaginatedTaskGroupsRequest, PaginatedTaskGroupsResponse, PaginatedProjectTasksRequest, PaginatedProjectTasksResponse, GenerateTasksRequest, GenerateTasksResponse, GetTasksByProjectRequest, GetTasksByProjectResponse, UpdateTaskRequest, UpdateTaskResponse, GenerateTasksCustomBackgroundRequest, GenerateTasksCustomBackgroundResponse, GeneratePromptRequest, GeneratePromptResponse, GetGroupedTasksByProjectRequest, GetGroupedTasksByProjectResponse } from './task-types';
|
|
3
3
|
export declare class TaskService extends BaseService {
|
|
4
4
|
getAllTaskGroups(): Promise<TaskGroup[]>;
|
|
5
5
|
getPaginatedTaskGroups(params: PaginatedTaskGroupsRequest): Promise<PaginatedTaskGroupsResponse>;
|
|
@@ -28,6 +28,7 @@ export declare class TaskService extends BaseService {
|
|
|
28
28
|
generateTasksCustomBackground(request: GenerateTasksCustomBackgroundRequest): Promise<GenerateTasksCustomBackgroundResponse>;
|
|
29
29
|
getTasksByProject(request: GetTasksByProjectRequest): Promise<GetTasksByProjectResponse>;
|
|
30
30
|
getLatestTasksByProject(projectId: string): Promise<GetTasksByProjectResponse>;
|
|
31
|
+
getGroupedTasksByProject(request: GetGroupedTasksByProjectRequest): Promise<GetGroupedTasksByProjectResponse>;
|
|
31
32
|
updateTask(taskId: string, request: UpdateTaskRequest): Promise<UpdateTaskResponse>;
|
|
32
33
|
getProjectTasksbyCodespace(codespaceTaskId: string): Promise<ProjectTaskListResponse>;
|
|
33
34
|
generatePrompt(taskId: string, request?: GeneratePromptRequest): Promise<GeneratePromptResponse>;
|
|
@@ -135,6 +135,11 @@ class TaskService extends base_service_1.BaseService {
|
|
|
135
135
|
const url = `/project-tasks/by-project/${projectId}/latest`;
|
|
136
136
|
return this.get(url);
|
|
137
137
|
}
|
|
138
|
+
// Get Grouped Tasks by Project
|
|
139
|
+
async getGroupedTasksByProject(request) {
|
|
140
|
+
const url = `/project-tasks/by-project/${request.project_id}/grouped`;
|
|
141
|
+
return this.get(url);
|
|
142
|
+
}
|
|
138
143
|
// Update Task
|
|
139
144
|
async updateTask(taskId, request) {
|
|
140
145
|
return this.put(`/project-tasks/${taskId}`, request);
|
|
@@ -185,3 +185,24 @@ export interface GeneratePromptResponse {
|
|
|
185
185
|
status: string;
|
|
186
186
|
prompt: string;
|
|
187
187
|
}
|
|
188
|
+
export interface GetGroupedTasksByProjectRequest {
|
|
189
|
+
project_id: string;
|
|
190
|
+
}
|
|
191
|
+
export interface TaskGroupWithTasks {
|
|
192
|
+
task_group_id: string;
|
|
193
|
+
created_at: string;
|
|
194
|
+
codespace_task_id: string | null;
|
|
195
|
+
raw_tasks: {
|
|
196
|
+
tasks: RawTask[];
|
|
197
|
+
expanded_tasks: RawTask[];
|
|
198
|
+
};
|
|
199
|
+
task_count: number;
|
|
200
|
+
tasks: ProjectTask[];
|
|
201
|
+
}
|
|
202
|
+
export interface GetGroupedTasksByProjectResponse {
|
|
203
|
+
status: string;
|
|
204
|
+
project_id: string;
|
|
205
|
+
total_groups: number;
|
|
206
|
+
total_tasks: number;
|
|
207
|
+
data: TaskGroupWithTasks[];
|
|
208
|
+
}
|
package/package.json
CHANGED
|
@@ -155,7 +155,7 @@ export interface GenerateAnswersResponse {
|
|
|
155
155
|
}>
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
export type ProjectMode = 'prd_only' | 'full_application' | 'prototype' | 'mvp'
|
|
158
|
+
export type ProjectMode = 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'wireframe_only'
|
|
159
159
|
|
|
160
160
|
export interface ProjectOutline {
|
|
161
161
|
core_features: Array<{
|
package/services/index.ts
CHANGED
|
@@ -25,6 +25,9 @@ export { StreamingService } from './streaming'
|
|
|
25
25
|
export { ChatService } from './chat'
|
|
26
26
|
export { DataManagementService } from './data-management'
|
|
27
27
|
export { PromptGenerationsService } from './prompt-generations'
|
|
28
|
+
export { PlatformsService } from './platforms'
|
|
29
|
+
export { MCPServersService } from './mcp-servers'
|
|
30
|
+
export { SkillsService } from './skills'
|
|
28
31
|
|
|
29
32
|
// Re-export all types for convenience
|
|
30
33
|
export * from './generation'
|
|
@@ -44,3 +47,6 @@ export * from './streaming'
|
|
|
44
47
|
export * from './chat'
|
|
45
48
|
export * from './data-management'
|
|
46
49
|
export * from './prompt-generations'
|
|
50
|
+
export * from './platforms'
|
|
51
|
+
export * from './mcp-servers'
|
|
52
|
+
export * from './skills'
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service'
|
|
2
|
+
import {
|
|
3
|
+
MCPServer,
|
|
4
|
+
CreateMCPServerRequest,
|
|
5
|
+
UpdateMCPServerRequest,
|
|
6
|
+
ListMCPServersRequest,
|
|
7
|
+
MCPServerResponse,
|
|
8
|
+
MCPServerListResponse,
|
|
9
|
+
} from './mcp-servers-types'
|
|
10
|
+
|
|
11
|
+
export class MCPServersService extends BaseService {
|
|
12
|
+
async listMCPServers(params?: ListMCPServersRequest): Promise<MCPServerListResponse> {
|
|
13
|
+
const queryParams = new URLSearchParams()
|
|
14
|
+
|
|
15
|
+
if (params?.category) queryParams.append('category', params.category)
|
|
16
|
+
if (params?.search) queryParams.append('search', params.search)
|
|
17
|
+
if (params?.limit !== undefined) queryParams.append('limit', params.limit.toString())
|
|
18
|
+
if (params?.offset !== undefined) queryParams.append('offset', params.offset.toString())
|
|
19
|
+
|
|
20
|
+
const url = `/mcp-servers/${queryParams.toString() ? `?${queryParams.toString()}` : ''}`
|
|
21
|
+
return this.get<MCPServerListResponse>(url)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async getMCPServer(id: string): Promise<MCPServerResponse> {
|
|
25
|
+
return this.get<MCPServerResponse>(`/mcp-servers/${id}`)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async createMCPServer(request: CreateMCPServerRequest): Promise<MCPServerResponse> {
|
|
29
|
+
return this.post<MCPServerResponse>('/mcp-servers/', request)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async updateMCPServer(id: string, request: UpdateMCPServerRequest): Promise<MCPServerResponse> {
|
|
33
|
+
return this.put<MCPServerResponse>(`/mcp-servers/${id}`, request)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async deleteMCPServer(id: string): Promise<{ status: string; message: string }> {
|
|
37
|
+
return this.delete<{ status: string; message: string }>(`/mcp-servers/${id}`)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface MCPServer {
|
|
2
|
+
id: string
|
|
3
|
+
name: string
|
|
4
|
+
description: string
|
|
5
|
+
logo_src?: string
|
|
6
|
+
category?: string
|
|
7
|
+
url?: string
|
|
8
|
+
publisher?: string
|
|
9
|
+
ordinal?: number
|
|
10
|
+
metadata?: Record<string, any>
|
|
11
|
+
is_active: boolean
|
|
12
|
+
created_at: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface CreateMCPServerRequest {
|
|
16
|
+
name: string
|
|
17
|
+
description: string
|
|
18
|
+
logo_src?: string
|
|
19
|
+
category?: string
|
|
20
|
+
url?: string
|
|
21
|
+
publisher?: string
|
|
22
|
+
ordinal?: number
|
|
23
|
+
metadata?: Record<string, any>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface UpdateMCPServerRequest {
|
|
27
|
+
name?: string
|
|
28
|
+
description?: string
|
|
29
|
+
logo_src?: string
|
|
30
|
+
category?: string
|
|
31
|
+
url?: string
|
|
32
|
+
publisher?: string
|
|
33
|
+
ordinal?: number
|
|
34
|
+
metadata?: Record<string, any>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ListMCPServersRequest {
|
|
38
|
+
category?: string
|
|
39
|
+
search?: string
|
|
40
|
+
limit?: number
|
|
41
|
+
offset?: number
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface MCPServerResponse {
|
|
45
|
+
status: string
|
|
46
|
+
data: MCPServer
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface MCPServerListResponse {
|
|
50
|
+
status: string
|
|
51
|
+
data: MCPServer[]
|
|
52
|
+
total: number
|
|
53
|
+
limit: number
|
|
54
|
+
offset: number
|
|
55
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service'
|
|
2
|
+
import {
|
|
3
|
+
PlatformResource,
|
|
4
|
+
CreatePlatformRequest,
|
|
5
|
+
UpdatePlatformRequest,
|
|
6
|
+
ListPlatformsRequest,
|
|
7
|
+
PlatformResponse,
|
|
8
|
+
PlatformListResponse,
|
|
9
|
+
} from './platforms-types'
|
|
10
|
+
|
|
11
|
+
export class PlatformsService extends BaseService {
|
|
12
|
+
async listPlatforms(params?: ListPlatformsRequest): Promise<PlatformListResponse> {
|
|
13
|
+
const queryParams = new URLSearchParams()
|
|
14
|
+
|
|
15
|
+
if (params?.category) queryParams.append('category', params.category)
|
|
16
|
+
if (params?.search) queryParams.append('search', params.search)
|
|
17
|
+
if (params?.limit !== undefined) queryParams.append('limit', params.limit.toString())
|
|
18
|
+
if (params?.offset !== undefined) queryParams.append('offset', params.offset.toString())
|
|
19
|
+
|
|
20
|
+
const url = `/platforms/${queryParams.toString() ? `?${queryParams.toString()}` : ''}`
|
|
21
|
+
return this.get<PlatformListResponse>(url)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async getPlatform(id: string): Promise<PlatformResponse> {
|
|
25
|
+
return this.get<PlatformResponse>(`/platforms/${id}`)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async createPlatform(request: CreatePlatformRequest): Promise<PlatformResponse> {
|
|
29
|
+
return this.post<PlatformResponse>('/platforms/', request)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async updatePlatform(id: string, request: UpdatePlatformRequest): Promise<PlatformResponse> {
|
|
33
|
+
return this.put<PlatformResponse>(`/platforms/${id}`, request)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async deletePlatform(id: string): Promise<{ status: string; message: string }> {
|
|
37
|
+
return this.delete<{ status: string; message: string }>(`/platforms/${id}`)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface PlatformResource {
|
|
2
|
+
id: string
|
|
3
|
+
name: string
|
|
4
|
+
description: string
|
|
5
|
+
logo_src?: string
|
|
6
|
+
category?: string
|
|
7
|
+
url?: string
|
|
8
|
+
publisher?: string
|
|
9
|
+
ordinal?: number
|
|
10
|
+
metadata?: Record<string, any>
|
|
11
|
+
is_active: boolean
|
|
12
|
+
created_at: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface CreatePlatformRequest {
|
|
16
|
+
name: string
|
|
17
|
+
description: string
|
|
18
|
+
logo_src?: string
|
|
19
|
+
category?: string
|
|
20
|
+
url?: string
|
|
21
|
+
publisher?: string
|
|
22
|
+
ordinal?: number
|
|
23
|
+
metadata?: Record<string, any>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface UpdatePlatformRequest {
|
|
27
|
+
name?: string
|
|
28
|
+
description?: string
|
|
29
|
+
logo_src?: string
|
|
30
|
+
category?: string
|
|
31
|
+
url?: string
|
|
32
|
+
publisher?: string
|
|
33
|
+
ordinal?: number
|
|
34
|
+
metadata?: Record<string, any>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ListPlatformsRequest {
|
|
38
|
+
category?: string
|
|
39
|
+
search?: string
|
|
40
|
+
limit?: number
|
|
41
|
+
offset?: number
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface PlatformResponse {
|
|
45
|
+
status: string
|
|
46
|
+
data: PlatformResource
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface PlatformListResponse {
|
|
50
|
+
status: string
|
|
51
|
+
data: PlatformResource[]
|
|
52
|
+
total: number
|
|
53
|
+
limit: number
|
|
54
|
+
offset: number
|
|
55
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
export interface ProjectRepository {
|
|
3
2
|
id: string
|
|
4
3
|
name: string
|
|
@@ -51,7 +50,13 @@ export interface Project {
|
|
|
51
50
|
}>
|
|
52
51
|
document_types?: string[]
|
|
53
52
|
is_generated?: boolean
|
|
54
|
-
project_mode?:
|
|
53
|
+
project_mode?:
|
|
54
|
+
| 'prd_only'
|
|
55
|
+
| 'full_application'
|
|
56
|
+
| 'prototype'
|
|
57
|
+
| 'mvp'
|
|
58
|
+
| 'task_only'
|
|
59
|
+
| 'wireframe_only'
|
|
55
60
|
}
|
|
56
61
|
codie_tool_id?: string
|
|
57
62
|
existing_project_repo_url?: string | null
|
|
@@ -257,4 +262,3 @@ export interface GetAiToolsResponse {
|
|
|
257
262
|
status: string
|
|
258
263
|
data: AITool[]
|
|
259
264
|
}
|
|
260
|
-
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service'
|
|
2
|
+
import {
|
|
3
|
+
Skill,
|
|
4
|
+
CreateSkillRequest,
|
|
5
|
+
UpdateSkillRequest,
|
|
6
|
+
ListSkillsRequest,
|
|
7
|
+
SkillResponse,
|
|
8
|
+
SkillListResponse,
|
|
9
|
+
} from './skills-types'
|
|
10
|
+
|
|
11
|
+
export class SkillsService extends BaseService {
|
|
12
|
+
async listSkills(params?: ListSkillsRequest): Promise<SkillListResponse> {
|
|
13
|
+
const queryParams = new URLSearchParams()
|
|
14
|
+
|
|
15
|
+
if (params?.category) queryParams.append('category', params.category)
|
|
16
|
+
if (params?.search) queryParams.append('search', params.search)
|
|
17
|
+
if (params?.limit !== undefined) queryParams.append('limit', params.limit.toString())
|
|
18
|
+
if (params?.offset !== undefined) queryParams.append('offset', params.offset.toString())
|
|
19
|
+
|
|
20
|
+
const url = `/skills/${queryParams.toString() ? `?${queryParams.toString()}` : ''}`
|
|
21
|
+
return this.get<SkillListResponse>(url)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async getSkill(id: string): Promise<SkillResponse> {
|
|
25
|
+
return this.get<SkillResponse>(`/skills/${id}`)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async createSkill(request: CreateSkillRequest): Promise<SkillResponse> {
|
|
29
|
+
return this.post<SkillResponse>('/skills/', request)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async updateSkill(id: string, request: UpdateSkillRequest): Promise<SkillResponse> {
|
|
33
|
+
return this.put<SkillResponse>(`/skills/${id}`, request)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async deleteSkill(id: string): Promise<{ status: string; message: string }> {
|
|
37
|
+
return this.delete<{ status: string; message: string }>(`/skills/${id}`)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface Skill {
|
|
2
|
+
id: string
|
|
3
|
+
name: string
|
|
4
|
+
description: string
|
|
5
|
+
logo_src?: string
|
|
6
|
+
category?: string
|
|
7
|
+
url?: string
|
|
8
|
+
publisher?: string
|
|
9
|
+
ordinal?: number
|
|
10
|
+
metadata?: Record<string, any>
|
|
11
|
+
is_active: boolean
|
|
12
|
+
created_at: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface CreateSkillRequest {
|
|
16
|
+
name: string
|
|
17
|
+
description: string
|
|
18
|
+
logo_src?: string
|
|
19
|
+
category?: string
|
|
20
|
+
url?: string
|
|
21
|
+
publisher?: string
|
|
22
|
+
ordinal?: number
|
|
23
|
+
metadata?: Record<string, any>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface UpdateSkillRequest {
|
|
27
|
+
name?: string
|
|
28
|
+
description?: string
|
|
29
|
+
logo_src?: string
|
|
30
|
+
category?: string
|
|
31
|
+
url?: string
|
|
32
|
+
publisher?: string
|
|
33
|
+
ordinal?: number
|
|
34
|
+
metadata?: Record<string, any>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ListSkillsRequest {
|
|
38
|
+
category?: string
|
|
39
|
+
search?: string
|
|
40
|
+
limit?: number
|
|
41
|
+
offset?: number
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface SkillResponse {
|
|
45
|
+
status: string
|
|
46
|
+
data: Skill
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface SkillListResponse {
|
|
50
|
+
status: string
|
|
51
|
+
data: Skill[]
|
|
52
|
+
total: number
|
|
53
|
+
limit: number
|
|
54
|
+
offset: number
|
|
55
|
+
}
|
|
@@ -24,6 +24,8 @@ import {
|
|
|
24
24
|
GenerateTasksCustomBackgroundResponse,
|
|
25
25
|
GeneratePromptRequest,
|
|
26
26
|
GeneratePromptResponse,
|
|
27
|
+
GetGroupedTasksByProjectRequest,
|
|
28
|
+
GetGroupedTasksByProjectResponse,
|
|
27
29
|
} from './task-types'
|
|
28
30
|
|
|
29
31
|
export class TaskService extends BaseService {
|
|
@@ -195,6 +197,14 @@ export class TaskService extends BaseService {
|
|
|
195
197
|
return this.get<GetTasksByProjectResponse>(url)
|
|
196
198
|
}
|
|
197
199
|
|
|
200
|
+
// Get Grouped Tasks by Project
|
|
201
|
+
async getGroupedTasksByProject(
|
|
202
|
+
request: GetGroupedTasksByProjectRequest
|
|
203
|
+
): Promise<GetGroupedTasksByProjectResponse> {
|
|
204
|
+
const url = `/project-tasks/by-project/${request.project_id}/grouped`
|
|
205
|
+
return this.get<GetGroupedTasksByProjectResponse>(url)
|
|
206
|
+
}
|
|
207
|
+
|
|
198
208
|
// Update Task
|
|
199
209
|
async updateTask(taskId: string, request: UpdateTaskRequest): Promise<UpdateTaskResponse> {
|
|
200
210
|
return this.put<UpdateTaskResponse>(`/project-tasks/${taskId}`, request)
|
|
@@ -212,3 +212,27 @@ export interface GeneratePromptResponse {
|
|
|
212
212
|
status: string
|
|
213
213
|
prompt: string
|
|
214
214
|
}
|
|
215
|
+
|
|
216
|
+
export interface GetGroupedTasksByProjectRequest {
|
|
217
|
+
project_id: string
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
export interface TaskGroupWithTasks {
|
|
221
|
+
task_group_id: string
|
|
222
|
+
created_at: string
|
|
223
|
+
codespace_task_id: string | null
|
|
224
|
+
raw_tasks: {
|
|
225
|
+
tasks: RawTask[]
|
|
226
|
+
expanded_tasks: RawTask[]
|
|
227
|
+
}
|
|
228
|
+
task_count: number
|
|
229
|
+
tasks: ProjectTask[]
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export interface GetGroupedTasksByProjectResponse {
|
|
233
|
+
status: string
|
|
234
|
+
project_id: string
|
|
235
|
+
total_groups: number
|
|
236
|
+
total_tasks: number
|
|
237
|
+
data: TaskGroupWithTasks[]
|
|
238
|
+
}
|