@codeguide/core 0.0.28 → 0.0.33

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 (85) hide show
  1. package/__tests__/services/codespace/codespace-v2.test.ts +53 -0
  2. package/__tests__/services/usage/usage-service.test.ts +458 -104
  3. package/codeguide.ts +3 -0
  4. package/dist/codeguide.d.ts +2 -1
  5. package/dist/codeguide.js +1 -0
  6. package/dist/index.d.ts +4 -3
  7. package/dist/services/base/base-service.d.ts +21 -0
  8. package/dist/services/base/base-service.js +114 -0
  9. package/dist/services/codespace/codespace-service.d.ts +64 -1
  10. package/dist/services/codespace/codespace-service.js +272 -0
  11. package/dist/services/codespace/codespace-types.d.ts +213 -12
  12. package/dist/services/codespace/index.d.ts +1 -1
  13. package/dist/services/index.d.ts +2 -0
  14. package/dist/services/index.js +4 -1
  15. package/dist/services/projects/project-types.d.ts +66 -32
  16. package/dist/services/starter-kits/index.d.ts +2 -0
  17. package/dist/services/starter-kits/index.js +20 -0
  18. package/dist/services/starter-kits/starter-kits-service.d.ts +13 -0
  19. package/dist/services/starter-kits/starter-kits-service.js +27 -0
  20. package/dist/services/starter-kits/starter-kits-types.d.ts +34 -0
  21. package/dist/services/starter-kits/starter-kits-types.js +2 -0
  22. package/dist/services/subscriptions/subscription-service.d.ts +11 -1
  23. package/dist/services/subscriptions/subscription-service.js +14 -0
  24. package/dist/services/tasks/task-service.d.ts +2 -1
  25. package/dist/services/tasks/task-service.js +8 -0
  26. package/dist/services/tasks/task-types.d.ts +26 -7
  27. package/dist/services/usage/usage-service.d.ts +5 -2
  28. package/dist/services/usage/usage-service.js +58 -9
  29. package/dist/services/usage/usage-types.d.ts +157 -34
  30. package/dist/types.d.ts +18 -2
  31. package/docs/.vitepress/README.md +51 -0
  32. package/docs/.vitepress/config.ts +139 -0
  33. package/docs/.vitepress/theme/custom.css +80 -0
  34. package/docs/.vitepress/theme/index.ts +13 -0
  35. package/docs/.vitepress/tsconfig.json +19 -0
  36. package/docs/QUICKSTART.md +77 -0
  37. package/docs/README.md +134 -0
  38. package/docs/README_SETUP.md +46 -0
  39. package/docs/authentication.md +351 -0
  40. package/docs/codeguide-client.md +350 -0
  41. package/docs/codespace-models.md +1004 -0
  42. package/docs/codespace-service.md +444 -0
  43. package/docs/index.md +135 -0
  44. package/docs/package.json +14 -0
  45. package/docs/projects-service.md +688 -0
  46. package/docs/security-keys-service.md +773 -0
  47. package/docs/starter-kits-service.md +249 -0
  48. package/docs/task-service.md +955 -0
  49. package/docs/testsprite_tests/TC001_Homepage_Load_and_Hero_Section_Display.py +70 -0
  50. package/docs/testsprite_tests/TC002_Sidebar_Navigation_ExpandCollapse_Functionality.py +73 -0
  51. package/docs/testsprite_tests/TC003_Full_Text_Local_Search_with_Keyboard_Shortcut.py +90 -0
  52. package/docs/testsprite_tests/TC004_Dark_Mode_Toggle_and_Persistence.py +73 -0
  53. package/docs/testsprite_tests/TC005_Mobile_Responsiveness_and_Touch_Navigation.py +113 -0
  54. package/docs/testsprite_tests/TC006_GitHub_Integration_Edit_this_page_Links.py +73 -0
  55. package/docs/testsprite_tests/TC007_Syntax_Highlighting_and_Code_Copy_Functionality.py +73 -0
  56. package/docs/testsprite_tests/TC008_Auto_Generated_Table_of_Contents_Accuracy.py +73 -0
  57. package/docs/testsprite_tests/TC009_SEO_and_Content_Discoverability_Verification.py +73 -0
  58. package/docs/testsprite_tests/TC010_Accessibility_Compliance_WCAG_AA.py +73 -0
  59. package/docs/testsprite_tests/TC011_Local_Development_Workflow_Build_and_Hot_Reload.py +74 -0
  60. package/docs/testsprite_tests/TC012_Performance_Metrics_Compliance.py +73 -0
  61. package/docs/testsprite_tests/standard_prd.json +122 -0
  62. package/docs/testsprite_tests/testsprite-mcp-test-report.html +2508 -0
  63. package/docs/testsprite_tests/testsprite-mcp-test-report.md +273 -0
  64. package/docs/testsprite_tests/testsprite_frontend_test_plan.json +390 -0
  65. package/docs/usage-service.md +291 -1
  66. package/index.ts +11 -3
  67. package/package.json +17 -2
  68. package/plans/CODESPACE_LOGS_STREAMING_GUIDE.md +320 -0
  69. package/plans/CODESPACE_TASK_LOGS_API_COMPLETE_GUIDE.md +821 -0
  70. package/services/base/base-service.ts +130 -0
  71. package/services/codespace/codespace-service.ts +359 -0
  72. package/services/codespace/codespace-types.ts +295 -13
  73. package/services/codespace/index.ts +21 -1
  74. package/services/index.ts +2 -0
  75. package/services/projects/README.md +107 -34
  76. package/services/projects/project-types.ts +69 -32
  77. package/services/starter-kits/index.ts +2 -0
  78. package/services/starter-kits/starter-kits-service.ts +33 -0
  79. package/services/starter-kits/starter-kits-types.ts +38 -0
  80. package/services/subscriptions/subscription-service.ts +23 -5
  81. package/services/tasks/task-service.ts +10 -0
  82. package/services/tasks/task-types.ts +29 -7
  83. package/services/usage/usage-service.ts +59 -10
  84. package/services/usage/usage-types.ts +186 -36
  85. package/types.ts +22 -2
@@ -3,6 +3,8 @@ import {
3
3
  CreateCodespaceTaskRequestV2,
4
4
  CreateBackgroundCodespaceTaskRequest,
5
5
  ModelApiKey,
6
+ GetCodespaceProjectSummaryRequest,
7
+ GetCodespaceProjectSummaryResponse,
6
8
  } from '../../../services/codespace/codespace-types'
7
9
  import { APIServiceConfig } from '../../../types'
8
10
  import axios from 'axios'
@@ -268,4 +270,55 @@ describe('CodespaceService - V2 Task Endpoints', () => {
268
270
  expect(result).toEqual(mockResponse)
269
271
  })
270
272
  })
273
+
274
+ describe('getCodespaceProjectSummary', () => {
275
+ it('should get project codespace summary successfully', async () => {
276
+ const request: GetCodespaceProjectSummaryRequest = {
277
+ project_id: 'project-123',
278
+ }
279
+
280
+ const mockResponse: GetCodespaceProjectSummaryResponse = {
281
+ status: 'success',
282
+ data: {
283
+ project_id: 'project-123',
284
+ total_codespace_tasks: 25,
285
+ status_summary: {
286
+ pending: 5,
287
+ in_progress: 8,
288
+ completed: 10,
289
+ failed: 2,
290
+ blocked: 0,
291
+ },
292
+ latest_task_created_at: '2025-11-16T10:30:00Z',
293
+ },
294
+ message: 'Retrieved summary for 25 codespace tasks in project project-123',
295
+ }
296
+
297
+ mockAxios.onGet('/codespace/project/project-123/summary').reply(200, mockResponse)
298
+
299
+ const result = await codespaceService.getCodespaceProjectSummary(request)
300
+
301
+ expect(result).toEqual(mockResponse)
302
+ })
303
+
304
+ it('should throw error when project_id is missing', async () => {
305
+ const invalidRequest = {} as GetCodespaceProjectSummaryRequest
306
+
307
+ await expect(
308
+ codespaceService.getCodespaceProjectSummary(invalidRequest)
309
+ ).rejects.toThrow('project_id is required')
310
+ })
311
+
312
+ it('should handle API errors properly', async () => {
313
+ const request: GetCodespaceProjectSummaryRequest = {
314
+ project_id: 'project-123',
315
+ }
316
+
317
+ mockAxios.onGet('/codespace/project/project-123/summary').reply(404, {
318
+ detail: 'Project not found',
319
+ })
320
+
321
+ await expect(codespaceService.getCodespaceProjectSummary(request)).rejects.toThrow()
322
+ })
323
+ })
271
324
  })