@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.
Files changed (62) hide show
  1. package/__tests__/services/codespace/codespace-v2.test.ts +53 -0
  2. package/__tests__/services/usage/usage-service.test.ts +138 -119
  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 +1 -1
  7. package/dist/services/chat/chat-service.d.ts +44 -0
  8. package/dist/services/chat/chat-service.js +85 -0
  9. package/dist/services/chat/chat-types.d.ts +88 -0
  10. package/dist/services/chat/chat-types.js +5 -0
  11. package/dist/services/chat/index.d.ts +2 -0
  12. package/dist/services/chat/index.js +20 -0
  13. package/dist/services/codespace/codespace-service.d.ts +11 -2
  14. package/dist/services/codespace/codespace-service.js +18 -3
  15. package/dist/services/codespace/codespace-types.d.ts +21 -0
  16. package/dist/services/codespace/index.d.ts +1 -1
  17. package/dist/services/generation/generation-service.d.ts +7 -1
  18. package/dist/services/generation/generation-service.js +18 -0
  19. package/dist/services/generation/generation-types.d.ts +95 -0
  20. package/dist/services/index.d.ts +4 -0
  21. package/dist/services/index.js +7 -1
  22. package/dist/services/projects/project-service.d.ts +3 -1
  23. package/dist/services/projects/project-service.js +13 -1
  24. package/dist/services/projects/project-types.d.ts +24 -1
  25. package/dist/services/streaming/index.d.ts +2 -0
  26. package/dist/services/streaming/index.js +20 -0
  27. package/dist/services/streaming/streaming-service.d.ts +30 -0
  28. package/dist/services/streaming/streaming-service.js +107 -0
  29. package/dist/services/streaming/streaming-types.d.ts +14 -0
  30. package/dist/services/streaming/streaming-types.js +2 -0
  31. package/dist/services/subscriptions/subscription-service.d.ts +11 -1
  32. package/dist/services/subscriptions/subscription-service.js +14 -0
  33. package/dist/services/tasks/task-service.d.ts +3 -1
  34. package/dist/services/tasks/task-service.js +8 -0
  35. package/dist/services/tasks/task-types.d.ts +15 -0
  36. package/dist/services/usage/usage-service.d.ts +35 -1
  37. package/dist/services/usage/usage-service.js +68 -0
  38. package/dist/services/usage/usage-types.d.ts +119 -45
  39. package/dist/types.d.ts +18 -2
  40. package/index.ts +3 -0
  41. package/package.json +2 -1
  42. package/services/chat/chat-service.ts +110 -0
  43. package/services/chat/chat-types.ts +145 -0
  44. package/services/chat/index.ts +2 -0
  45. package/services/codespace/codespace-service.ts +25 -3
  46. package/services/codespace/codespace-types.ts +33 -0
  47. package/services/codespace/index.ts +6 -1
  48. package/services/generation/generation-service.ts +40 -0
  49. package/services/generation/generation-types.ts +110 -0
  50. package/services/index.ts +4 -0
  51. package/services/projects/README.md +54 -0
  52. package/services/projects/project-service.ts +20 -1
  53. package/services/projects/project-types.ts +27 -1
  54. package/services/streaming/index.ts +2 -0
  55. package/services/streaming/streaming-service.ts +123 -0
  56. package/services/streaming/streaming-types.ts +15 -0
  57. package/services/subscriptions/subscription-service.ts +23 -5
  58. package/services/tasks/task-service.ts +30 -2
  59. package/services/tasks/task-types.ts +19 -1
  60. package/services/usage/usage-service.ts +81 -0
  61. package/services/usage/usage-types.ts +128 -49
  62. 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
  })
@@ -146,9 +146,7 @@ describe('UsageService', () => {
146
146
  model_key: 'gpt-4',
147
147
  }
148
148
 
149
- mockAxios
150
- .onGet('/usage/credit-check?model_key=gpt-4&input_tokens=100')
151
- .reply(200, response)
149
+ mockAxios.onGet('/usage/credit-check?model_key=gpt-4&input_tokens=100').reply(200, response)
152
150
 
153
151
  const result = await usageService.checkCredits(params)
154
152
 
@@ -156,7 +154,6 @@ describe('UsageService', () => {
156
154
  })
157
155
  })
158
156
 
159
-
160
157
  describe('getAuthorization', () => {
161
158
  it('should get authorization info successfully', async () => {
162
159
  const response: AuthorizationResponse = {
@@ -329,7 +326,7 @@ describe('UsageService', () => {
329
326
  expect(result.data.subscription).not.toBeNull()
330
327
  expect(result.data.subscription?.plan_name).toBe('Monthly Plan')
331
328
  expect(result.data.codespace_task_limit).toBeNull()
332
- expect(result.data.plan_limits.limits.codespace_tasks.is_unlimited).toBe(true)
329
+ expect(result.data.plan_limits?.limits.codespace_tasks.is_unlimited).toBe(true)
333
330
  })
334
331
  })
335
332
 
@@ -417,26 +414,12 @@ describe('UsageService', () => {
417
414
  describe('getCodespaceTaskUsage', () => {
418
415
  it('should get codespace task usage successfully', async () => {
419
416
  const response: CodespaceTaskUsageResponse = {
420
- codespace_task_id: 'task123',
421
- total_usage: {
422
- total_input_tokens: 200,
423
- total_output_tokens: 100,
424
- total_call_seconds: 4,
425
- total_cost: 0.1,
417
+ status: 'success',
418
+ data: {
419
+ total_records: 2,
420
+ total_credits_consumed: 49.428799,
421
+ latest_usage: '2025-11-24T07:50:58.150274+00:00',
426
422
  },
427
- usage_records: [
428
- {
429
- id: 'usage123',
430
- codespace_task_id: 'task123',
431
- user_id: 'user123',
432
- model_key: 'gpt-4',
433
- input_tokens: 100,
434
- output_tokens: 50,
435
- call_seconds: 2,
436
- cost_amount: 0.05,
437
- created_at: '2024-01-01T00:00:00Z',
438
- },
439
- ],
440
423
  }
441
424
 
442
425
  mockAxios.onGet('/usage/codespace/task/task123').reply(200, response)
@@ -485,7 +468,7 @@ describe('UsageService', () => {
485
468
  describe('getDashboardAnalytics', () => {
486
469
  it('should get dashboard analytics with period parameter', async () => {
487
470
  const params: DashboardAnalyticsRequest = {
488
- period: '7d'
471
+ period: '7d',
489
472
  }
490
473
 
491
474
  const response: DashboardAnalyticsResponse = {
@@ -494,7 +477,7 @@ describe('UsageService', () => {
494
477
  period: {
495
478
  start: '2024-01-25',
496
479
  end: '2024-01-31',
497
- label: '7d'
480
+ label: '7d',
498
481
  },
499
482
  daily_usage: [
500
483
  {
@@ -502,30 +485,30 @@ describe('UsageService', () => {
502
485
  credits_consumed: 1250,
503
486
  cost_usd: 3.75,
504
487
  requests_count: 15,
505
- average_credits_per_request: 83.33
506
- }
488
+ average_credits_per_request: 83.33,
489
+ },
507
490
  ],
508
491
  totals: {
509
492
  credits_consumed: 13870,
510
493
  cost_usd: 41.61,
511
- requests_count: 142
494
+ requests_count: 142,
512
495
  },
513
496
  averages: {
514
497
  daily_credits: 1981.43,
515
- daily_requests: 20.29
498
+ daily_requests: 20.29,
516
499
  },
517
500
  trends: {
518
501
  credits_consumed: 15.7,
519
- requests_count: 8.3
502
+ requests_count: 8.3,
520
503
  },
521
504
  top_services: [
522
505
  {
523
506
  service_type: 'docs',
524
507
  credits_consumed: 5230,
525
- requests_count: 58
526
- }
527
- ]
528
- }
508
+ requests_count: 58,
509
+ },
510
+ ],
511
+ },
529
512
  }
530
513
 
531
514
  mockAxios.onGet('/usage/dashboard/analytics?period=7d').reply(200, response)
@@ -539,7 +522,7 @@ describe('UsageService', () => {
539
522
  const params: DashboardAnalyticsRequest = {
540
523
  start_date: '2024-01-01',
541
524
  end_date: '2024-01-31',
542
- service_type: 'docs'
525
+ service_type: 'docs',
543
526
  }
544
527
 
545
528
  const response: DashboardAnalyticsResponse = {
@@ -548,33 +531,37 @@ describe('UsageService', () => {
548
531
  period: {
549
532
  start: '2024-01-01',
550
533
  end: '2024-01-31',
551
- label: 'custom'
534
+ label: 'custom',
552
535
  },
553
536
  daily_usage: [],
554
537
  totals: {
555
538
  credits_consumed: 5000,
556
539
  cost_usd: 15.0,
557
- requests_count: 45
540
+ requests_count: 45,
558
541
  },
559
542
  averages: {
560
543
  daily_credits: 161.29,
561
- daily_requests: 1.45
544
+ daily_requests: 1.45,
562
545
  },
563
546
  trends: {
564
547
  credits_consumed: 12.5,
565
- requests_count: 5.2
548
+ requests_count: 5.2,
566
549
  },
567
550
  top_services: [
568
551
  {
569
552
  service_type: 'docs',
570
553
  credits_consumed: 5000,
571
- requests_count: 45
572
- }
573
- ]
574
- }
554
+ requests_count: 45,
555
+ },
556
+ ],
557
+ },
575
558
  }
576
559
 
577
- mockAxios.onGet('/usage/dashboard/analytics?start_date=2024-01-01&end_date=2024-01-31&service_type=docs').reply(200, response)
560
+ mockAxios
561
+ .onGet(
562
+ '/usage/dashboard/analytics?start_date=2024-01-01&end_date=2024-01-31&service_type=docs'
563
+ )
564
+ .reply(200, response)
578
565
 
579
566
  const result = await usageService.getDashboardAnalytics(params)
580
567
 
@@ -588,24 +575,24 @@ describe('UsageService', () => {
588
575
  period: {
589
576
  start: '2024-01-01',
590
577
  end: '2024-01-07',
591
- label: '7d'
578
+ label: '7d',
592
579
  },
593
580
  daily_usage: [],
594
581
  totals: {
595
582
  credits_consumed: 1000,
596
583
  cost_usd: 3.0,
597
- requests_count: 10
584
+ requests_count: 10,
598
585
  },
599
586
  averages: {
600
587
  daily_credits: 142.86,
601
- daily_requests: 1.43
588
+ daily_requests: 1.43,
602
589
  },
603
590
  trends: {
604
591
  credits_consumed: 5.0,
605
- requests_count: 2.0
592
+ requests_count: 2.0,
606
593
  },
607
- top_services: []
608
- }
594
+ top_services: [],
595
+ },
609
596
  }
610
597
 
611
598
  mockAxios.onGet('/usage/dashboard/analytics').reply(200, response)
@@ -622,7 +609,7 @@ describe('UsageService', () => {
622
609
  page: 1,
623
610
  page_size: 25,
624
611
  sort_by: 'credits_consumed',
625
- sort_order: 'desc'
612
+ sort_order: 'desc',
626
613
  }
627
614
 
628
615
  const response: UsageDetailsResponse = {
@@ -636,8 +623,8 @@ describe('UsageService', () => {
636
623
  usage_type: 'output_tokens',
637
624
  units_consumed: 1250,
638
625
  credits_consumed: 156,
639
- cost_amount: 0.468
640
- }
626
+ cost_amount: 0.468,
627
+ },
641
628
  ],
642
629
  pagination: {
643
630
  page: 1,
@@ -645,17 +632,21 @@ describe('UsageService', () => {
645
632
  total_count: 142,
646
633
  total_pages: 6,
647
634
  has_next: true,
648
- has_prev: false
635
+ has_prev: false,
649
636
  },
650
637
  filters: {
651
638
  period: null,
652
639
  start_date: null,
653
640
  end_date: null,
654
- service_type: null
655
- }
641
+ service_type: null,
642
+ },
656
643
  }
657
644
 
658
- mockAxios.onGet('/usage/dashboard/details?page=1&page_size=25&sort_by=credits_consumed&sort_order=desc').reply(200, response)
645
+ mockAxios
646
+ .onGet(
647
+ '/usage/dashboard/details?page=1&page_size=25&sort_by=credits_consumed&sort_order=desc'
648
+ )
649
+ .reply(200, response)
659
650
 
660
651
  const result = await usageService.getUsageDetails(params)
661
652
 
@@ -665,7 +656,7 @@ describe('UsageService', () => {
665
656
  it('should get usage details with filtering parameters', async () => {
666
657
  const params: UsageDetailsRequest = {
667
658
  period: '1m',
668
- service_type: 'chat'
659
+ service_type: 'chat',
669
660
  }
670
661
 
671
662
  const response: UsageDetailsResponse = {
@@ -679,8 +670,8 @@ describe('UsageService', () => {
679
670
  usage_type: 'input_tokens',
680
671
  units_consumed: 890,
681
672
  credits_consumed: 89,
682
- cost_amount: null
683
- }
673
+ cost_amount: null,
674
+ },
684
675
  ],
685
676
  pagination: {
686
677
  page: 1,
@@ -688,14 +679,14 @@ describe('UsageService', () => {
688
679
  total_count: 25,
689
680
  total_pages: 1,
690
681
  has_next: false,
691
- has_prev: false
682
+ has_prev: false,
692
683
  },
693
684
  filters: {
694
685
  period: '1m',
695
686
  start_date: null,
696
687
  end_date: null,
697
- service_type: 'chat'
698
- }
688
+ service_type: 'chat',
689
+ },
699
690
  }
700
691
 
701
692
  mockAxios.onGet('/usage/dashboard/details?period=1m&service_type=chat').reply(200, response)
@@ -709,32 +700,44 @@ describe('UsageService', () => {
709
700
  describe('getUsageSummary', () => {
710
701
  it('should get usage summary dashboard with period parameter', async () => {
711
702
  const params = {
712
- period: '7d' as const
703
+ period: '7d' as const,
713
704
  }
714
705
 
715
706
  const response: UsageSummaryResponse = {
716
707
  status: 'success',
717
708
  data: {
718
- current_period: {
709
+ period: {
710
+ start: '2024-01-25',
711
+ end: '2024-01-31',
712
+ },
713
+ usage: {
719
714
  credits_consumed: 13870,
720
715
  cost_usd: 41.61,
721
- requests_count: 142
716
+ requests_count: 142,
722
717
  },
723
- previous_period: {
724
- credits_consumed: 11990,
725
- cost_usd: 35.97,
726
- requests_count: 131
718
+ breakdown: {
719
+ docs: 5230,
720
+ chat: 4120,
721
+ codespace_task: 4520,
727
722
  },
728
- billing_cycle: {
729
- total_allotted: 50000,
730
- total_consumed: 28450,
731
- remaining_credits: 21550
732
- },
733
- utilization_percentage: 56.9,
734
- remaining_credits: 21550,
735
- daily_average: 1981.43,
736
- projected_monthly: 59443
737
- }
723
+ service_breakdown: [
724
+ {
725
+ service_type: 'docs',
726
+ credits_consumed: 5230,
727
+ requests_count: 58,
728
+ },
729
+ {
730
+ service_type: 'chat',
731
+ credits_consumed: 4120,
732
+ requests_count: 47,
733
+ },
734
+ {
735
+ service_type: 'codespace_task',
736
+ credits_consumed: 4520,
737
+ requests_count: 37,
738
+ },
739
+ ],
740
+ },
738
741
  }
739
742
 
740
743
  mockAxios.onGet('/usage/dashboard/summary?period=7d').reply(200, response)
@@ -747,35 +750,49 @@ describe('UsageService', () => {
747
750
  it('should get usage summary dashboard with custom date range', async () => {
748
751
  const params = {
749
752
  start_date: '2024-01-01',
750
- end_date: '2024-01-31'
753
+ end_date: '2024-01-31',
751
754
  }
752
755
 
753
756
  const response: UsageSummaryResponse = {
754
757
  status: 'success',
755
758
  data: {
756
- current_period: {
759
+ period: {
760
+ start: '2024-01-01',
761
+ end: '2024-01-31',
762
+ },
763
+ usage: {
757
764
  credits_consumed: 25000,
758
765
  cost_usd: 75.0,
759
- requests_count: 300
766
+ requests_count: 300,
760
767
  },
761
- previous_period: {
762
- credits_consumed: 22000,
763
- cost_usd: 66.0,
764
- requests_count: 275
768
+ breakdown: {
769
+ docs: 10000,
770
+ chat: 8000,
771
+ codespace_task: 7000,
765
772
  },
766
- billing_cycle: {
767
- total_allotted: 50000,
768
- total_consumed: 47000,
769
- remaining_credits: 3000
770
- },
771
- utilization_percentage: 94.0,
772
- remaining_credits: 3000,
773
- daily_average: 806.45,
774
- projected_monthly: 25000
775
- }
773
+ service_breakdown: [
774
+ {
775
+ service_type: 'docs',
776
+ credits_consumed: 10000,
777
+ requests_count: 120,
778
+ },
779
+ {
780
+ service_type: 'chat',
781
+ credits_consumed: 8000,
782
+ requests_count: 95,
783
+ },
784
+ {
785
+ service_type: 'codespace_task',
786
+ credits_consumed: 7000,
787
+ requests_count: 85,
788
+ },
789
+ ],
790
+ },
776
791
  }
777
792
 
778
- mockAxios.onGet('/usage/dashboard/summary?start_date=2024-01-01&end_date=2024-01-31').reply(200, response)
793
+ mockAxios
794
+ .onGet('/usage/dashboard/summary?start_date=2024-01-01&end_date=2024-01-31')
795
+ .reply(200, response)
779
796
 
780
797
  const result = await usageService.getUsageSummary(params)
781
798
 
@@ -786,7 +803,7 @@ describe('UsageService', () => {
786
803
  describe('getServiceBreakdown', () => {
787
804
  it('should get service breakdown with period parameter', async () => {
788
805
  const params: ServiceBreakdownRequest = {
789
- period: '7d'
806
+ period: '7d',
790
807
  }
791
808
 
792
809
  const response: ServiceBreakdownResponse = {
@@ -795,7 +812,7 @@ describe('UsageService', () => {
795
812
  period: {
796
813
  start: '2024-01-25',
797
814
  end: '2024-01-31',
798
- label: '7d'
815
+ label: '7d',
799
816
  },
800
817
  services: [
801
818
  {
@@ -804,7 +821,7 @@ describe('UsageService', () => {
804
821
  percentage: 37.71,
805
822
  cost_usd: 15.69,
806
823
  requests_count: 58,
807
- trend: 12.5
824
+ trend: 12.5,
808
825
  },
809
826
  {
810
827
  service_type: 'chat',
@@ -812,12 +829,12 @@ describe('UsageService', () => {
812
829
  percentage: 29.71,
813
830
  cost_usd: 12.36,
814
831
  requests_count: 47,
815
- trend: -5.2
816
- }
832
+ trend: -5.2,
833
+ },
817
834
  ],
818
835
  total_credits: 13870,
819
- total_cost: 41.61
820
- }
836
+ total_cost: 41.61,
837
+ },
821
838
  }
822
839
 
823
840
  mockAxios.onGet('/usage/dashboard/services?period=7d').reply(200, response)
@@ -830,7 +847,7 @@ describe('UsageService', () => {
830
847
  it('should get service breakdown with custom date range', async () => {
831
848
  const params: ServiceBreakdownRequest = {
832
849
  start_date: '2024-01-01',
833
- end_date: '2024-01-31'
850
+ end_date: '2024-01-31',
834
851
  }
835
852
 
836
853
  const response: ServiceBreakdownResponse = {
@@ -839,7 +856,7 @@ describe('UsageService', () => {
839
856
  period: {
840
857
  start: '2024-01-01',
841
858
  end: '2024-01-31',
842
- label: 'custom'
859
+ label: 'custom',
843
860
  },
844
861
  services: [
845
862
  {
@@ -848,15 +865,17 @@ describe('UsageService', () => {
848
865
  percentage: 60.0,
849
866
  cost_usd: 45.0,
850
867
  requests_count: 25,
851
- trend: 28.4
852
- }
868
+ trend: 28.4,
869
+ },
853
870
  ],
854
871
  total_credits: 25000,
855
- total_cost: 75.0
856
- }
872
+ total_cost: 75.0,
873
+ },
857
874
  }
858
875
 
859
- mockAxios.onGet('/usage/dashboard/services?start_date=2024-01-01&end_date=2024-01-31').reply(200, response)
876
+ mockAxios
877
+ .onGet('/usage/dashboard/services?start_date=2024-01-01&end_date=2024-01-31')
878
+ .reply(200, response)
860
879
 
861
880
  const result = await usageService.getServiceBreakdown(params)
862
881
 
@@ -870,21 +889,21 @@ describe('UsageService', () => {
870
889
  period: {
871
890
  start: '2024-01-01',
872
891
  end: '2024-01-07',
873
- label: '7d'
892
+ label: '7d',
874
893
  },
875
894
  services: [
876
895
  {
877
896
  service_type: 'api',
878
897
  credits_consumed: 700,
879
898
  percentage: 100.0,
880
- cost_usd: 2.10,
899
+ cost_usd: 2.1,
881
900
  requests_count: 5,
882
- trend: 0.0
883
- }
901
+ trend: 0.0,
902
+ },
884
903
  ],
885
904
  total_credits: 700,
886
- total_cost: 2.10
887
- }
905
+ total_cost: 2.1,
906
+ },
888
907
  }
889
908
 
890
909
  mockAxios.onGet('/usage/dashboard/services').reply(200, response)
package/codeguide.ts CHANGED
@@ -20,6 +20,7 @@ import {
20
20
  SecurityKeysService,
21
21
  UserService,
22
22
  StarterKitsService,
23
+ ChatService,
23
24
  } from './services'
24
25
  import { APIServiceConfig, CodeGuideOptions } from './types'
25
26
 
@@ -37,6 +38,7 @@ export class CodeGuide {
37
38
  public securityKeys: SecurityKeysService
38
39
  public users: UserService
39
40
  public starterKits: StarterKitsService
41
+ public chat: ChatService
40
42
  private options: CodeGuideOptions
41
43
 
42
44
  constructor(config: APIServiceConfig, options: CodeGuideOptions = {}) {
@@ -56,6 +58,7 @@ export class CodeGuide {
56
58
  this.securityKeys = new SecurityKeysService(config)
57
59
  this.users = new UserService(config)
58
60
  this.starterKits = new StarterKitsService(config)
61
+ this.chat = new ChatService(config)
59
62
  }
60
63
 
61
64
  // Convenience method for backward compatibility
@@ -1,4 +1,4 @@
1
- import { GenerationService, ProjectService, UsageService, RepositoryAnalysisService, TaskService, ApiKeyEnhancedService, SubscriptionService, CancellationFunnelService, CodespaceService, ExternalTokenService, SecurityKeysService, UserService, StarterKitsService } from './services';
1
+ import { GenerationService, ProjectService, UsageService, RepositoryAnalysisService, TaskService, ApiKeyEnhancedService, SubscriptionService, CancellationFunnelService, CodespaceService, ExternalTokenService, SecurityKeysService, UserService, StarterKitsService, ChatService } from './services';
2
2
  import { APIServiceConfig, CodeGuideOptions } from './types';
3
3
  export declare class CodeGuide {
4
4
  generation: GenerationService;
@@ -14,6 +14,7 @@ export declare class CodeGuide {
14
14
  securityKeys: SecurityKeysService;
15
15
  users: UserService;
16
16
  starterKits: StarterKitsService;
17
+ chat: ChatService;
17
18
  private options;
18
19
  constructor(config: APIServiceConfig, options?: CodeGuideOptions);
19
20
  getGuidance(prompt: string): Promise<any>;
package/dist/codeguide.js CHANGED
@@ -29,6 +29,7 @@ class CodeGuide {
29
29
  this.securityKeys = new services_1.SecurityKeysService(config);
30
30
  this.users = new services_1.UserService(config);
31
31
  this.starterKits = new services_1.StarterKitsService(config);
32
+ this.chat = new services_1.ChatService(config);
32
33
  }
33
34
  // Convenience method for backward compatibility
34
35
  async getGuidance(prompt) {
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { CodeGuide } from './codeguide';
2
2
  export * from './services';
3
3
  export * from './types';
4
- export type { ConnectRepositoryRequest, ConnectRepositoryResponse, ProjectRepository, GetProjectsRequest, PaginatedProjectsRequest, PaginatedProjectsResponse, } from './services/projects/project-types';
4
+ export type { ConnectRepositoryRequest, ConnectRepositoryResponse, ProjectRepository, GetProjectsRequest, PaginatedProjectsRequest, PaginatedProjectsResponse, AITool, GetAiToolsRequest, GetAiToolsResponse, } from './services/projects/project-types';
5
5
  export type { CreateCodespaceTaskRequestV2 as CreateCodespaceTaskRequest, CreateCodespaceTaskResponseV2 as CreateCodespaceTaskResponse, CreateBackgroundCodespaceTaskRequest, CreateBackgroundCodespaceTaskResponse, ModelApiKey, Attachment, GetCodespaceTaskResponse, CodespaceTaskData, TechnicalDocument, GetProjectTasksByCodespaceResponse, } from './services/codespace/codespace-types';
6
6
  export type { StoreExternalTokenRequest, StoreExternalTokenResponse, ListTokensQuery, ListTokensResponse, ValidateTokenRequest, ValidateTokenResponse, FindBestMatchRequest, FindBestMatchResponse, Platform, TokenType, } from './services/external-tokens/external-tokens-types';
7
7
  export type { StarterKit, StarterKitMetadata, GetStarterKitsRequest, GetStarterKitsResponse, } from './services/starter-kits/starter-kits-types';