@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.
Files changed (43) hide show
  1. package/codeguide.ts +9 -0
  2. package/dist/codeguide.d.ts +4 -1
  3. package/dist/codeguide.js +3 -0
  4. package/dist/services/generation/generation-types.d.ts +1 -1
  5. package/dist/services/index.d.ts +6 -0
  6. package/dist/services/index.js +10 -1
  7. package/dist/services/mcp-servers/index.d.ts +2 -0
  8. package/dist/services/mcp-servers/index.js +20 -0
  9. package/dist/services/mcp-servers/mcp-servers-service.d.ts +12 -0
  10. package/dist/services/mcp-servers/mcp-servers-service.js +32 -0
  11. package/dist/services/mcp-servers/mcp-servers-types.d.ts +50 -0
  12. package/dist/services/mcp-servers/mcp-servers-types.js +2 -0
  13. package/dist/services/platforms/index.d.ts +2 -0
  14. package/dist/services/platforms/index.js +20 -0
  15. package/dist/services/platforms/platforms-service.d.ts +12 -0
  16. package/dist/services/platforms/platforms-service.js +32 -0
  17. package/dist/services/platforms/platforms-types.d.ts +50 -0
  18. package/dist/services/platforms/platforms-types.js +2 -0
  19. package/dist/services/projects/project-types.d.ts +1 -1
  20. package/dist/services/skills/index.d.ts +2 -0
  21. package/dist/services/skills/index.js +20 -0
  22. package/dist/services/skills/skills-service.d.ts +12 -0
  23. package/dist/services/skills/skills-service.js +32 -0
  24. package/dist/services/skills/skills-types.d.ts +50 -0
  25. package/dist/services/skills/skills-types.js +2 -0
  26. package/dist/services/tasks/task-service.d.ts +2 -1
  27. package/dist/services/tasks/task-service.js +5 -0
  28. package/dist/services/tasks/task-types.d.ts +21 -0
  29. package/package.json +1 -1
  30. package/services/generation/generation-types.ts +1 -1
  31. package/services/index.ts +6 -0
  32. package/services/mcp-servers/index.ts +2 -0
  33. package/services/mcp-servers/mcp-servers-service.ts +39 -0
  34. package/services/mcp-servers/mcp-servers-types.ts +55 -0
  35. package/services/platforms/index.ts +2 -0
  36. package/services/platforms/platforms-service.ts +39 -0
  37. package/services/platforms/platforms-types.ts +55 -0
  38. package/services/projects/project-types.ts +7 -3
  39. package/services/skills/index.ts +2 -0
  40. package/services/skills/skills-service.ts +39 -0
  41. package/services/skills/skills-types.ts +55 -0
  42. package/services/tasks/task-service.ts +10 -0
  43. 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
@@ -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;
@@ -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';
@@ -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,2 @@
1
+ export { MCPServersService } from './mcp-servers-service';
2
+ export * from './mcp-servers-types';
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export { PlatformsService } from './platforms-service';
2
+ export * from './platforms-types';
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,2 @@
1
+ export { SkillsService } from './skills-service';
2
+ export * from './skills-types';
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeguide/core",
3
- "version": "0.0.37",
3
+ "version": "0.0.40",
4
4
  "description": "Core package for code guidance with programmatic API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -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,2 @@
1
+ export { MCPServersService } from './mcp-servers-service'
2
+ export * from './mcp-servers-types'
@@ -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,2 @@
1
+ export { PlatformsService } from './platforms-service'
2
+ export * from './platforms-types'
@@ -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?: 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'task_only'
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,2 @@
1
+ export { SkillsService } from './skills-service'
2
+ export * from './skills-types'
@@ -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
+ }