@codeguide/core 0.0.35 → 0.0.37

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 (41) hide show
  1. package/codeguide.ts +6 -0
  2. package/dist/codeguide.d.ts +3 -1
  3. package/dist/codeguide.js +2 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/services/data-management/data-management-service.d.ts +53 -0
  6. package/dist/services/data-management/data-management-service.js +66 -0
  7. package/dist/services/data-management/data-management-types.d.ts +149 -0
  8. package/dist/services/data-management/data-management-types.js +7 -0
  9. package/dist/services/data-management/index.d.ts +2 -0
  10. package/dist/services/data-management/index.js +20 -0
  11. package/dist/services/generation/generation-types.d.ts +29 -1
  12. package/dist/services/index.d.ts +4 -0
  13. package/dist/services/index.js +7 -1
  14. package/dist/services/projects/project-types.d.ts +61 -7
  15. package/dist/services/prompt-generations/index.d.ts +2 -0
  16. package/dist/services/prompt-generations/index.js +20 -0
  17. package/dist/services/prompt-generations/prompt-generations-service.d.ts +47 -0
  18. package/dist/services/prompt-generations/prompt-generations-service.js +58 -0
  19. package/dist/services/prompt-generations/prompt-generations-types.d.ts +94 -0
  20. package/dist/services/prompt-generations/prompt-generations-types.js +2 -0
  21. package/dist/services/tasks/task-service.d.ts +1 -0
  22. package/dist/services/tasks/task-service.js +5 -0
  23. package/dist/services/usage/usage-types.d.ts +1 -0
  24. package/dist/services/users/user-service.d.ts +9 -1
  25. package/dist/services/users/user-service.js +10 -0
  26. package/dist/services/users/user-types.d.ts +14 -0
  27. package/index.ts +7 -0
  28. package/package.json +1 -1
  29. package/services/data-management/data-management-service.ts +74 -0
  30. package/services/data-management/data-management-types.ts +163 -0
  31. package/services/data-management/index.ts +2 -0
  32. package/services/generation/generation-types.ts +31 -1
  33. package/services/index.ts +4 -0
  34. package/services/projects/project-types.ts +61 -7
  35. package/services/prompt-generations/index.ts +2 -0
  36. package/services/prompt-generations/prompt-generations-service.ts +75 -0
  37. package/services/prompt-generations/prompt-generations-types.ts +101 -0
  38. package/services/tasks/task-service.ts +6 -0
  39. package/services/usage/usage-types.ts +1 -0
  40. package/services/users/user-service.ts +15 -1
  41. package/services/users/user-types.ts +16 -0
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Persona types for prompt generation
3
+ */
4
+ export type PersonaType = 'expert' | 'assistant' | 'teacher' | 'analyst' | 'creative';
5
+ /**
6
+ * Output format types for generated prompts
7
+ */
8
+ export type OutputFormatType = 'markdown' | 'json' | 'xml' | 'plain' | 'code';
9
+ /**
10
+ * Request body for creating a new prompt generation
11
+ */
12
+ export interface CreatePromptGenerationRequest {
13
+ /** User's description of their AI assistant */
14
+ input: string;
15
+ /** Persona type: expert, assistant, teacher, analyst, creative */
16
+ persona?: PersonaType;
17
+ /** Format: markdown, json, xml, plain, code */
18
+ output_format?: OutputFormatType;
19
+ /** Creativity level (0-2) */
20
+ temperature?: number;
21
+ /** Response length (256-8192) */
22
+ max_tokens?: number;
23
+ /** Include examples in prompt */
24
+ include_examples?: boolean;
25
+ /** Add constraints to prompt */
26
+ include_constraints?: boolean;
27
+ /** Include error handling guidance */
28
+ include_error_handling?: boolean;
29
+ /** Enable chain of thought */
30
+ chain_of_thought?: boolean;
31
+ /** Use JSON output schema */
32
+ structured_output?: boolean;
33
+ }
34
+ /**
35
+ * Prompt generation data model
36
+ */
37
+ export interface PromptGeneration {
38
+ /** Unique identifier (UUID v4) */
39
+ id: string;
40
+ /** User ID who owns this generation */
41
+ user_id: string;
42
+ /** User's original input */
43
+ input: string;
44
+ /** Persona type used */
45
+ persona: PersonaType;
46
+ /** Output format */
47
+ output_format: OutputFormatType;
48
+ /** Temperature value */
49
+ temperature: number;
50
+ /** Max tokens setting */
51
+ max_tokens: number;
52
+ /** Include examples flag */
53
+ include_examples: boolean;
54
+ /** Include constraints flag */
55
+ include_constraints: boolean;
56
+ /** Include error handling flag */
57
+ include_error_handling: boolean;
58
+ /** Chain of thought flag */
59
+ chain_of_thought: boolean;
60
+ /** Structured output flag */
61
+ structured_output: boolean;
62
+ /** The generated AI system prompt */
63
+ generated_prompt: string;
64
+ /** Creation timestamp (ISO 8601 UTC) */
65
+ created_at: string;
66
+ }
67
+ /**
68
+ * Response for creating a prompt generation
69
+ */
70
+ export interface CreatePromptGenerationResponse {
71
+ /** The created prompt generation */
72
+ data: PromptGeneration;
73
+ }
74
+ /**
75
+ * Response for listing prompt generations
76
+ */
77
+ export interface ListPromptGenerationsResponse {
78
+ /** Array of prompt generations */
79
+ data: PromptGeneration[];
80
+ }
81
+ /**
82
+ * Response for getting a single prompt generation
83
+ */
84
+ export interface GetPromptGenerationResponse {
85
+ /** The requested prompt generation */
86
+ data: PromptGeneration;
87
+ }
88
+ /**
89
+ * Response for deleting a prompt generation
90
+ */
91
+ export interface DeletePromptGenerationResponse {
92
+ /** The deleted prompt generation */
93
+ data: PromptGeneration;
94
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -27,6 +27,7 @@ export declare class TaskService extends BaseService {
27
27
  generateTasks(request: GenerateTasksRequest): Promise<GenerateTasksResponse>;
28
28
  generateTasksCustomBackground(request: GenerateTasksCustomBackgroundRequest): Promise<GenerateTasksCustomBackgroundResponse>;
29
29
  getTasksByProject(request: GetTasksByProjectRequest): Promise<GetTasksByProjectResponse>;
30
+ getLatestTasksByProject(projectId: string): Promise<GetTasksByProjectResponse>;
30
31
  updateTask(taskId: string, request: UpdateTaskRequest): Promise<UpdateTaskResponse>;
31
32
  getProjectTasksbyCodespace(codespaceTaskId: string): Promise<ProjectTaskListResponse>;
32
33
  generatePrompt(taskId: string, request?: GeneratePromptRequest): Promise<GeneratePromptResponse>;
@@ -130,6 +130,11 @@ class TaskService extends base_service_1.BaseService {
130
130
  const url = `/project-tasks/by-project/${request.project_id}${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
131
131
  return this.get(url);
132
132
  }
133
+ // Get Latest Tasks by Project (from most recent task group)
134
+ async getLatestTasksByProject(projectId) {
135
+ const url = `/project-tasks/by-project/${projectId}/latest`;
136
+ return this.get(url);
137
+ }
133
138
  // Update Task
134
139
  async updateTask(taskId, request) {
135
140
  return this.put(`/project-tasks/${taskId}`, request);
@@ -69,6 +69,7 @@ export interface PlanLimits {
69
69
  storage_gb: LimitInfo;
70
70
  projects: LimitInfo;
71
71
  collaborators: LimitInfo;
72
+ softwarev2_access?: LimitInfo;
72
73
  };
73
74
  }
74
75
  export interface AuthorizationSubscription {
@@ -1,5 +1,5 @@
1
1
  import { BaseService } from '../base/base-service';
2
- import { GetCurrentClerkUserResponse } from './user-types';
2
+ import { GetCurrentClerkUserResponse, CheckAdminStatusResponse } from './user-types';
3
3
  export declare class UserService extends BaseService {
4
4
  /**
5
5
  * Get the current Clerk user information
@@ -9,4 +9,12 @@ export declare class UserService extends BaseService {
9
9
  * @returns Promise resolving to the current Clerk user data
10
10
  */
11
11
  getCurrentClerkUser(): Promise<GetCurrentClerkUserResponse>;
12
+ /**
13
+ * Check if the current authenticated user has admin role
14
+ *
15
+ * GET /users/me/admin
16
+ *
17
+ * @returns Promise resolving to admin status data
18
+ */
19
+ checkAdminStatus(): Promise<CheckAdminStatusResponse>;
12
20
  }
@@ -13,5 +13,15 @@ class UserService extends base_service_1.BaseService {
13
13
  async getCurrentClerkUser() {
14
14
  return this.get('/users/me/clerk');
15
15
  }
16
+ /**
17
+ * Check if the current authenticated user has admin role
18
+ *
19
+ * GET /users/me/admin
20
+ *
21
+ * @returns Promise resolving to admin status data
22
+ */
23
+ async checkAdminStatus() {
24
+ return this.get('/users/me/admin');
25
+ }
16
26
  }
17
27
  exports.UserService = UserService;
@@ -53,3 +53,17 @@ export interface GetCurrentClerkUserResponse {
53
53
  status: 'success' | 'error';
54
54
  data: ClerkUserData;
55
55
  }
56
+ /**
57
+ * Admin status check data
58
+ */
59
+ export interface AdminStatusData {
60
+ is_admin: boolean;
61
+ user_id: string;
62
+ }
63
+ /**
64
+ * Response for checking if current user is admin
65
+ */
66
+ export interface CheckAdminStatusResponse {
67
+ status: 'success' | 'error';
68
+ data: AdminStatusData;
69
+ }
package/index.ts CHANGED
@@ -57,3 +57,10 @@ export type {
57
57
  GetStarterKitsRequest,
58
58
  GetStarterKitsResponse,
59
59
  } from './services/starter-kits/starter-kits-types'
60
+
61
+ // Export data management types for convenience
62
+ export type {
63
+ DataStatsResponse,
64
+ DeleteAllDataRequest,
65
+ DeleteAllDataResponse,
66
+ } from './services/data-management/data-management-types'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeguide/core",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "description": "Core package for code guidance with programmatic API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,74 @@
1
+ import { BaseService } from '../base/base-service'
2
+ import {
3
+ DataStatsResponse,
4
+ DeleteAllDataRequest,
5
+ DeleteAllDataResponse,
6
+ DataExportResponse,
7
+ } from './data-management-types'
8
+
9
+ export class DataManagementService extends BaseService {
10
+ /**
11
+ * Get comprehensive statistics of all user data
12
+ *
13
+ * Calls GET /data/stats to retrieve aggregate counts of:
14
+ * - Projects
15
+ * - Project documents
16
+ * - Project repositories
17
+ * - Project tasks
18
+ * - Task groups
19
+ * - Chat conversations
20
+ * - Chat messages
21
+ * - Codespace tasks
22
+ *
23
+ * @returns Promise resolving to DataStatsResponse with counts for each entity type
24
+ */
25
+ async getDataStats(): Promise<DataStatsResponse> {
26
+ return this.get<DataStatsResponse>('/data/stats')
27
+ }
28
+
29
+ /**
30
+ * Export all user data
31
+ *
32
+ * Calls GET /data/export to retrieve complete export of all user data.
33
+ * This includes all projects, documents, repositories, tasks, conversations,
34
+ * messages, and codespace tasks with their full details.
35
+ *
36
+ * Use this for:
37
+ * - Creating backups
38
+ * - Migrating data to another system
39
+ * - Data analysis
40
+ * - Compliance and auditing
41
+ *
42
+ * @returns Promise resolving to DataExportResponse with complete user data
43
+ */
44
+ async exportData(): Promise<DataExportResponse> {
45
+ return this.get<DataExportResponse>('/data/export')
46
+ }
47
+
48
+ /**
49
+ * Delete all user data with explicit confirmation
50
+ *
51
+ * Calls DELETE /data/all to perform bulk deletion of all user data.
52
+ * This operation requires confirmation to prevent accidental data loss.
53
+ *
54
+ * The deletion will affect:
55
+ * - All projects (including documents and repositories)
56
+ * - All task groups and project tasks
57
+ * - All chat conversations and messages
58
+ * - All codespace tasks
59
+ *
60
+ * @param request - DeleteAllDataRequest with confirm flag set to true
61
+ * @returns Promise resolving to DeleteAllDataResponse with deletion summary
62
+ * @throws Error if confirmation is not true
63
+ */
64
+ async deleteAllData(request: DeleteAllDataRequest): Promise<DeleteAllDataResponse> {
65
+ // Validate confirmation flag to prevent accidental deletion
66
+ if (!request.confirm) {
67
+ throw new Error(
68
+ 'Confirmation required. Set confirm: true to delete all data. This action cannot be undone.'
69
+ )
70
+ }
71
+
72
+ return this.delete<DeleteAllDataResponse>('/data/all')
73
+ }
74
+ }
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Data Management Service Types
3
+ *
4
+ * Provides interfaces for viewing data statistics and bulk deleting user data
5
+ */
6
+
7
+ /**
8
+ * Response structure for GET /data/stats endpoint
9
+ * Contains aggregate counts of all user data across the platform
10
+ */
11
+ export interface DataStatsResponse {
12
+ status: string
13
+ data: DataStats
14
+ }
15
+
16
+ /**
17
+ * Aggregate statistics for all user data entities
18
+ */
19
+ export interface DataStats {
20
+ projects: number
21
+ project_documents: number
22
+ project_repositories: number
23
+ project_tasks: number
24
+ task_groups: number
25
+ chat_conversations: number
26
+ chat_messages: number
27
+ codespace_tasks: number
28
+ }
29
+
30
+ /**
31
+ * Request structure for DELETE /data/all endpoint
32
+ * Requires explicit confirmation to prevent accidental data loss
33
+ */
34
+ export interface DeleteAllDataRequest {
35
+ confirm: boolean
36
+ }
37
+
38
+ /**
39
+ * Response structure for DELETE /data/all endpoint
40
+ * Provides summary of deleted data counts
41
+ */
42
+ export interface DeleteAllDataResponse {
43
+ status: string
44
+ message: string
45
+ deleted: DataStats
46
+ }
47
+
48
+ /**
49
+ * Response structure for GET /data/export endpoint
50
+ * Contains complete export of all user data
51
+ */
52
+ export interface DataExportResponse {
53
+ status: string
54
+ exported_at: string
55
+ user_id: string
56
+ data: ExportedData
57
+ }
58
+
59
+ /**
60
+ * Complete exported data containing all user entities
61
+ */
62
+ export interface ExportedData {
63
+ projects: ExportedProject[]
64
+ project_documents: ExportedProjectDocument[]
65
+ project_repositories: ExportedProjectRepository[]
66
+ project_tasks: ExportedProjectTask[]
67
+ task_groups: ExportedTaskGroup[]
68
+ chat_conversations: ExportedChatConversation[]
69
+ chat_messages: ExportedChatMessage[]
70
+ codespace_tasks: ExportedCodespaceTask[]
71
+ }
72
+
73
+ /**
74
+ * Exported project entity
75
+ */
76
+ export interface ExportedProject {
77
+ id: string
78
+ title: string
79
+ description: string
80
+ status: string
81
+ user_id: string
82
+ created_at: string
83
+ updated_at: string
84
+ project_outline?: Record<string, any>
85
+ ai_questionaire?: Record<string, any>
86
+ }
87
+
88
+ /**
89
+ * Exported project document entity
90
+ */
91
+ export interface ExportedProjectDocument {
92
+ id: string
93
+ project_id: string
94
+ content: string
95
+ custom_document_type: string
96
+ is_current_version: boolean
97
+ created_at: string
98
+ }
99
+
100
+ /**
101
+ * Exported project repository entity
102
+ */
103
+ export interface ExportedProjectRepository {
104
+ id: string
105
+ project_id: string
106
+ repo_url: string
107
+ created_at: string
108
+ }
109
+
110
+ /**
111
+ * Exported project task entity
112
+ */
113
+ export interface ExportedProjectTask {
114
+ id: string
115
+ project_id: string
116
+ title: string
117
+ status: string
118
+ priority: string
119
+ created_at: string
120
+ }
121
+
122
+ /**
123
+ * Exported task group entity
124
+ */
125
+ export interface ExportedTaskGroup {
126
+ id: string
127
+ project_id: string
128
+ name: string
129
+ created_at: string
130
+ }
131
+
132
+ /**
133
+ * Exported chat conversation entity
134
+ */
135
+ export interface ExportedChatConversation {
136
+ id: string
137
+ title: string
138
+ model: string
139
+ created_at: string
140
+ last_message_at: string
141
+ }
142
+
143
+ /**
144
+ * Exported chat message entity
145
+ */
146
+ export interface ExportedChatMessage {
147
+ id: string
148
+ conversation_id: string
149
+ role: 'user' | 'assistant'
150
+ content: string
151
+ token_count: number
152
+ created_at: string
153
+ }
154
+
155
+ /**
156
+ * Exported codespace task entity
157
+ */
158
+ export interface ExportedCodespaceTask {
159
+ id: string
160
+ project_id: string
161
+ status: string
162
+ created_at: string
163
+ }
@@ -0,0 +1,2 @@
1
+ export { DataManagementService } from './data-management-service'
2
+ export * from './data-management-types'
@@ -155,9 +155,39 @@ export interface GenerateAnswersResponse {
155
155
  }>
156
156
  }
157
157
 
158
+ export type ProjectMode = 'prd_only' | 'full_application' | 'prototype' | 'mvp'
159
+
160
+ export interface ProjectOutline {
161
+ core_features: Array<{
162
+ id: number
163
+ title: string
164
+ description: string
165
+ icon_key: string
166
+ }>
167
+ app_flow: Array<{
168
+ id: number
169
+ title: string
170
+ description: string
171
+ }>
172
+ tech_stack: Array<{
173
+ id: number
174
+ type: string
175
+ name: string
176
+ icon_key: string
177
+ }>
178
+ document_types: Array<{
179
+ id: number
180
+ name: string
181
+ description: string
182
+ }>
183
+ is_generated: boolean
184
+ project_mode: ProjectMode
185
+ }
186
+
158
187
  export interface GenerateProjectOutlineRequest {
159
188
  description: string
160
189
  project_type: string
190
+ project_mode?: ProjectMode
161
191
  title?: string
162
192
  selected_tools?: string[]
163
193
  answers?: Record<string, any>
@@ -166,7 +196,7 @@ export interface GenerateProjectOutlineRequest {
166
196
  }
167
197
 
168
198
  export interface GenerateProjectOutlineResponse {
169
- outline: string
199
+ project_outline: ProjectOutline
170
200
  project_id: string
171
201
  project_created: boolean
172
202
  }
package/services/index.ts CHANGED
@@ -23,6 +23,8 @@ export { UserService } from './users'
23
23
  export { StarterKitsService } from './starter-kits'
24
24
  export { StreamingService } from './streaming'
25
25
  export { ChatService } from './chat'
26
+ export { DataManagementService } from './data-management'
27
+ export { PromptGenerationsService } from './prompt-generations'
26
28
 
27
29
  // Re-export all types for convenience
28
30
  export * from './generation'
@@ -40,3 +42,5 @@ export * from './users'
40
42
  export * from './starter-kits'
41
43
  export * from './streaming'
42
44
  export * from './chat'
45
+ export * from './data-management'
46
+ export * from './prompt-generations'
@@ -32,8 +32,26 @@ export interface Project {
32
32
  }
33
33
  tools_selected?: string[]
34
34
  project_outline?: {
35
- features?: string[]
36
- architecture?: string
35
+ core_features?: Array<{
36
+ id?: number
37
+ title?: string
38
+ description?: string
39
+ icon_key?: string
40
+ }>
41
+ app_flow?: Array<{
42
+ id?: number
43
+ title?: string
44
+ description?: string
45
+ }>
46
+ tech_stack?: Array<{
47
+ id?: number
48
+ type?: string
49
+ name?: string
50
+ icon_key?: string
51
+ }>
52
+ document_types?: string[]
53
+ is_generated?: boolean
54
+ project_mode?: 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'task_only'
37
55
  }
38
56
  codie_tool_id?: string
39
57
  existing_project_repo_url?: string | null
@@ -96,7 +114,7 @@ export interface StarterKitReference {
96
114
 
97
115
  export interface CreateProjectRequest {
98
116
  title?: string // Optional - will be auto-generated if not provided
99
- description: string
117
+ description?: string
100
118
  status?: 'prompt' | 'draft' | 'in_progress' | 'completed'
101
119
  category_id?: string
102
120
  starter_kit_id?: string
@@ -107,8 +125,26 @@ export interface CreateProjectRequest {
107
125
  }
108
126
  tools_selected?: string[]
109
127
  project_outline?: {
110
- features?: string[]
111
- architecture?: string
128
+ core_features?: Array<{
129
+ id?: number
130
+ title?: string
131
+ description?: string
132
+ icon_key?: string
133
+ }>
134
+ app_flow?: Array<{
135
+ id?: number
136
+ title?: string
137
+ description?: string
138
+ }>
139
+ tech_stack?: Array<{
140
+ id?: number
141
+ type?: string
142
+ name?: string
143
+ icon_key?: string
144
+ }>
145
+ document_types?: string[]
146
+ is_generated?: boolean
147
+ project_mode?: 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'task_only'
112
148
  }
113
149
  codie_tool_id?: string
114
150
  existing_project_repo_url?: string
@@ -127,8 +163,26 @@ export interface UpdateProjectRequest {
127
163
  }
128
164
  tools_selected?: string[]
129
165
  project_outline?: {
130
- features?: string[]
131
- architecture?: string
166
+ core_features?: Array<{
167
+ id?: number
168
+ title?: string
169
+ description?: string
170
+ icon_key?: string
171
+ }>
172
+ app_flow?: Array<{
173
+ id?: number
174
+ title?: string
175
+ description?: string
176
+ }>
177
+ tech_stack?: Array<{
178
+ id?: number
179
+ type?: string
180
+ name?: string
181
+ icon_key?: string
182
+ }>
183
+ document_types?: string[]
184
+ is_generated?: boolean
185
+ project_mode?: 'prd_only' | 'full_application' | 'prototype' | 'mvp' | 'task_only'
132
186
  }
133
187
  codie_tool_id?: string
134
188
  existing_project_repo_url?: string
@@ -0,0 +1,2 @@
1
+ export { PromptGenerationsService } from './prompt-generations-service'
2
+ export * from './prompt-generations-types'
@@ -0,0 +1,75 @@
1
+ import { BaseService } from '../base/base-service'
2
+ import {
3
+ CreatePromptGenerationRequest,
4
+ CreatePromptGenerationResponse,
5
+ ListPromptGenerationsResponse,
6
+ GetPromptGenerationResponse,
7
+ DeletePromptGenerationResponse,
8
+ } from './prompt-generations-types'
9
+
10
+ export class PromptGenerationsService extends BaseService {
11
+ /**
12
+ * Create a new AI system prompt generation
13
+ *
14
+ * Generates a new AI system prompt based on user input using GPT-5.1.
15
+ *
16
+ * POST /prompt-generations/
17
+ *
18
+ * @param request - The prompt generation request parameters
19
+ * @returns Promise resolving to the created prompt generation data
20
+ */
21
+ async createPromptGeneration(
22
+ request: CreatePromptGenerationRequest
23
+ ): Promise<CreatePromptGenerationResponse> {
24
+ return this.post<CreatePromptGenerationResponse>('/prompt-generations/', request)
25
+ }
26
+
27
+ /**
28
+ * List all prompt generations for the authenticated user
29
+ *
30
+ * Retrieves all prompt generations that belong to the current user.
31
+ *
32
+ * GET /prompt-generations/
33
+ *
34
+ * @returns Promise resolving to an array of prompt generations
35
+ */
36
+ async listPromptGenerations(): Promise<ListPromptGenerationsResponse> {
37
+ return this.get<ListPromptGenerationsResponse>('/prompt-generations/')
38
+ }
39
+
40
+ /**
41
+ * Get a specific prompt generation by ID
42
+ *
43
+ * Retrieves detailed information about a single prompt generation.
44
+ *
45
+ * GET /prompt-generations/{generation_id}
46
+ *
47
+ * @param generationId - The UUID of the prompt generation to retrieve
48
+ * @returns Promise resolving to the prompt generation data
49
+ */
50
+ async getPromptGeneration(
51
+ generationId: string
52
+ ): Promise<GetPromptGenerationResponse> {
53
+ return this.get<GetPromptGenerationResponse>(
54
+ `/prompt-generations/${generationId}`
55
+ )
56
+ }
57
+
58
+ /**
59
+ * Delete a specific prompt generation by ID
60
+ *
61
+ * Permanently removes a prompt generation from the database.
62
+ *
63
+ * DELETE /prompt-generations/{generation_id}
64
+ *
65
+ * @param generationId - The UUID of the prompt generation to delete
66
+ * @returns Promise resolving to the deleted prompt generation data
67
+ */
68
+ async deletePromptGeneration(
69
+ generationId: string
70
+ ): Promise<DeletePromptGenerationResponse> {
71
+ return this.delete<DeletePromptGenerationResponse>(
72
+ `/prompt-generations/${generationId}`
73
+ )
74
+ }
75
+ }