@codeguide/core 0.0.28 → 0.0.29

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 (79) hide show
  1. package/__tests__/services/usage/usage-service.test.ts +442 -83
  2. package/codeguide.ts +3 -0
  3. package/dist/codeguide.d.ts +2 -1
  4. package/dist/codeguide.js +1 -0
  5. package/dist/index.d.ts +4 -3
  6. package/dist/services/base/base-service.d.ts +21 -0
  7. package/dist/services/base/base-service.js +114 -0
  8. package/dist/services/codespace/codespace-service.d.ts +55 -1
  9. package/dist/services/codespace/codespace-service.js +257 -0
  10. package/dist/services/codespace/codespace-types.d.ts +192 -12
  11. package/dist/services/codespace/index.d.ts +1 -1
  12. package/dist/services/index.d.ts +2 -0
  13. package/dist/services/index.js +4 -1
  14. package/dist/services/projects/project-types.d.ts +66 -32
  15. package/dist/services/starter-kits/index.d.ts +2 -0
  16. package/dist/services/starter-kits/index.js +20 -0
  17. package/dist/services/starter-kits/starter-kits-service.d.ts +13 -0
  18. package/dist/services/starter-kits/starter-kits-service.js +27 -0
  19. package/dist/services/starter-kits/starter-kits-types.d.ts +34 -0
  20. package/dist/services/starter-kits/starter-kits-types.js +2 -0
  21. package/dist/services/tasks/task-service.d.ts +2 -1
  22. package/dist/services/tasks/task-service.js +8 -0
  23. package/dist/services/tasks/task-types.d.ts +26 -7
  24. package/dist/services/usage/usage-service.d.ts +5 -2
  25. package/dist/services/usage/usage-service.js +58 -9
  26. package/dist/services/usage/usage-types.d.ts +150 -26
  27. package/docs/.vitepress/README.md +51 -0
  28. package/docs/.vitepress/config.ts +139 -0
  29. package/docs/.vitepress/theme/custom.css +80 -0
  30. package/docs/.vitepress/theme/index.ts +13 -0
  31. package/docs/.vitepress/tsconfig.json +19 -0
  32. package/docs/QUICKSTART.md +77 -0
  33. package/docs/README.md +134 -0
  34. package/docs/README_SETUP.md +46 -0
  35. package/docs/authentication.md +351 -0
  36. package/docs/codeguide-client.md +350 -0
  37. package/docs/codespace-models.md +1004 -0
  38. package/docs/codespace-service.md +444 -0
  39. package/docs/index.md +135 -0
  40. package/docs/package.json +14 -0
  41. package/docs/projects-service.md +688 -0
  42. package/docs/security-keys-service.md +773 -0
  43. package/docs/starter-kits-service.md +249 -0
  44. package/docs/task-service.md +955 -0
  45. package/docs/testsprite_tests/TC001_Homepage_Load_and_Hero_Section_Display.py +70 -0
  46. package/docs/testsprite_tests/TC002_Sidebar_Navigation_ExpandCollapse_Functionality.py +73 -0
  47. package/docs/testsprite_tests/TC003_Full_Text_Local_Search_with_Keyboard_Shortcut.py +90 -0
  48. package/docs/testsprite_tests/TC004_Dark_Mode_Toggle_and_Persistence.py +73 -0
  49. package/docs/testsprite_tests/TC005_Mobile_Responsiveness_and_Touch_Navigation.py +113 -0
  50. package/docs/testsprite_tests/TC006_GitHub_Integration_Edit_this_page_Links.py +73 -0
  51. package/docs/testsprite_tests/TC007_Syntax_Highlighting_and_Code_Copy_Functionality.py +73 -0
  52. package/docs/testsprite_tests/TC008_Auto_Generated_Table_of_Contents_Accuracy.py +73 -0
  53. package/docs/testsprite_tests/TC009_SEO_and_Content_Discoverability_Verification.py +73 -0
  54. package/docs/testsprite_tests/TC010_Accessibility_Compliance_WCAG_AA.py +73 -0
  55. package/docs/testsprite_tests/TC011_Local_Development_Workflow_Build_and_Hot_Reload.py +74 -0
  56. package/docs/testsprite_tests/TC012_Performance_Metrics_Compliance.py +73 -0
  57. package/docs/testsprite_tests/standard_prd.json +122 -0
  58. package/docs/testsprite_tests/testsprite-mcp-test-report.html +2508 -0
  59. package/docs/testsprite_tests/testsprite-mcp-test-report.md +273 -0
  60. package/docs/testsprite_tests/testsprite_frontend_test_plan.json +390 -0
  61. package/docs/usage-service.md +291 -1
  62. package/index.ts +11 -3
  63. package/package.json +16 -2
  64. package/plans/CODESPACE_LOGS_STREAMING_GUIDE.md +320 -0
  65. package/plans/CODESPACE_TASK_LOGS_API_COMPLETE_GUIDE.md +821 -0
  66. package/services/base/base-service.ts +130 -0
  67. package/services/codespace/codespace-service.ts +337 -0
  68. package/services/codespace/codespace-types.ts +262 -13
  69. package/services/codespace/index.ts +16 -1
  70. package/services/index.ts +2 -0
  71. package/services/projects/README.md +107 -34
  72. package/services/projects/project-types.ts +69 -32
  73. package/services/starter-kits/index.ts +2 -0
  74. package/services/starter-kits/starter-kits-service.ts +33 -0
  75. package/services/starter-kits/starter-kits-types.ts +38 -0
  76. package/services/tasks/task-service.ts +10 -0
  77. package/services/tasks/task-types.ts +29 -7
  78. package/services/usage/usage-service.ts +59 -10
  79. package/services/usage/usage-types.ts +178 -27
@@ -84,11 +84,16 @@ export interface TechnicalDocument {
84
84
  potential_challenges: string[];
85
85
  };
86
86
  }
87
+ export interface TaskMetadata {
88
+ job_id?: string;
89
+ completed_at?: string;
90
+ processing_duration_ms?: number;
91
+ }
87
92
  export interface CodespaceTaskData {
88
93
  id: string;
89
94
  codespace_task_id: string | null;
90
95
  project_id: string;
91
- project_repository_id: string;
96
+ project_repository_id: string | null;
92
97
  user_id: string;
93
98
  status: string;
94
99
  progress: string;
@@ -106,22 +111,44 @@ export interface CodespaceTaskData {
106
111
  work_completed_at: string | null;
107
112
  estimated_completion_time: string | null;
108
113
  ai_implementation_plan: string | null;
109
- metadata: any;
114
+ metadata: TaskMetadata | null;
110
115
  model_id: string | null;
111
116
  execution_mode: string;
112
117
  context_data: any;
113
- final_report_popup_state: string;
118
+ final_report_popup_state: 'not_ready' | 'open' | 'closed';
114
119
  technical_document: TechnicalDocument | null;
115
- model: any;
116
- task_models: any[];
120
+ ai_questionnaire: Record<string, string> | null;
121
+ model: TaskModel | null;
122
+ task_models: TaskModelEntry[];
123
+ docs_url: string | null;
124
+ github_token: string | null;
125
+ attachments: TaskAttachment[] | null;
117
126
  }
118
127
  export interface GetCodespaceTaskResponse {
119
128
  status: string;
120
129
  data: CodespaceTaskData;
121
130
  }
122
- export interface GetProjectTasksByCodespaceResponse {
131
+ export interface CodespaceProjectTask {
132
+ id: string;
133
+ title: string;
134
+ description: string;
135
+ details: string;
136
+ status: string;
137
+ test_strategy: string;
138
+ priority: string;
139
+ ordinal: number;
140
+ task_group_id: string;
141
+ parent_task_id: string;
142
+ ai_result: string;
143
+ created_at: string;
144
+ user_id: string;
145
+ subtasks: CodespaceProjectTask[];
146
+ }
147
+ export interface CodespaceProjectTaskListResponse {
123
148
  status: string;
124
- data: any[];
149
+ data: CodespaceProjectTask[];
150
+ }
151
+ export interface GetProjectTasksByCodespaceResponse extends CodespaceProjectTaskListResponse {
125
152
  }
126
153
  export interface CreateBackgroundCodespaceTaskRequest extends CreateCodespaceTaskRequestV2 {
127
154
  }
@@ -135,11 +162,7 @@ export interface GetCodespaceTasksByProjectRequest {
135
162
  sort_by?: string;
136
163
  sort_order?: 'asc' | 'desc';
137
164
  }
138
- export interface GetCodespaceTasksByProjectResponse {
139
- status: string;
140
- data: CodespaceTaskData[];
141
- total_count: number;
142
- message: string;
165
+ export interface GetCodespaceTasksByProjectResponse extends GetCodespaceTasksCommonResponse {
143
166
  }
144
167
  export interface CodespaceTaskDetailedResponse {
145
168
  status: string;
@@ -210,3 +233,160 @@ export interface CodespaceModelsFetchError {
210
233
  detail: string;
211
234
  }
212
235
  export type CodespaceModelsError = CodespaceModelNotFoundError | AuthenticationRequiredError | CodespaceModelsFetchError;
236
+ export interface AttachmentResponse {
237
+ id: string;
238
+ filename: string;
239
+ file_data: string;
240
+ mime_type: string;
241
+ file_size: number;
242
+ description?: string;
243
+ created_at: string;
244
+ }
245
+ export interface CodespaceTaskModelInDB {
246
+ id: string;
247
+ created_at: string;
248
+ codespace_task_id: string;
249
+ model_id: string;
250
+ model_name?: string;
251
+ model_key?: string;
252
+ provider_id?: string;
253
+ provider_name?: string;
254
+ execution_mode?: string;
255
+ }
256
+ export interface CodespaceTasksListResponse extends GetCodespaceTasksCommonResponse {
257
+ }
258
+ export interface GetCodespaceTasksCommonResponse {
259
+ status: string;
260
+ data: CodespaceTaskData[];
261
+ total_count: number;
262
+ message: string;
263
+ }
264
+ export interface GetCodespaceTasksRequest {
265
+ task_status?: 'completed' | 'in_progress' | 'failed';
266
+ project_id?: string;
267
+ limit?: number;
268
+ offset?: number;
269
+ sort_by?: 'created_at' | 'updated_at' | 'status' | 'title';
270
+ sort_order?: 'asc' | 'desc';
271
+ }
272
+ export interface TaskAttachment {
273
+ id: string;
274
+ codespace_task_id: string;
275
+ filename: string;
276
+ file_url: string;
277
+ file_type: string;
278
+ file_size: number;
279
+ created_at: string;
280
+ }
281
+ export interface TaskModel {
282
+ id: string;
283
+ created_at: string;
284
+ key: string;
285
+ name: string;
286
+ provider_id: string;
287
+ base_url: string | null;
288
+ completion_base_url: string | null;
289
+ execution_mode: string;
290
+ logo_src: string | null;
291
+ provider: {
292
+ id: string;
293
+ created_at: string;
294
+ name: string;
295
+ key: string;
296
+ logo_src: string | null;
297
+ };
298
+ }
299
+ export interface TaskModelEntry {
300
+ id: string;
301
+ codespace_task_id: string;
302
+ codespace_model_id: string;
303
+ created_at: string;
304
+ }
305
+ export interface GetCodespaceTasksResponse extends GetCodespaceTasksCommonResponse {
306
+ }
307
+ export interface GetTasksByCodespaceIdRequest {
308
+ codespace_task_id: string;
309
+ limit?: number;
310
+ offset?: number;
311
+ sort_by?: 'created_at' | 'updated_at' | 'status' | 'title';
312
+ sort_order?: 'asc' | 'desc';
313
+ }
314
+ export interface GetTasksByCodespaceIdResponse {
315
+ status: string;
316
+ data: CodespaceTaskData[];
317
+ total_count: number;
318
+ message: string;
319
+ }
320
+ export interface UpdateFinalReportPopupStateRequest {
321
+ final_report_popup_state: 'not_ready' | 'open' | 'closed';
322
+ }
323
+ export interface UpdateFinalReportPopupStateResponse {
324
+ status: string;
325
+ message: string;
326
+ codespace_task_id: string;
327
+ final_report_popup_state: 'not_ready' | 'open' | 'closed';
328
+ }
329
+ export type CodespaceLogType = 'thinking' | 'coding' | 'info' | 'error' | 'success';
330
+ export interface CodespaceTaskLog {
331
+ id: string;
332
+ codespace_task_id: string;
333
+ step_name: string;
334
+ log_type: CodespaceLogType;
335
+ message: string;
336
+ created_at: string;
337
+ progress_percentage?: number;
338
+ metadata?: Record<string, any>;
339
+ }
340
+ export interface GetCodespaceTaskLogsRequest {
341
+ codespace_task_id: string;
342
+ limit?: number;
343
+ offset?: number;
344
+ log_type?: CodespaceLogType;
345
+ step_name?: string;
346
+ search?: string;
347
+ sort_by?: 'created_at' | 'step_name' | 'log_type';
348
+ sort_order?: 'asc' | 'desc';
349
+ since?: string;
350
+ }
351
+ export interface CodespaceTaskLogsResponse {
352
+ status: string;
353
+ data: CodespaceTaskLog[];
354
+ total_count: number;
355
+ has_more: boolean;
356
+ next_offset?: number;
357
+ message: string;
358
+ }
359
+ export interface StreamCodespaceTaskLogsRequest {
360
+ codespace_task_id: string;
361
+ since?: string;
362
+ timeout?: number;
363
+ }
364
+ export interface StreamLogEvent {
365
+ event: 'log';
366
+ data: CodespaceTaskLog;
367
+ }
368
+ export interface StreamHeartbeatEvent {
369
+ event: 'heartbeat';
370
+ data: {
371
+ timestamp: string;
372
+ };
373
+ }
374
+ export interface StreamCompleteEvent {
375
+ event: 'complete';
376
+ data: {
377
+ message: string;
378
+ };
379
+ }
380
+ export interface StreamTimeoutEvent {
381
+ event: 'timeout';
382
+ data: {
383
+ message: string;
384
+ };
385
+ }
386
+ export interface StreamErrorEvent {
387
+ event: 'error';
388
+ data: {
389
+ error: string;
390
+ };
391
+ }
392
+ export type CodespaceLogStreamEvent = StreamLogEvent | StreamHeartbeatEvent | StreamCompleteEvent | StreamTimeoutEvent | StreamErrorEvent;
@@ -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, CodespaceQuestionnaireRequest, CodespaceQuestionnaireResponse, LLMModelProviderInDB, CodespaceModelInDB, CodespaceModelWithProvider, GetCodespaceModelsQuery, GetCodespaceModelsResponse, GetCodespaceModelResponse, GetLLMModelProvidersResponse, GetLLMModelProviderResponse, GetModelsByProviderResponse, CodespaceModelsError } 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';
@@ -11,6 +11,7 @@ export { CodespaceService } from './codespace';
11
11
  export { ExternalTokenService } from './external-tokens';
12
12
  export { SecurityKeysService } from './security-keys';
13
13
  export { UserService } from './users';
14
+ export { StarterKitsService } from './starter-kits';
14
15
  export * from './generation';
15
16
  export * from './projects';
16
17
  export * from './usage';
@@ -23,3 +24,4 @@ export * from './codespace';
23
24
  export * from './external-tokens';
24
25
  export * from './security-keys';
25
26
  export * from './users';
27
+ export * from './starter-kits';
@@ -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.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.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
@@ -51,6 +51,8 @@ var security_keys_1 = require("./security-keys");
51
51
  Object.defineProperty(exports, "SecurityKeysService", { enumerable: true, get: function () { return security_keys_1.SecurityKeysService; } });
52
52
  var users_1 = require("./users");
53
53
  Object.defineProperty(exports, "UserService", { enumerable: true, get: function () { return users_1.UserService; } });
54
+ var starter_kits_1 = require("./starter-kits");
55
+ Object.defineProperty(exports, "StarterKitsService", { enumerable: true, get: function () { return starter_kits_1.StarterKitsService; } });
54
56
  // Re-export all types for convenience
55
57
  __exportStar(require("./generation"), exports);
56
58
  __exportStar(require("./projects"), exports);
@@ -64,3 +66,4 @@ __exportStar(require("./codespace"), exports);
64
66
  __exportStar(require("./external-tokens"), exports);
65
67
  __exportStar(require("./security-keys"), exports);
66
68
  __exportStar(require("./users"), exports);
69
+ __exportStar(require("./starter-kits"), exports);
@@ -1,30 +1,48 @@
1
1
  export interface ProjectRepository {
2
2
  id: string;
3
- project_id: string;
3
+ name: string;
4
4
  repo_url: string;
5
5
  branch: string;
6
+ project_id: string;
7
+ user_id: string;
8
+ files_processed: number;
9
+ total_characters: number;
10
+ total_lines: number;
11
+ total_files_found: number;
12
+ total_directories: number;
6
13
  author: string;
7
- name: string;
8
- connection_status: 'pending' | 'connected' | 'failed';
14
+ estimated_tokens: number;
15
+ estimated_size_bytes: number;
16
+ tree_structure?: string;
9
17
  created_at: string;
10
- updated_at: string;
11
18
  }
12
19
  export interface Project {
13
20
  id: string;
14
21
  title: string;
15
22
  description: string;
16
- user_id: string;
23
+ status: string;
24
+ category_id: string;
25
+ starter_kit_id?: string;
26
+ ai_questionaire?: {
27
+ experience_level?: string;
28
+ timeline?: string;
29
+ team_size?: number;
30
+ };
31
+ tools_selected?: string[];
32
+ project_outline?: {
33
+ features?: string[];
34
+ architecture?: string;
35
+ };
36
+ codie_tool_id?: string;
37
+ existing_project_repo_url?: string | null;
17
38
  created_at: string;
18
39
  updated_at: string;
40
+ user_id: string;
19
41
  project_documents: ProjectDocument[];
20
- project_repositories: ProjectRepository[];
21
42
  category?: Category;
43
+ starter_kit?: StarterKitReference;
22
44
  codie_tool?: CodieTool;
23
- github_url?: string;
24
- status?: string;
25
- tools_selected?: string[];
26
- ai_questionaire?: Record<string, any>;
27
- project_outline?: Record<string, any>;
45
+ project_repositories: ProjectRepository[];
28
46
  }
29
47
  export interface ProjectDocument {
30
48
  id: string;
@@ -51,34 +69,58 @@ export interface GetProjectDocumentsResponse {
51
69
  export interface Category {
52
70
  id: string;
53
71
  name: string;
54
- description?: string;
72
+ description: string;
55
73
  }
56
74
  export interface CodieTool {
57
75
  id: string;
58
76
  name: string;
59
- description?: string;
60
- category?: string;
77
+ description: string;
78
+ type: string;
79
+ api_endpoint?: string;
80
+ created_at?: string;
81
+ updated_at?: string;
82
+ }
83
+ export interface StarterKitReference {
84
+ id: string;
85
+ name: string;
86
+ description: string;
61
87
  }
62
88
  export interface CreateProjectRequest {
63
89
  title: string;
64
90
  description: string;
65
91
  category_id?: string;
66
- codie_tool_id?: string;
92
+ starter_kit_id?: string;
93
+ ai_questionaire?: {
94
+ experience_level?: string;
95
+ timeline?: string;
96
+ team_size?: number;
97
+ };
67
98
  tools_selected?: string[];
68
- ai_questionaire?: Record<string, any>;
69
- project_outline?: Record<string, any>;
70
- github_url?: string;
99
+ project_outline?: {
100
+ features?: string[];
101
+ architecture?: string;
102
+ };
103
+ codie_tool_id?: string;
104
+ existing_project_repo_url?: string;
71
105
  }
72
106
  export interface UpdateProjectRequest {
73
107
  title?: string;
74
108
  description?: string;
109
+ status?: string;
75
110
  category_id?: string;
76
- codie_tool_id?: string;
111
+ starter_kit_id?: string;
112
+ ai_questionaire?: {
113
+ experience_level?: string;
114
+ timeline?: string;
115
+ team_size?: number;
116
+ };
77
117
  tools_selected?: string[];
78
- ai_questionaire?: Record<string, any>;
79
- project_outline?: Record<string, any>;
80
- github_url?: string;
81
- status?: string;
118
+ project_outline?: {
119
+ features?: string[];
120
+ architecture?: string;
121
+ };
122
+ codie_tool_id?: string;
123
+ existing_project_repo_url?: string;
82
124
  }
83
125
  export interface ProjectListResponse {
84
126
  status: string;
@@ -116,13 +158,5 @@ export interface ConnectRepositoryRequest {
116
158
  }
117
159
  export interface ConnectRepositoryResponse {
118
160
  status: string;
119
- data: {
120
- id: string;
121
- project_id: string;
122
- repo_url: string;
123
- branch: string;
124
- connection_status: 'pending' | 'connected' | 'failed';
125
- created_at: string;
126
- updated_at: string;
127
- };
161
+ data: ProjectRepository;
128
162
  }
@@ -0,0 +1,2 @@
1
+ export { StarterKitsService } from './starter-kits-service';
2
+ export * from './starter-kits-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.StarterKitsService = void 0;
18
+ var starter_kits_service_1 = require("./starter-kits-service");
19
+ Object.defineProperty(exports, "StarterKitsService", { enumerable: true, get: function () { return starter_kits_service_1.StarterKitsService; } });
20
+ __exportStar(require("./starter-kits-types"), exports);
@@ -0,0 +1,13 @@
1
+ import { BaseService } from '../base/base-service';
2
+ import { StarterKit, GetStarterKitsRequest } from './starter-kits-types';
3
+ export declare class StarterKitsService extends BaseService {
4
+ /**
5
+ * Get starter kits with optional filtering
6
+ *
7
+ * GET /starter-kits/
8
+ *
9
+ * @param params Optional query parameters for filtering
10
+ * @returns Promise resolving to an array of starter kits
11
+ */
12
+ getStarterKits(params?: GetStarterKitsRequest): Promise<StarterKit[]>;
13
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StarterKitsService = void 0;
4
+ const base_service_1 = require("../base/base-service");
5
+ class StarterKitsService extends base_service_1.BaseService {
6
+ /**
7
+ * Get starter kits with optional filtering
8
+ *
9
+ * GET /starter-kits/
10
+ *
11
+ * @param params Optional query parameters for filtering
12
+ * @returns Promise resolving to an array of starter kits
13
+ */
14
+ async getStarterKits(params) {
15
+ const queryParams = new URLSearchParams();
16
+ if (params?.name) {
17
+ queryParams.append('name', params.name);
18
+ }
19
+ if (params?.repo_name) {
20
+ queryParams.append('repo_name', params.repo_name);
21
+ }
22
+ const url = `/starter-kits${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
23
+ const response = await this.get(url);
24
+ return response.data;
25
+ }
26
+ }
27
+ exports.StarterKitsService = StarterKitsService;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Starter Kit metadata
3
+ */
4
+ export interface StarterKitMetadata {
5
+ [key: string]: any;
6
+ }
7
+ /**
8
+ * Starter Kit data structure
9
+ */
10
+ export interface StarterKit {
11
+ id: string;
12
+ created_at: string;
13
+ updated_at: string;
14
+ name: string;
15
+ repo_name: string | null;
16
+ kit_name: string | null;
17
+ metadata: StarterKitMetadata | null;
18
+ project_structure: string | null;
19
+ ordinal: number | null;
20
+ }
21
+ /**
22
+ * Request parameters for getting starter kits
23
+ */
24
+ export interface GetStarterKitsRequest {
25
+ name?: string;
26
+ repo_name?: string;
27
+ }
28
+ /**
29
+ * Response for getting starter kits
30
+ */
31
+ export interface GetStarterKitsResponse {
32
+ status: 'success' | 'error';
33
+ data: StarterKit[];
34
+ }
@@ -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, PaginatedTaskGroupsRequest, PaginatedTaskGroupsResponse, PaginatedProjectTasksRequest, PaginatedProjectTasksResponse, GenerateTasksRequest, GenerateTasksResponse, GetTasksByProjectRequest, GetTasksByProjectResponse, UpdateTaskRequest, UpdateTaskResponse } from './task-types';
2
+ import { TaskGroup, ProjectTask, CreateTaskGroupRequest, UpdateTaskGroupRequest, CreateProjectTaskRequest, UpdateProjectTaskRequest, ProjectTaskListResponse, PaginatedTaskGroupsRequest, PaginatedTaskGroupsResponse, PaginatedProjectTasksRequest, PaginatedProjectTasksResponse, GenerateTasksRequest, GenerateTasksResponse, GetTasksByProjectRequest, GetTasksByProjectResponse, UpdateTaskRequest, UpdateTaskResponse } from './task-types';
3
3
  export declare class TaskService extends BaseService {
4
4
  getAllTaskGroups(): Promise<TaskGroup[]>;
5
5
  getPaginatedTaskGroups(params: PaginatedTaskGroupsRequest): Promise<PaginatedTaskGroupsResponse>;
@@ -27,4 +27,5 @@ export declare class TaskService extends BaseService {
27
27
  generateTasks(request: GenerateTasksRequest): Promise<GenerateTasksResponse>;
28
28
  getTasksByProject(request: GetTasksByProjectRequest): Promise<GetTasksByProjectResponse>;
29
29
  updateTask(taskId: string, request: UpdateTaskRequest): Promise<UpdateTaskResponse>;
30
+ getProjectTasksbyCodespace(codespaceTaskId: string): Promise<ProjectTaskListResponse>;
30
31
  }
@@ -130,5 +130,13 @@ class TaskService extends base_service_1.BaseService {
130
130
  async updateTask(taskId, request) {
131
131
  return this.put(`/project-tasks/${taskId}`, request);
132
132
  }
133
+ // Get Project Tasks by Codespace
134
+ async getProjectTasksbyCodespace(codespaceTaskId) {
135
+ if (!codespaceTaskId) {
136
+ throw new Error('Codespace task ID is required');
137
+ }
138
+ const url = `/project-tasks/by-codespace/${codespaceTaskId}`;
139
+ return this.get(url);
140
+ }
133
141
  }
134
142
  exports.TaskService = TaskService;
@@ -21,19 +21,38 @@ export interface RawTask {
21
21
  priority?: string;
22
22
  status?: string;
23
23
  }
24
- export interface ProjectTask {
24
+ export interface ProjectTaskSubtask {
25
25
  id: string;
26
26
  title: string;
27
- description?: string;
27
+ description: string;
28
+ details: string;
28
29
  status: string;
29
- priority?: string;
30
- user_id: string;
30
+ test_strategy: string;
31
+ priority: string;
32
+ ordinal: number;
31
33
  task_group_id: string;
32
- parent_task_id?: string;
34
+ parent_task_id: string;
35
+ ai_result: string;
36
+ created_at: string;
37
+ user_id: string;
38
+ }
39
+ export interface ProjectTask {
40
+ id: string;
41
+ title: string;
42
+ description: string;
43
+ details: string;
44
+ status: string;
45
+ test_strategy: string;
46
+ priority: string;
33
47
  ordinal: number;
48
+ task_group_id: string;
49
+ parent_task_id: string;
50
+ ai_result: string;
34
51
  created_at: string;
35
- updated_at: string;
36
- subtasks?: ProjectTask[];
52
+ user_id: string;
53
+ subtasks?: ProjectTaskSubtask[];
54
+ updated_at?: string;
55
+ subtasks_legacy?: ProjectTask[];
37
56
  }
38
57
  export interface CreateTaskGroupRequest {
39
58
  name: string;
@@ -1,14 +1,17 @@
1
1
  import { BaseService } from '../base/base-service';
2
- import { TrackUsageRequest, TrackUsageResponse, CreditBalanceResponse, CreditCheckRequest, CreditCheckResponse, UsageSummaryRequest, UsageSummaryResponse, AuthorizationResponse, FreeUserStatusResponse, CalculateUsageRequest, CalculateUsageResponse, TrackCodespaceUsageRequest, TrackCodespaceUsageResponse, CodespaceTaskUsageResponse } from './usage-types';
2
+ import { TrackUsageRequest, TrackUsageResponse, CreditBalanceResponse, CreditCheckRequest, CreditCheckResponse, UsageSummaryRequest, UsageSummaryResponse, AuthorizationResponse, FreeUserStatusResponse, CalculateUsageRequest, CalculateUsageResponse, TrackCodespaceUsageRequest, TrackCodespaceUsageResponse, CodespaceTaskUsageResponse, DashboardAnalyticsRequest, DashboardAnalyticsResponse, UsageDetailsRequest, UsageDetailsResponse, ServiceBreakdownRequest, ServiceBreakdownResponse } from './usage-types';
3
3
  export declare class UsageService extends BaseService {
4
4
  trackUsage(request: TrackUsageRequest): Promise<TrackUsageResponse>;
5
5
  getCreditBalance(): Promise<CreditBalanceResponse>;
6
6
  checkCredits(params: CreditCheckRequest): Promise<CreditCheckResponse>;
7
- getUsageSummary(params?: UsageSummaryRequest): Promise<UsageSummaryResponse>;
8
7
  getAuthorization(): Promise<AuthorizationResponse>;
9
8
  getFreeUserStatus(): Promise<FreeUserStatusResponse>;
10
9
  calculateUsageCost(params: CalculateUsageRequest): Promise<CalculateUsageResponse>;
11
10
  trackCodespaceUsage(request: TrackCodespaceUsageRequest): Promise<TrackCodespaceUsageResponse>;
12
11
  getCodespaceTaskUsage(codespaceTaskId: string): Promise<CodespaceTaskUsageResponse>;
13
12
  healthCheck(): Promise<boolean>;
13
+ getDashboardAnalytics(params?: DashboardAnalyticsRequest): Promise<DashboardAnalyticsResponse>;
14
+ getUsageDetails(params?: UsageDetailsRequest): Promise<UsageDetailsResponse>;
15
+ getUsageSummary(params?: UsageSummaryRequest): Promise<UsageSummaryResponse>;
16
+ getServiceBreakdown(params?: ServiceBreakdownRequest): Promise<ServiceBreakdownResponse>;
14
17
  }