@codeguide/core 0.0.29 → 0.0.35
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__/services/codespace/codespace-v2.test.ts +53 -0
- package/__tests__/services/usage/usage-service.test.ts +138 -119
- package/codeguide.ts +3 -0
- package/dist/codeguide.d.ts +2 -1
- package/dist/codeguide.js +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/services/chat/chat-service.d.ts +44 -0
- package/dist/services/chat/chat-service.js +85 -0
- package/dist/services/chat/chat-types.d.ts +88 -0
- package/dist/services/chat/chat-types.js +5 -0
- package/dist/services/chat/index.d.ts +2 -0
- package/dist/services/chat/index.js +20 -0
- package/dist/services/codespace/codespace-service.d.ts +11 -2
- package/dist/services/codespace/codespace-service.js +18 -3
- package/dist/services/codespace/codespace-types.d.ts +21 -0
- package/dist/services/codespace/index.d.ts +1 -1
- package/dist/services/generation/generation-service.d.ts +7 -1
- package/dist/services/generation/generation-service.js +18 -0
- package/dist/services/generation/generation-types.d.ts +95 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.js +7 -1
- package/dist/services/projects/project-service.d.ts +3 -1
- package/dist/services/projects/project-service.js +13 -1
- package/dist/services/projects/project-types.d.ts +24 -1
- package/dist/services/streaming/index.d.ts +2 -0
- package/dist/services/streaming/index.js +20 -0
- package/dist/services/streaming/streaming-service.d.ts +30 -0
- package/dist/services/streaming/streaming-service.js +107 -0
- package/dist/services/streaming/streaming-types.d.ts +14 -0
- package/dist/services/streaming/streaming-types.js +2 -0
- package/dist/services/subscriptions/subscription-service.d.ts +11 -1
- package/dist/services/subscriptions/subscription-service.js +14 -0
- package/dist/services/tasks/task-service.d.ts +3 -1
- package/dist/services/tasks/task-service.js +8 -0
- package/dist/services/tasks/task-types.d.ts +15 -0
- package/dist/services/usage/usage-service.d.ts +35 -1
- package/dist/services/usage/usage-service.js +68 -0
- package/dist/services/usage/usage-types.d.ts +119 -45
- package/dist/types.d.ts +18 -2
- package/index.ts +3 -0
- package/package.json +2 -1
- package/services/chat/chat-service.ts +110 -0
- package/services/chat/chat-types.ts +145 -0
- package/services/chat/index.ts +2 -0
- package/services/codespace/codespace-service.ts +25 -3
- package/services/codespace/codespace-types.ts +33 -0
- package/services/codespace/index.ts +6 -1
- package/services/generation/generation-service.ts +40 -0
- package/services/generation/generation-types.ts +110 -0
- package/services/index.ts +4 -0
- package/services/projects/README.md +54 -0
- package/services/projects/project-service.ts +20 -1
- package/services/projects/project-types.ts +27 -1
- package/services/streaming/index.ts +2 -0
- package/services/streaming/streaming-service.ts +123 -0
- package/services/streaming/streaming-types.ts +15 -0
- package/services/subscriptions/subscription-service.ts +23 -5
- package/services/tasks/task-service.ts +30 -2
- package/services/tasks/task-types.ts +19 -1
- package/services/usage/usage-service.ts +81 -0
- package/services/usage/usage-types.ts +128 -49
- package/types.ts +22 -2
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BaseService } from '../base/base-service';
|
|
2
|
+
import { GetDocumentTypesRequest, GetDocumentTypesResponse, GetChatsByDocumentTypeRequest, GetChatsByDocumentTypeResponse, GetChatHistoryRequest, GetChatHistoryResponse, ListDocumentChatsRequest, ListDocumentChatsResponse, GetChatByDocumentIdRequest, GetChatByDocumentIdResponse } from './chat-types';
|
|
3
|
+
export declare class ChatService extends BaseService {
|
|
4
|
+
/**
|
|
5
|
+
* 1. GET /chat/document/types/{project_id}
|
|
6
|
+
* Get document types for UI grouping
|
|
7
|
+
*
|
|
8
|
+
* @param request - Project ID to get document types for
|
|
9
|
+
* @returns Document types available for the project
|
|
10
|
+
*/
|
|
11
|
+
getDocumentTypes(request: GetDocumentTypesRequest): Promise<GetDocumentTypesResponse>;
|
|
12
|
+
/**
|
|
13
|
+
* 2. GET /chat/document/by-type/{project_id}/{document_type}
|
|
14
|
+
* List all chats for a specific document type (PRIMARY endpoint for UI)
|
|
15
|
+
*
|
|
16
|
+
* @param request - Filter parameters for document type chats
|
|
17
|
+
* @returns Paginated list of document chats for the specified type
|
|
18
|
+
*/
|
|
19
|
+
getChatsByDocumentType(request: GetChatsByDocumentTypeRequest): Promise<GetChatsByDocumentTypeResponse>;
|
|
20
|
+
/**
|
|
21
|
+
* 3. GET /chat/document/history/{conversation_id}
|
|
22
|
+
* Get full chat history with messages
|
|
23
|
+
*
|
|
24
|
+
* @param request - Conversation ID to get history for
|
|
25
|
+
* @returns Conversation details with all messages
|
|
26
|
+
*/
|
|
27
|
+
getChatHistory(request: GetChatHistoryRequest): Promise<GetChatHistoryResponse>;
|
|
28
|
+
/**
|
|
29
|
+
* 4. GET /chat/document/list
|
|
30
|
+
* List all chats for current user (with optional filters)
|
|
31
|
+
*
|
|
32
|
+
* @param request - Filter parameters for listing chats
|
|
33
|
+
* @returns Paginated list of all document chats for the user
|
|
34
|
+
*/
|
|
35
|
+
listDocumentChats(request?: ListDocumentChatsRequest): Promise<ListDocumentChatsResponse>;
|
|
36
|
+
/**
|
|
37
|
+
* 5. GET /chat/document/by-document/{document_id}
|
|
38
|
+
* Get chat by specific document version ID (Legacy)
|
|
39
|
+
*
|
|
40
|
+
* @param request - Document ID to get chat for
|
|
41
|
+
* @returns Conversation and messages for the specific document
|
|
42
|
+
*/
|
|
43
|
+
getChatByDocumentId(request: GetChatByDocumentIdRequest): Promise<GetChatByDocumentIdResponse>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatService = void 0;
|
|
4
|
+
const base_service_1 = require("../base/base-service");
|
|
5
|
+
class ChatService extends base_service_1.BaseService {
|
|
6
|
+
/**
|
|
7
|
+
* 1. GET /chat/document/types/{project_id}
|
|
8
|
+
* Get document types for UI grouping
|
|
9
|
+
*
|
|
10
|
+
* @param request - Project ID to get document types for
|
|
11
|
+
* @returns Document types available for the project
|
|
12
|
+
*/
|
|
13
|
+
async getDocumentTypes(request) {
|
|
14
|
+
return this.get(`/chat/document/types/${request.project_id}`);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 2. GET /chat/document/by-type/{project_id}/{document_type}
|
|
18
|
+
* List all chats for a specific document type (PRIMARY endpoint for UI)
|
|
19
|
+
*
|
|
20
|
+
* @param request - Filter parameters for document type chats
|
|
21
|
+
* @returns Paginated list of document chats for the specified type
|
|
22
|
+
*/
|
|
23
|
+
async getChatsByDocumentType(request) {
|
|
24
|
+
const { project_id, document_type, chat_status = 'active', limit = 50, offset = 0 } = request;
|
|
25
|
+
// Build query parameters
|
|
26
|
+
const params = new URLSearchParams();
|
|
27
|
+
if (chat_status)
|
|
28
|
+
params.append('chat_status', chat_status);
|
|
29
|
+
if (limit !== undefined)
|
|
30
|
+
params.append('limit', limit.toString());
|
|
31
|
+
if (offset !== undefined)
|
|
32
|
+
params.append('offset', offset.toString());
|
|
33
|
+
const queryString = params.toString();
|
|
34
|
+
const url = `/chat/document/by-type/${project_id}/${document_type}${queryString ? `?${queryString}` : ''}`;
|
|
35
|
+
return this.get(url);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 3. GET /chat/document/history/{conversation_id}
|
|
39
|
+
* Get full chat history with messages
|
|
40
|
+
*
|
|
41
|
+
* @param request - Conversation ID to get history for
|
|
42
|
+
* @returns Conversation details with all messages
|
|
43
|
+
*/
|
|
44
|
+
async getChatHistory(request) {
|
|
45
|
+
return this.get(`/chat/document/history/${request.conversation_id}`);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 4. GET /chat/document/list
|
|
49
|
+
* List all chats for current user (with optional filters)
|
|
50
|
+
*
|
|
51
|
+
* @param request - Filter parameters for listing chats
|
|
52
|
+
* @returns Paginated list of all document chats for the user
|
|
53
|
+
*/
|
|
54
|
+
async listDocumentChats(request = {}) {
|
|
55
|
+
const { project_id, document_type, template, chat_status = 'active', limit = 50, offset = 0, } = request;
|
|
56
|
+
// Build query parameters
|
|
57
|
+
const params = new URLSearchParams();
|
|
58
|
+
if (project_id)
|
|
59
|
+
params.append('project_id', project_id);
|
|
60
|
+
if (document_type)
|
|
61
|
+
params.append('document_type', document_type);
|
|
62
|
+
if (template)
|
|
63
|
+
params.append('template', template);
|
|
64
|
+
if (chat_status)
|
|
65
|
+
params.append('chat_status', chat_status);
|
|
66
|
+
if (limit !== undefined)
|
|
67
|
+
params.append('limit', limit.toString());
|
|
68
|
+
if (offset !== undefined)
|
|
69
|
+
params.append('offset', offset.toString());
|
|
70
|
+
const queryString = params.toString();
|
|
71
|
+
const url = `/chat/document/list${queryString ? `?${queryString}` : ''}`;
|
|
72
|
+
return this.get(url);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* 5. GET /chat/document/by-document/{document_id}
|
|
76
|
+
* Get chat by specific document version ID (Legacy)
|
|
77
|
+
*
|
|
78
|
+
* @param request - Document ID to get chat for
|
|
79
|
+
* @returns Conversation and messages for the specific document
|
|
80
|
+
*/
|
|
81
|
+
async getChatByDocumentId(request) {
|
|
82
|
+
return this.get(`/chat/document/by-document/${request.document_id}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.ChatService = ChatService;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export interface GetDocumentTypesRequest {
|
|
2
|
+
project_id: string;
|
|
3
|
+
}
|
|
4
|
+
export interface GetDocumentTypesResponse {
|
|
5
|
+
project_id: string;
|
|
6
|
+
project_name: string;
|
|
7
|
+
document_types: DocumentType[];
|
|
8
|
+
}
|
|
9
|
+
export type DocumentType = 'project_requirements_document' | 'app_flow_document' | 'tech_stack_document' | 'frontend_guidelines_document' | 'database_schema_document' | 'api_documentation_document' | 'deployment_document' | 'testing_document' | 'custom_document';
|
|
10
|
+
export interface GetChatsByDocumentTypeRequest {
|
|
11
|
+
project_id: string;
|
|
12
|
+
document_type: DocumentType;
|
|
13
|
+
chat_status?: ChatStatus;
|
|
14
|
+
limit?: number;
|
|
15
|
+
offset?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface GetChatsByDocumentTypeResponse {
|
|
18
|
+
chats: DocumentChatSummary[];
|
|
19
|
+
count: number;
|
|
20
|
+
project_id: string;
|
|
21
|
+
document_type: DocumentType;
|
|
22
|
+
limit: number;
|
|
23
|
+
offset: number;
|
|
24
|
+
}
|
|
25
|
+
export interface GetChatHistoryRequest {
|
|
26
|
+
conversation_id: string;
|
|
27
|
+
}
|
|
28
|
+
export interface GetChatHistoryResponse {
|
|
29
|
+
conversation: DocumentConversation;
|
|
30
|
+
messages: ChatMessage[];
|
|
31
|
+
}
|
|
32
|
+
export interface ListDocumentChatsRequest {
|
|
33
|
+
project_id?: string;
|
|
34
|
+
document_type?: DocumentType;
|
|
35
|
+
template?: 'blueprint' | 'wireframe';
|
|
36
|
+
chat_status?: ChatStatus;
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}
|
|
40
|
+
export interface ListDocumentChatsResponse {
|
|
41
|
+
chats: DocumentChatSummary[];
|
|
42
|
+
count: number;
|
|
43
|
+
limit: number;
|
|
44
|
+
offset: number;
|
|
45
|
+
}
|
|
46
|
+
export interface GetChatByDocumentIdRequest {
|
|
47
|
+
document_id: string;
|
|
48
|
+
}
|
|
49
|
+
export interface GetChatByDocumentIdResponse {
|
|
50
|
+
conversation: DocumentConversation;
|
|
51
|
+
messages: ChatMessage[];
|
|
52
|
+
}
|
|
53
|
+
export type ChatStatus = 'active' | 'archived' | 'deleted';
|
|
54
|
+
export interface DocumentChatSummary {
|
|
55
|
+
id: string;
|
|
56
|
+
project_id: string;
|
|
57
|
+
document_type: DocumentType;
|
|
58
|
+
title: string;
|
|
59
|
+
template: 'blueprint' | 'wireframe';
|
|
60
|
+
status: ChatStatus;
|
|
61
|
+
last_message_at: string;
|
|
62
|
+
metadata?: Record<string, any>;
|
|
63
|
+
}
|
|
64
|
+
export interface DocumentConversation {
|
|
65
|
+
id: string;
|
|
66
|
+
project_id: string;
|
|
67
|
+
document_type: DocumentType;
|
|
68
|
+
title: string;
|
|
69
|
+
template: 'blueprint' | 'wireframe';
|
|
70
|
+
status: ChatStatus;
|
|
71
|
+
created_at: string;
|
|
72
|
+
last_message_at: string;
|
|
73
|
+
}
|
|
74
|
+
export interface ChatMessage {
|
|
75
|
+
id: string;
|
|
76
|
+
role: 'user' | 'assistant' | 'system';
|
|
77
|
+
content: string;
|
|
78
|
+
tool_calls?: ChatToolCall[];
|
|
79
|
+
created_at: string;
|
|
80
|
+
}
|
|
81
|
+
export interface ChatToolCall {
|
|
82
|
+
id: string;
|
|
83
|
+
type: string;
|
|
84
|
+
function?: {
|
|
85
|
+
name: string;
|
|
86
|
+
arguments: string;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================================
|
|
3
|
+
// Document Chat GET Endpoint Types
|
|
4
|
+
// ============================================================================
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -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.ChatService = void 0;
|
|
18
|
+
var chat_service_1 = require("./chat-service");
|
|
19
|
+
Object.defineProperty(exports, "ChatService", { enumerable: true, get: function () { return chat_service_1.ChatService; } });
|
|
20
|
+
__exportStar(require("./chat-types"), exports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseService } from '../base/base-service';
|
|
2
|
-
import { GenerateTaskTitleRequest, GenerateTaskTitleResponse, CreateCodespaceTaskRequest, CreateCodespaceTaskResponse, CreateCodespaceTaskRequestV2, CreateCodespaceTaskResponseV2, CreateBackgroundCodespaceTaskRequest, CreateBackgroundCodespaceTaskResponse, GetCodespaceTaskResponse, GetProjectTasksByCodespaceResponse, GetCodespaceTasksByProjectRequest, GetCodespaceTasksByProjectResponse, CodespaceTaskDetailedResponse, CodespaceQuestionnaireRequest, CodespaceQuestionnaireResponse, GetCodespaceModelsQuery, GetCodespaceModelsResponse, GetCodespaceModelResponse, GetLLMModelProvidersResponse, GetLLMModelProviderResponse, GetModelsByProviderResponse, GetCodespaceTasksRequest, GetCodespaceTasksResponse, GetTasksByCodespaceIdRequest, GetTasksByCodespaceIdResponse, UpdateFinalReportPopupStateRequest, UpdateFinalReportPopupStateResponse, GetCodespaceTaskLogsRequest, CodespaceTaskLogsResponse, StreamCodespaceTaskLogsRequest, CodespaceLogStreamEvent } from './codespace-types';
|
|
2
|
+
import { GenerateTaskTitleRequest, GenerateTaskTitleResponse, CreateCodespaceTaskRequest, CreateCodespaceTaskResponse, CreateCodespaceTaskRequestV2, CreateCodespaceTaskResponseV2, CreateBackgroundCodespaceTaskRequest, CreateBackgroundCodespaceTaskResponse, GetCodespaceTaskResponse, GetProjectTasksByCodespaceResponse, GetCodespaceTasksByProjectRequest, GetCodespaceTasksByProjectResponse, CodespaceTaskDetailedResponse, CodespaceQuestionnaireRequest, CodespaceQuestionnaireResponse, GetCodespaceModelsQuery, GetCodespaceModelsResponse, GetCodespaceModelResponse, GetLLMModelProvidersResponse, GetLLMModelProviderResponse, GetModelsByProviderResponse, GetCodespaceTasksRequest, GetCodespaceTasksResponse, GetTasksByCodespaceIdRequest, GetTasksByCodespaceIdResponse, UpdateFinalReportPopupStateRequest, UpdateFinalReportPopupStateResponse, GetCodespaceTaskLogsRequest, CodespaceTaskLogsResponse, StreamCodespaceTaskLogsRequest, CodespaceLogStreamEvent, GetCodespaceProjectSummaryRequest, GetCodespaceProjectSummaryResponse } from './codespace-types';
|
|
3
3
|
export declare class CodespaceService extends BaseService {
|
|
4
4
|
generateTaskTitle(request: GenerateTaskTitleRequest): Promise<GenerateTaskTitleResponse>;
|
|
5
5
|
generateQuestionnaire(request: CodespaceQuestionnaireRequest): Promise<CodespaceQuestionnaireResponse>;
|
|
@@ -9,6 +9,15 @@ export declare class CodespaceService extends BaseService {
|
|
|
9
9
|
getCodespaceTask(codespaceTaskId: string): Promise<GetCodespaceTaskResponse>;
|
|
10
10
|
getProjectTasksByCodespace(codespaceTaskId: string): Promise<GetProjectTasksByCodespaceResponse>;
|
|
11
11
|
getCodespaceTasksByProject(params: GetCodespaceTasksByProjectRequest): Promise<GetCodespaceTasksByProjectResponse>;
|
|
12
|
+
/**
|
|
13
|
+
* Get aggregated statistics for all codespace tasks within a project
|
|
14
|
+
*
|
|
15
|
+
* GET /codespace/project/{project_id}/summary
|
|
16
|
+
*
|
|
17
|
+
* @param params - Request parameters including project_id
|
|
18
|
+
* @returns Promise resolving to aggregated task statistics by status
|
|
19
|
+
*/
|
|
20
|
+
getCodespaceProjectSummary(params: GetCodespaceProjectSummaryRequest): Promise<GetCodespaceProjectSummaryResponse>;
|
|
12
21
|
getCodespaceTaskDetailed(codespaceTaskId: string): Promise<CodespaceTaskDetailedResponse>;
|
|
13
22
|
/**
|
|
14
23
|
* Get tasks by codespace task ID with optional pagination and sorting
|
|
@@ -31,7 +40,7 @@ export declare class CodespaceService extends BaseService {
|
|
|
31
40
|
/**
|
|
32
41
|
* Update the final report popup state for a codespace task
|
|
33
42
|
*
|
|
34
|
-
* PATCH /task/{codespace_task_id}/final-report-popup-state
|
|
43
|
+
* PATCH /codespace/task/{codespace_task_id}/final-report-popup-state
|
|
35
44
|
*
|
|
36
45
|
* @param codespaceTaskId - The ID of the codespace task
|
|
37
46
|
* @param request - The request body containing the new popup state
|
|
@@ -51,6 +51,21 @@ class CodespaceService extends base_service_1.BaseService {
|
|
|
51
51
|
const url = `/codespace/tasks/project/${params.project_id}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
52
52
|
return this.get(url);
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Get aggregated statistics for all codespace tasks within a project
|
|
56
|
+
*
|
|
57
|
+
* GET /codespace/project/{project_id}/summary
|
|
58
|
+
*
|
|
59
|
+
* @param params - Request parameters including project_id
|
|
60
|
+
* @returns Promise resolving to aggregated task statistics by status
|
|
61
|
+
*/
|
|
62
|
+
async getCodespaceProjectSummary(params) {
|
|
63
|
+
if (!params.project_id) {
|
|
64
|
+
throw new Error('project_id is required');
|
|
65
|
+
}
|
|
66
|
+
const url = `/codespace/project/${params.project_id}/summary`;
|
|
67
|
+
return this.get(url);
|
|
68
|
+
}
|
|
54
69
|
async getCodespaceTaskDetailed(codespaceTaskId) {
|
|
55
70
|
if (!codespaceTaskId) {
|
|
56
71
|
throw new Error('codespace_task_id is required');
|
|
@@ -82,7 +97,7 @@ class CodespaceService extends base_service_1.BaseService {
|
|
|
82
97
|
if (params.sort_order) {
|
|
83
98
|
queryParams.append('sort_order', params.sort_order);
|
|
84
99
|
}
|
|
85
|
-
const url = `/tasks/by-codespace-id/${params.codespace_task_id}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
100
|
+
const url = `/codespace/tasks/by-codespace-id/${params.codespace_task_id}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
86
101
|
return this.get(url);
|
|
87
102
|
}
|
|
88
103
|
/**
|
|
@@ -126,7 +141,7 @@ class CodespaceService extends base_service_1.BaseService {
|
|
|
126
141
|
/**
|
|
127
142
|
* Update the final report popup state for a codespace task
|
|
128
143
|
*
|
|
129
|
-
* PATCH /task/{codespace_task_id}/final-report-popup-state
|
|
144
|
+
* PATCH /codespace/task/{codespace_task_id}/final-report-popup-state
|
|
130
145
|
*
|
|
131
146
|
* @param codespaceTaskId - The ID of the codespace task
|
|
132
147
|
* @param request - The request body containing the new popup state
|
|
@@ -140,7 +155,7 @@ class CodespaceService extends base_service_1.BaseService {
|
|
|
140
155
|
if (!['not_ready', 'open', 'closed'].includes(request.final_report_popup_state)) {
|
|
141
156
|
throw new Error('final_report_popup_state must be "not_ready", "open", or "closed"');
|
|
142
157
|
}
|
|
143
|
-
return this.patch(`/task/${codespaceTaskId}/final-report-popup-state`, request);
|
|
158
|
+
return this.patch(`/codespace/task/${codespaceTaskId}/final-report-popup-state`, request);
|
|
144
159
|
}
|
|
145
160
|
// ============================================================================
|
|
146
161
|
// Codespace Task Logs Methods
|
|
@@ -390,3 +390,24 @@ export interface StreamErrorEvent {
|
|
|
390
390
|
};
|
|
391
391
|
}
|
|
392
392
|
export type CodespaceLogStreamEvent = StreamLogEvent | StreamHeartbeatEvent | StreamCompleteEvent | StreamTimeoutEvent | StreamErrorEvent;
|
|
393
|
+
export interface GetCodespaceProjectSummaryRequest {
|
|
394
|
+
project_id: string;
|
|
395
|
+
}
|
|
396
|
+
export interface CodespaceStatusSummary {
|
|
397
|
+
pending: number;
|
|
398
|
+
in_progress: number;
|
|
399
|
+
completed: number;
|
|
400
|
+
failed: number;
|
|
401
|
+
blocked: number;
|
|
402
|
+
}
|
|
403
|
+
export interface CodespaceProjectSummaryData {
|
|
404
|
+
project_id: string;
|
|
405
|
+
total_codespace_tasks: number;
|
|
406
|
+
status_summary: CodespaceStatusSummary;
|
|
407
|
+
latest_task_created_at: string;
|
|
408
|
+
}
|
|
409
|
+
export interface GetCodespaceProjectSummaryResponse {
|
|
410
|
+
status: string;
|
|
411
|
+
data: CodespaceProjectSummaryData;
|
|
412
|
+
message: string;
|
|
413
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { CodespaceService } from './codespace-service';
|
|
2
2
|
export * from './codespace-types';
|
|
3
|
-
export type { CreateCodespaceTaskRequestV2 as CreateCodespaceTaskRequest, CreateCodespaceTaskResponseV2 as CreateCodespaceTaskResponse, CreateBackgroundCodespaceTaskRequest, CreateBackgroundCodespaceTaskResponse, ModelApiKey, Attachment, GetCodespaceTaskResponse, CodespaceTaskData, TechnicalDocument, GetProjectTasksByCodespaceResponse, CodespaceProjectTask, CodespaceProjectTaskListResponse, CodespaceQuestionnaireRequest, CodespaceQuestionnaireResponse, LLMModelProviderInDB, CodespaceModelInDB, CodespaceModelWithProvider, GetCodespaceModelsQuery, GetCodespaceModelsResponse, GetCodespaceModelResponse, GetLLMModelProvidersResponse, GetLLMModelProviderResponse, GetModelsByProviderResponse, CodespaceModelsError, UpdateFinalReportPopupStateRequest, UpdateFinalReportPopupStateResponse, GetCodespaceTaskLogsRequest, CodespaceTaskLogsResponse, StreamCodespaceTaskLogsRequest, CodespaceTaskLog, CodespaceLogType, CodespaceLogStreamEvent, GetTasksByCodespaceIdRequest, GetTasksByCodespaceIdResponse } from './codespace-types';
|
|
3
|
+
export type { CreateCodespaceTaskRequestV2 as CreateCodespaceTaskRequest, CreateCodespaceTaskResponseV2 as CreateCodespaceTaskResponse, CreateBackgroundCodespaceTaskRequest, CreateBackgroundCodespaceTaskResponse, ModelApiKey, Attachment, GetCodespaceTaskResponse, CodespaceTaskData, TechnicalDocument, GetProjectTasksByCodespaceResponse, CodespaceProjectTask, CodespaceProjectTaskListResponse, CodespaceQuestionnaireRequest, CodespaceQuestionnaireResponse, LLMModelProviderInDB, CodespaceModelInDB, CodespaceModelWithProvider, GetCodespaceModelsQuery, GetCodespaceModelsResponse, GetCodespaceModelResponse, GetLLMModelProvidersResponse, GetLLMModelProviderResponse, GetModelsByProviderResponse, CodespaceModelsError, UpdateFinalReportPopupStateRequest, UpdateFinalReportPopupStateResponse, GetCodespaceTaskLogsRequest, CodespaceTaskLogsResponse, StreamCodespaceTaskLogsRequest, CodespaceTaskLog, CodespaceLogType, CodespaceLogStreamEvent, GetTasksByCodespaceIdRequest, GetTasksByCodespaceIdResponse, GetCodespaceProjectSummaryRequest, GetCodespaceProjectSummaryResponse, CodespaceStatusSummary, CodespaceProjectSummaryData } from './codespace-types';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseService } from '../base/base-service';
|
|
2
|
-
import { RefinePromptRequest, RefinePromptResponse, GenerateTitleRequest, GenerateTitleResponse, GenerateQuestionnaireRequest, GenerateQuestionnaireResponse, GeneratePRDRequest, GeneratePRDResponse, GenerateCategoryRequest, GenerateCategoryResponse, GenerateOutlineRequest, GenerateOutlineResponse, GenerateDocumentRequest, GenerateDocumentResponse, GenerateMultipleDocumentsRequest, GenerateMultipleDocumentsResponse, GenerateMissingDocumentsRequest, GenerateMissingDocumentsResponse, BackgroundGenerationRequest, BackgroundGenerationResponse, BackgroundGenerationStatusResponse } from './generation-types';
|
|
2
|
+
import { RefinePromptRequest, RefinePromptResponse, GenerateTitleRequest, GenerateTitleResponse, GenerateQuestionnaireRequest, GenerateQuestionnaireResponse, GeneratePRDRequest, GeneratePRDResponse, GenerateCategoryRequest, GenerateCategoryResponse, GenerateOutlineRequest, GenerateOutlineResponse, GenerateDocumentRequest, GenerateDocumentResponse, GenerateMultipleDocumentsRequest, GenerateMultipleDocumentsResponse, GenerateMissingDocumentsRequest, GenerateMissingDocumentsResponse, GenerateTechSpecRequest, CustomDocumentResponse, BackgroundGenerationRequest, BackgroundGenerationResponse, BackgroundGenerationStatusResponse, GenerateAnswersRequest, GenerateAnswersResponse, GenerateProjectOutlineRequest, GenerateProjectOutlineResponse, GenerateCoreFeaturesRequest, GenerateCoreFeaturesResponse, GenerateTechStackRequest, GenerateTechStackResponse, GenerateAppFlowRequest, GenerateAppFlowResponse } from './generation-types';
|
|
3
3
|
export declare class GenerationService extends BaseService {
|
|
4
4
|
refinePrompt(request: RefinePromptRequest): Promise<RefinePromptResponse>;
|
|
5
5
|
generateTitle(request: GenerateTitleRequest): Promise<GenerateTitleResponse>;
|
|
@@ -12,4 +12,10 @@ export declare class GenerationService extends BaseService {
|
|
|
12
12
|
generateMissingDocuments(request: GenerateMissingDocumentsRequest): Promise<GenerateMissingDocumentsResponse>;
|
|
13
13
|
startBackgroundGeneration(request: BackgroundGenerationRequest): Promise<BackgroundGenerationResponse>;
|
|
14
14
|
getBackgroundGenerationStatus(jobId: string): Promise<BackgroundGenerationStatusResponse>;
|
|
15
|
+
generateTechSpec(request: GenerateTechSpecRequest): Promise<CustomDocumentResponse>;
|
|
16
|
+
generateAnswers(request: GenerateAnswersRequest): Promise<GenerateAnswersResponse>;
|
|
17
|
+
generateProjectOutline(request: GenerateProjectOutlineRequest): Promise<GenerateProjectOutlineResponse>;
|
|
18
|
+
generateCoreFeatures(request: GenerateCoreFeaturesRequest): Promise<GenerateCoreFeaturesResponse>;
|
|
19
|
+
generateTechStack(request: GenerateTechStackRequest): Promise<GenerateTechStackResponse>;
|
|
20
|
+
generateAppFlow(request: GenerateAppFlowRequest): Promise<GenerateAppFlowResponse>;
|
|
15
21
|
}
|
|
@@ -36,5 +36,23 @@ class GenerationService extends base_service_1.BaseService {
|
|
|
36
36
|
async getBackgroundGenerationStatus(jobId) {
|
|
37
37
|
return this.get(`/generate/background/${jobId}/status`);
|
|
38
38
|
}
|
|
39
|
+
async generateTechSpec(request) {
|
|
40
|
+
return this.post('/generate/tech-spec', request);
|
|
41
|
+
}
|
|
42
|
+
async generateAnswers(request) {
|
|
43
|
+
return this.post('/generate/answers', request);
|
|
44
|
+
}
|
|
45
|
+
async generateProjectOutline(request) {
|
|
46
|
+
return this.post('/generate/project-outline', request);
|
|
47
|
+
}
|
|
48
|
+
async generateCoreFeatures(request) {
|
|
49
|
+
return this.post('/generate/core-features', request);
|
|
50
|
+
}
|
|
51
|
+
async generateTechStack(request) {
|
|
52
|
+
return this.post('/generate/tech-stack', request);
|
|
53
|
+
}
|
|
54
|
+
async generateAppFlow(request) {
|
|
55
|
+
return this.post('/generate/app-flow', request);
|
|
56
|
+
}
|
|
39
57
|
}
|
|
40
58
|
exports.GenerationService = GenerationService;
|
|
@@ -53,6 +53,7 @@ export interface GenerateOutlineResponse {
|
|
|
53
53
|
outline: string;
|
|
54
54
|
}
|
|
55
55
|
export interface GenerateDocumentRequest {
|
|
56
|
+
project_id?: string;
|
|
56
57
|
project_type?: string;
|
|
57
58
|
description: string;
|
|
58
59
|
selected_tools: string[];
|
|
@@ -109,3 +110,97 @@ export interface GenerateMissingDocumentsResponse {
|
|
|
109
110
|
error?: string;
|
|
110
111
|
generated_documents?: string[];
|
|
111
112
|
}
|
|
113
|
+
export interface GenerateTechSpecRequest {
|
|
114
|
+
project_id: string;
|
|
115
|
+
}
|
|
116
|
+
export interface CustomDocumentResponse {
|
|
117
|
+
content: string;
|
|
118
|
+
}
|
|
119
|
+
export interface GenerateAnswersRequest {
|
|
120
|
+
title: string;
|
|
121
|
+
description: string;
|
|
122
|
+
questions: Array<{
|
|
123
|
+
question: string;
|
|
124
|
+
answer: string;
|
|
125
|
+
}>;
|
|
126
|
+
}
|
|
127
|
+
export interface GenerateAnswersResponse {
|
|
128
|
+
answers: Array<{
|
|
129
|
+
question: string;
|
|
130
|
+
answer: string;
|
|
131
|
+
}>;
|
|
132
|
+
}
|
|
133
|
+
export interface GenerateProjectOutlineRequest {
|
|
134
|
+
description: string;
|
|
135
|
+
project_type: string;
|
|
136
|
+
title?: string;
|
|
137
|
+
selected_tools?: string[];
|
|
138
|
+
answers?: Record<string, any>;
|
|
139
|
+
project_id?: string;
|
|
140
|
+
category_id?: string;
|
|
141
|
+
}
|
|
142
|
+
export interface GenerateProjectOutlineResponse {
|
|
143
|
+
outline: string;
|
|
144
|
+
project_id: string;
|
|
145
|
+
project_created: boolean;
|
|
146
|
+
}
|
|
147
|
+
export interface CoreFeature {
|
|
148
|
+
id: number;
|
|
149
|
+
title: string;
|
|
150
|
+
description: string;
|
|
151
|
+
icon_key: string;
|
|
152
|
+
}
|
|
153
|
+
export interface GenerateCoreFeaturesRequest {
|
|
154
|
+
context: string;
|
|
155
|
+
project_id?: string;
|
|
156
|
+
existing_features?: Array<{
|
|
157
|
+
id: number;
|
|
158
|
+
title: string;
|
|
159
|
+
description: string;
|
|
160
|
+
}>;
|
|
161
|
+
}
|
|
162
|
+
export interface GenerateCoreFeaturesResponse {
|
|
163
|
+
core_features: CoreFeature[];
|
|
164
|
+
project_id: string | null;
|
|
165
|
+
}
|
|
166
|
+
export interface TechStackItem {
|
|
167
|
+
id: number;
|
|
168
|
+
type: string;
|
|
169
|
+
name: string;
|
|
170
|
+
icon_key: string;
|
|
171
|
+
}
|
|
172
|
+
export interface GenerateTechStackRequest {
|
|
173
|
+
context: string;
|
|
174
|
+
project_id?: string;
|
|
175
|
+
existing_items?: Array<{
|
|
176
|
+
id: number;
|
|
177
|
+
type: string;
|
|
178
|
+
name: string;
|
|
179
|
+
}>;
|
|
180
|
+
}
|
|
181
|
+
export interface GenerateTechStackResponse {
|
|
182
|
+
tech_stack: TechStackItem[];
|
|
183
|
+
project_id: string | null;
|
|
184
|
+
}
|
|
185
|
+
export interface AppFlowItem {
|
|
186
|
+
id: number;
|
|
187
|
+
title: string;
|
|
188
|
+
page: string;
|
|
189
|
+
description: string;
|
|
190
|
+
index: number;
|
|
191
|
+
icon_key: string;
|
|
192
|
+
}
|
|
193
|
+
export interface GenerateAppFlowRequest {
|
|
194
|
+
context: string;
|
|
195
|
+
project_id?: string;
|
|
196
|
+
existing_items?: Array<{
|
|
197
|
+
id: number;
|
|
198
|
+
title: string;
|
|
199
|
+
page: string;
|
|
200
|
+
description: string;
|
|
201
|
+
}>;
|
|
202
|
+
}
|
|
203
|
+
export interface GenerateAppFlowResponse {
|
|
204
|
+
app_flow: AppFlowItem[];
|
|
205
|
+
project_id: string | null;
|
|
206
|
+
}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export { ExternalTokenService } from './external-tokens';
|
|
|
12
12
|
export { SecurityKeysService } from './security-keys';
|
|
13
13
|
export { UserService } from './users';
|
|
14
14
|
export { StarterKitsService } from './starter-kits';
|
|
15
|
+
export { StreamingService } from './streaming';
|
|
16
|
+
export { ChatService } from './chat';
|
|
15
17
|
export * from './generation';
|
|
16
18
|
export * from './projects';
|
|
17
19
|
export * from './usage';
|
|
@@ -25,3 +27,5 @@ export * from './external-tokens';
|
|
|
25
27
|
export * from './security-keys';
|
|
26
28
|
export * from './users';
|
|
27
29
|
export * from './starter-kits';
|
|
30
|
+
export * from './streaming';
|
|
31
|
+
export * from './chat';
|
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.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.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
|
|
@@ -53,6 +53,10 @@ var users_1 = require("./users");
|
|
|
53
53
|
Object.defineProperty(exports, "UserService", { enumerable: true, get: function () { return users_1.UserService; } });
|
|
54
54
|
var starter_kits_1 = require("./starter-kits");
|
|
55
55
|
Object.defineProperty(exports, "StarterKitsService", { enumerable: true, get: function () { return starter_kits_1.StarterKitsService; } });
|
|
56
|
+
var streaming_1 = require("./streaming");
|
|
57
|
+
Object.defineProperty(exports, "StreamingService", { enumerable: true, get: function () { return streaming_1.StreamingService; } });
|
|
58
|
+
var chat_1 = require("./chat");
|
|
59
|
+
Object.defineProperty(exports, "ChatService", { enumerable: true, get: function () { return chat_1.ChatService; } });
|
|
56
60
|
// Re-export all types for convenience
|
|
57
61
|
__exportStar(require("./generation"), exports);
|
|
58
62
|
__exportStar(require("./projects"), exports);
|
|
@@ -67,3 +71,5 @@ __exportStar(require("./external-tokens"), exports);
|
|
|
67
71
|
__exportStar(require("./security-keys"), exports);
|
|
68
72
|
__exportStar(require("./users"), exports);
|
|
69
73
|
__exportStar(require("./starter-kits"), exports);
|
|
74
|
+
__exportStar(require("./streaming"), exports);
|
|
75
|
+
__exportStar(require("./chat"), exports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseService } from '../base/base-service';
|
|
2
|
-
import { Project, CreateProjectRequest, UpdateProjectRequest, PaginatedProjectsRequest, PaginatedProjectsResponse, GetProjectsRequest, GetProjectDocumentsRequest, GetProjectDocumentsResponse, ConnectRepositoryRequest, ConnectRepositoryResponse } from './project-types';
|
|
2
|
+
import { Project, CreateProjectRequest, UpdateProjectRequest, PaginatedProjectsRequest, PaginatedProjectsResponse, GetProjectsRequest, GetProjectDocumentsRequest, GetProjectDocumentsResponse, ConnectRepositoryRequest, ConnectRepositoryResponse, GetAiToolsRequest, GetAiToolsResponse } from './project-types';
|
|
3
3
|
export declare class ProjectService extends BaseService {
|
|
4
4
|
getAllProjects(params?: GetProjectsRequest): Promise<Project[]>;
|
|
5
5
|
getPaginatedProjects(params: PaginatedProjectsRequest): Promise<PaginatedProjectsResponse>;
|
|
@@ -11,6 +11,8 @@ export declare class ProjectService extends BaseService {
|
|
|
11
11
|
message: string;
|
|
12
12
|
}>;
|
|
13
13
|
getProjectDocuments(projectId: string, params?: GetProjectDocumentsRequest): Promise<GetProjectDocumentsResponse>;
|
|
14
|
+
getDocumentsByType(projectId: string, documentType: string): Promise<GetProjectDocumentsResponse>;
|
|
14
15
|
connectRepository(projectId: string, request: ConnectRepositoryRequest): Promise<ConnectRepositoryResponse>;
|
|
15
16
|
private validateConnectRepositoryRequest;
|
|
17
|
+
getAiTools(params?: GetAiToolsRequest): Promise<GetAiToolsResponse>;
|
|
16
18
|
}
|
|
@@ -38,7 +38,7 @@ class ProjectService extends base_service_1.BaseService {
|
|
|
38
38
|
return response.data;
|
|
39
39
|
}
|
|
40
40
|
async createProject(request) {
|
|
41
|
-
const response = await this.post('/projects', request);
|
|
41
|
+
const response = await this.post('/projects/', request);
|
|
42
42
|
return response.data;
|
|
43
43
|
}
|
|
44
44
|
async updateProject(projectId, request) {
|
|
@@ -56,6 +56,9 @@ class ProjectService extends base_service_1.BaseService {
|
|
|
56
56
|
const url = `/projects/${projectId}/documents${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
57
57
|
return this.get(url);
|
|
58
58
|
}
|
|
59
|
+
async getDocumentsByType(projectId, documentType) {
|
|
60
|
+
return this.get(`/projects/${projectId}/documents/type/${documentType}`);
|
|
61
|
+
}
|
|
59
62
|
async connectRepository(projectId, request) {
|
|
60
63
|
this.validateConnectRepositoryRequest(request);
|
|
61
64
|
const response = await this.post(`/projects/${projectId}/repository`, request);
|
|
@@ -82,5 +85,14 @@ class ProjectService extends base_service_1.BaseService {
|
|
|
82
85
|
throw new Error('GitHub token must be a valid personal access token');
|
|
83
86
|
}
|
|
84
87
|
}
|
|
88
|
+
async getAiTools(params) {
|
|
89
|
+
const queryParams = new URLSearchParams();
|
|
90
|
+
if (params?.key)
|
|
91
|
+
queryParams.append('key', params.key);
|
|
92
|
+
if (params?.category)
|
|
93
|
+
queryParams.append('category', params.category);
|
|
94
|
+
const url = `/ai-tools${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
95
|
+
return this.get(url);
|
|
96
|
+
}
|
|
85
97
|
}
|
|
86
98
|
exports.ProjectService = ProjectService;
|
|
@@ -86,8 +86,9 @@ export interface StarterKitReference {
|
|
|
86
86
|
description: string;
|
|
87
87
|
}
|
|
88
88
|
export interface CreateProjectRequest {
|
|
89
|
-
title
|
|
89
|
+
title?: string;
|
|
90
90
|
description: string;
|
|
91
|
+
status?: 'prompt' | 'draft' | 'in_progress' | 'completed';
|
|
91
92
|
category_id?: string;
|
|
92
93
|
starter_kit_id?: string;
|
|
93
94
|
ai_questionaire?: {
|
|
@@ -160,3 +161,25 @@ export interface ConnectRepositoryResponse {
|
|
|
160
161
|
status: string;
|
|
161
162
|
data: ProjectRepository;
|
|
162
163
|
}
|
|
164
|
+
export interface AITool {
|
|
165
|
+
id: string;
|
|
166
|
+
created_at: string;
|
|
167
|
+
name: string;
|
|
168
|
+
description: string;
|
|
169
|
+
logo_src: string | null;
|
|
170
|
+
is_active: boolean;
|
|
171
|
+
key: string;
|
|
172
|
+
ordinal: number | null;
|
|
173
|
+
metadata: Record<string, any> | null;
|
|
174
|
+
detailed_description: string | null;
|
|
175
|
+
category: string | null;
|
|
176
|
+
doc_type: string;
|
|
177
|
+
}
|
|
178
|
+
export interface GetAiToolsRequest {
|
|
179
|
+
key?: string;
|
|
180
|
+
category?: string;
|
|
181
|
+
}
|
|
182
|
+
export interface GetAiToolsResponse {
|
|
183
|
+
status: string;
|
|
184
|
+
data: AITool[];
|
|
185
|
+
}
|