@thinkai/tai-api-contract 1.0.0

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.
@@ -0,0 +1,2697 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+
6
+ export interface paths {
7
+ "/tenants": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ get?: never;
15
+ put?: never;
16
+ /** Create tenant */
17
+ post: operations["createTenant"];
18
+ delete?: never;
19
+ options?: never;
20
+ head?: never;
21
+ patch?: never;
22
+ trace?: never;
23
+ };
24
+ "/me": {
25
+ parameters: {
26
+ query?: never;
27
+ header?: never;
28
+ path?: never;
29
+ cookie?: never;
30
+ };
31
+ /** Current user profile */
32
+ get: operations["getMe"];
33
+ /** Update current user profile */
34
+ put: operations["updateMe"];
35
+ post?: never;
36
+ delete?: never;
37
+ options?: never;
38
+ head?: never;
39
+ patch?: never;
40
+ trace?: never;
41
+ };
42
+ "/me/workspaces": {
43
+ parameters: {
44
+ query?: never;
45
+ header?: never;
46
+ path?: never;
47
+ cookie?: never;
48
+ };
49
+ /** Workspaces visible to the authenticated user */
50
+ get: operations["listMyWorkspaces"];
51
+ put?: never;
52
+ post?: never;
53
+ delete?: never;
54
+ options?: never;
55
+ head?: never;
56
+ patch?: never;
57
+ trace?: never;
58
+ };
59
+ "/workspaces": {
60
+ parameters: {
61
+ query?: never;
62
+ header?: never;
63
+ path?: never;
64
+ cookie?: never;
65
+ };
66
+ get?: never;
67
+ put?: never;
68
+ /** Create workspace */
69
+ post: operations["createWorkspace"];
70
+ delete?: never;
71
+ options?: never;
72
+ head?: never;
73
+ patch?: never;
74
+ trace?: never;
75
+ };
76
+ "/workspaces/{workspaceId}/organization": {
77
+ parameters: {
78
+ query?: never;
79
+ header?: never;
80
+ path?: never;
81
+ cookie?: never;
82
+ };
83
+ /** Get workspace organization profile */
84
+ get: operations["getWorkspaceOrganization"];
85
+ /** Upsert workspace organization profile */
86
+ put: operations["putWorkspaceOrganization"];
87
+ post?: never;
88
+ delete?: never;
89
+ options?: never;
90
+ head?: never;
91
+ patch?: never;
92
+ trace?: never;
93
+ };
94
+ "/tenants/{tenantId}/members": {
95
+ parameters: {
96
+ query?: never;
97
+ header?: never;
98
+ path?: never;
99
+ cookie?: never;
100
+ };
101
+ /** List tenant team members */
102
+ get: operations["listTenantMembers"];
103
+ put?: never;
104
+ post?: never;
105
+ delete?: never;
106
+ options?: never;
107
+ head?: never;
108
+ patch?: never;
109
+ trace?: never;
110
+ };
111
+ "/tenants/{tenantId}/members/invite": {
112
+ parameters: {
113
+ query?: never;
114
+ header?: never;
115
+ path?: never;
116
+ cookie?: never;
117
+ };
118
+ get?: never;
119
+ put?: never;
120
+ /** Invite member to tenant */
121
+ post: operations["inviteTenantMember"];
122
+ delete?: never;
123
+ options?: never;
124
+ head?: never;
125
+ patch?: never;
126
+ trace?: never;
127
+ };
128
+ "/tenants/{tenantId}/members/{memberId}": {
129
+ parameters: {
130
+ query?: never;
131
+ header?: never;
132
+ path?: never;
133
+ cookie?: never;
134
+ };
135
+ get?: never;
136
+ put?: never;
137
+ post?: never;
138
+ /** Remove member from tenant */
139
+ delete: operations["removeTenantMember"];
140
+ options?: never;
141
+ head?: never;
142
+ /** Update tenant member role */
143
+ patch: operations["updateTenantMemberRole"];
144
+ trace?: never;
145
+ };
146
+ "/tenants/{tenantId}/org-chart": {
147
+ parameters: {
148
+ query?: never;
149
+ header?: never;
150
+ path?: never;
151
+ cookie?: never;
152
+ };
153
+ /** Get org chart tree */
154
+ get: operations["getTenantOrgChart"];
155
+ put?: never;
156
+ /** Save org chart tree */
157
+ post: operations["postTenantOrgChart"];
158
+ delete?: never;
159
+ options?: never;
160
+ head?: never;
161
+ patch?: never;
162
+ trace?: never;
163
+ };
164
+ "/tenants/{tenantId}/sources": {
165
+ parameters: {
166
+ query?: never;
167
+ header?: never;
168
+ path?: never;
169
+ cookie?: never;
170
+ };
171
+ get?: never;
172
+ /** Replace tenant data sources */
173
+ put: operations["putTenantSources"];
174
+ post?: never;
175
+ delete?: never;
176
+ options?: never;
177
+ head?: never;
178
+ patch?: never;
179
+ trace?: never;
180
+ };
181
+ "/tenants/{tenantId}/sources/test": {
182
+ parameters: {
183
+ query?: never;
184
+ header?: never;
185
+ path?: never;
186
+ cookie?: never;
187
+ };
188
+ get?: never;
189
+ put?: never;
190
+ /** Test one source connection (does not persist) */
191
+ post: operations["postTenantSourceTest"];
192
+ delete?: never;
193
+ options?: never;
194
+ head?: never;
195
+ patch?: never;
196
+ trace?: never;
197
+ };
198
+ "/tenants/{tenantId}/dashboard/productivity": {
199
+ parameters: {
200
+ query?: never;
201
+ header?: never;
202
+ path?: never;
203
+ cookie?: never;
204
+ };
205
+ /** CTO dashboard productivity snapshot */
206
+ get: operations["getDashboardProductivity"];
207
+ put?: never;
208
+ post?: never;
209
+ delete?: never;
210
+ options?: never;
211
+ head?: never;
212
+ patch?: never;
213
+ trace?: never;
214
+ };
215
+ "/tenants/{tenantId}/dashboard/productivity/history": {
216
+ parameters: {
217
+ query?: never;
218
+ header?: never;
219
+ path?: never;
220
+ cookie?: never;
221
+ };
222
+ /** CTO dashboard productivity time series */
223
+ get: operations["getDashboardProductivityHistory"];
224
+ put?: never;
225
+ post?: never;
226
+ delete?: never;
227
+ options?: never;
228
+ head?: never;
229
+ patch?: never;
230
+ trace?: never;
231
+ };
232
+ "/admin/reviews": {
233
+ parameters: {
234
+ query?: never;
235
+ header?: never;
236
+ path?: never;
237
+ cookie?: never;
238
+ };
239
+ /** Admin review queue */
240
+ get: operations["listAdminReviews"];
241
+ put?: never;
242
+ post?: never;
243
+ delete?: never;
244
+ options?: never;
245
+ head?: never;
246
+ patch?: never;
247
+ trace?: never;
248
+ };
249
+ "/admin/reviews/{id}": {
250
+ parameters: {
251
+ query?: never;
252
+ header?: never;
253
+ path?: never;
254
+ cookie?: never;
255
+ };
256
+ /** Single review submission */
257
+ get: operations["getAdminReview"];
258
+ put?: never;
259
+ post?: never;
260
+ delete?: never;
261
+ options?: never;
262
+ head?: never;
263
+ /** Update review metadata */
264
+ patch: operations["patchAdminReview"];
265
+ trace?: never;
266
+ };
267
+ "/admin/reviews/{id}/sections/{sectionId}/comments": {
268
+ parameters: {
269
+ query?: never;
270
+ header?: never;
271
+ path?: never;
272
+ cookie?: never;
273
+ };
274
+ get?: never;
275
+ put?: never;
276
+ /** Add section comment */
277
+ post: operations["postAdminReviewComment"];
278
+ delete?: never;
279
+ options?: never;
280
+ head?: never;
281
+ patch?: never;
282
+ trace?: never;
283
+ };
284
+ "/admin/reviews/{id}/sections/{sectionId}/decision": {
285
+ parameters: {
286
+ query?: never;
287
+ header?: never;
288
+ path?: never;
289
+ cookie?: never;
290
+ };
291
+ get?: never;
292
+ /** Set section decision */
293
+ put: operations["putAdminReviewSectionDecision"];
294
+ post?: never;
295
+ delete?: never;
296
+ options?: never;
297
+ head?: never;
298
+ patch?: never;
299
+ trace?: never;
300
+ };
301
+ "/admin/reviews/{id}/pricing": {
302
+ parameters: {
303
+ query?: never;
304
+ header?: never;
305
+ path?: never;
306
+ cookie?: never;
307
+ };
308
+ get?: never;
309
+ /** Update pricing lines */
310
+ put: operations["putAdminReviewPricing"];
311
+ post?: never;
312
+ delete?: never;
313
+ options?: never;
314
+ head?: never;
315
+ patch?: never;
316
+ trace?: never;
317
+ };
318
+ "/admin/reviews/{id}/deployment": {
319
+ parameters: {
320
+ query?: never;
321
+ header?: never;
322
+ path?: never;
323
+ cookie?: never;
324
+ };
325
+ get?: never;
326
+ /** Update deployment plan */
327
+ put: operations["putAdminReviewDeployment"];
328
+ post?: never;
329
+ delete?: never;
330
+ options?: never;
331
+ head?: never;
332
+ patch?: never;
333
+ trace?: never;
334
+ };
335
+ "/tenants/{tenantId}/company-profile": {
336
+ parameters: {
337
+ query?: never;
338
+ header?: never;
339
+ path?: never;
340
+ cookie?: never;
341
+ };
342
+ /** Get company profile */
343
+ get: operations["getCompanyProfile"];
344
+ /** Upsert company profile */
345
+ put: operations["putCompanyProfile"];
346
+ post?: never;
347
+ delete?: never;
348
+ options?: never;
349
+ head?: never;
350
+ patch?: never;
351
+ trace?: never;
352
+ };
353
+ "/tenants/{tenantId}/ai-readiness": {
354
+ parameters: {
355
+ query?: never;
356
+ header?: never;
357
+ path?: never;
358
+ cookie?: never;
359
+ };
360
+ /** Get AI readiness */
361
+ get: operations["getAiReadiness"];
362
+ /** Upsert AI readiness */
363
+ put: operations["putAiReadiness"];
364
+ post?: never;
365
+ delete?: never;
366
+ options?: never;
367
+ head?: never;
368
+ patch?: never;
369
+ trace?: never;
370
+ };
371
+ "/tenants/{tenantId}/ai-readiness/maturity": {
372
+ parameters: {
373
+ query?: never;
374
+ header?: never;
375
+ path?: never;
376
+ cookie?: never;
377
+ };
378
+ get?: never;
379
+ put?: never;
380
+ /** Compute maturity level */
381
+ post: operations["postAiReadinessMaturity"];
382
+ delete?: never;
383
+ options?: never;
384
+ head?: never;
385
+ patch?: never;
386
+ trace?: never;
387
+ };
388
+ "/tenants/{tenantId}/tech-stack": {
389
+ parameters: {
390
+ query?: never;
391
+ header?: never;
392
+ path?: never;
393
+ cookie?: never;
394
+ };
395
+ /** Get tech stack */
396
+ get: operations["getTechStack"];
397
+ /** Upsert tech stack */
398
+ put: operations["putTechStack"];
399
+ post?: never;
400
+ delete?: never;
401
+ options?: never;
402
+ head?: never;
403
+ patch?: never;
404
+ trace?: never;
405
+ };
406
+ "/tenants/{tenantId}/nda": {
407
+ parameters: {
408
+ query?: never;
409
+ header?: never;
410
+ path?: never;
411
+ cookie?: never;
412
+ };
413
+ /** Get NDA completion state */
414
+ get: operations["getNda"];
415
+ put?: never;
416
+ post?: never;
417
+ delete?: never;
418
+ options?: never;
419
+ head?: never;
420
+ patch?: never;
421
+ trace?: never;
422
+ };
423
+ "/tenants/{tenantId}/nda/template": {
424
+ parameters: {
425
+ query?: never;
426
+ header?: never;
427
+ path?: never;
428
+ cookie?: never;
429
+ };
430
+ /** NDA template for display */
431
+ get: operations["getNdaTemplate"];
432
+ put?: never;
433
+ post?: never;
434
+ delete?: never;
435
+ options?: never;
436
+ head?: never;
437
+ patch?: never;
438
+ trace?: never;
439
+ };
440
+ "/tenants/{tenantId}/nda/sign": {
441
+ parameters: {
442
+ query?: never;
443
+ header?: never;
444
+ path?: never;
445
+ cookie?: never;
446
+ };
447
+ get?: never;
448
+ put?: never;
449
+ /** Electronic NDA signature */
450
+ post: operations["postNdaSign"];
451
+ delete?: never;
452
+ options?: never;
453
+ head?: never;
454
+ patch?: never;
455
+ trace?: never;
456
+ };
457
+ "/tenants/{tenantId}/nda/external": {
458
+ parameters: {
459
+ query?: never;
460
+ header?: never;
461
+ path?: never;
462
+ cookie?: never;
463
+ };
464
+ get?: never;
465
+ put?: never;
466
+ /**
467
+ * External NDA path (after Supabase upload)
468
+ * @description Preferred body uses `storagePath` after client upload to the `nda-documents` bucket (§14). Multipart variant may be supported by the server as an alternative.
469
+ */
470
+ post: operations["postNdaExternal"];
471
+ delete?: never;
472
+ options?: never;
473
+ head?: never;
474
+ patch?: never;
475
+ trace?: never;
476
+ };
477
+ "/tenants/{tenantId}/readiness/repos": {
478
+ parameters: {
479
+ query?: never;
480
+ header?: never;
481
+ path?: never;
482
+ cookie?: never;
483
+ };
484
+ /** List repo readiness scores */
485
+ get: operations["listReadinessRepos"];
486
+ put?: never;
487
+ post?: never;
488
+ delete?: never;
489
+ options?: never;
490
+ head?: never;
491
+ patch?: never;
492
+ trace?: never;
493
+ };
494
+ "/tenants/{tenantId}/readiness/repos/{repoId}": {
495
+ parameters: {
496
+ query?: never;
497
+ header?: never;
498
+ path?: never;
499
+ cookie?: never;
500
+ };
501
+ /** Single repo readiness */
502
+ get: operations["getReadinessRepo"];
503
+ put?: never;
504
+ post?: never;
505
+ delete?: never;
506
+ options?: never;
507
+ head?: never;
508
+ patch?: never;
509
+ trace?: never;
510
+ };
511
+ "/tenants/{tenantId}/readiness/dimensions": {
512
+ parameters: {
513
+ query?: never;
514
+ header?: never;
515
+ path?: never;
516
+ cookie?: never;
517
+ };
518
+ /** Readiness dimensions catalog */
519
+ get: operations["listReadinessDimensions"];
520
+ put?: never;
521
+ post?: never;
522
+ delete?: never;
523
+ options?: never;
524
+ head?: never;
525
+ patch?: never;
526
+ trace?: never;
527
+ };
528
+ "/tenants/{tenantId}/readiness/fixes": {
529
+ parameters: {
530
+ query?: never;
531
+ header?: never;
532
+ path?: never;
533
+ cookie?: never;
534
+ };
535
+ /** List fix requests */
536
+ get: operations["listReadinessFixes"];
537
+ put?: never;
538
+ /** Enqueue fix for an issue */
539
+ post: operations["postReadinessFix"];
540
+ delete?: never;
541
+ options?: never;
542
+ head?: never;
543
+ patch?: never;
544
+ trace?: never;
545
+ };
546
+ "/tenants/{tenantId}/squad": {
547
+ parameters: {
548
+ query?: never;
549
+ header?: never;
550
+ path?: never;
551
+ cookie?: never;
552
+ };
553
+ /** Get squad configuration */
554
+ get: operations["getSquad"];
555
+ /** Upsert squad */
556
+ put: operations["putSquad"];
557
+ post?: never;
558
+ delete?: never;
559
+ options?: never;
560
+ head?: never;
561
+ patch?: never;
562
+ trace?: never;
563
+ };
564
+ "/tenants/{tenantId}/projects": {
565
+ parameters: {
566
+ query?: never;
567
+ header?: never;
568
+ path?: never;
569
+ cookie?: never;
570
+ };
571
+ /** List projects */
572
+ get: operations["listProjects"];
573
+ put?: never;
574
+ /** Create project */
575
+ post: operations["createProject"];
576
+ delete?: never;
577
+ options?: never;
578
+ head?: never;
579
+ patch?: never;
580
+ trace?: never;
581
+ };
582
+ "/tenants/{tenantId}/projects/{projectId}": {
583
+ parameters: {
584
+ query?: never;
585
+ header?: never;
586
+ path?: never;
587
+ cookie?: never;
588
+ };
589
+ get?: never;
590
+ put?: never;
591
+ post?: never;
592
+ delete?: never;
593
+ options?: never;
594
+ head?: never;
595
+ /** Update project */
596
+ patch: operations["patchProject"];
597
+ trace?: never;
598
+ };
599
+ "/tenants/{tenantId}/notifications": {
600
+ parameters: {
601
+ query?: never;
602
+ header?: never;
603
+ path?: never;
604
+ cookie?: never;
605
+ };
606
+ /** Paginated notifications */
607
+ get: operations["listNotifications"];
608
+ put?: never;
609
+ post?: never;
610
+ delete?: never;
611
+ options?: never;
612
+ head?: never;
613
+ patch?: never;
614
+ trace?: never;
615
+ };
616
+ "/tenants/{tenantId}/notifications/{id}/read": {
617
+ parameters: {
618
+ query?: never;
619
+ header?: never;
620
+ path?: never;
621
+ cookie?: never;
622
+ };
623
+ get?: never;
624
+ put?: never;
625
+ /** Mark notification read */
626
+ post: operations["postNotificationRead"];
627
+ delete?: never;
628
+ options?: never;
629
+ head?: never;
630
+ patch?: never;
631
+ trace?: never;
632
+ };
633
+ "/tenants/{tenantId}/notifications/read-all": {
634
+ parameters: {
635
+ query?: never;
636
+ header?: never;
637
+ path?: never;
638
+ cookie?: never;
639
+ };
640
+ get?: never;
641
+ put?: never;
642
+ /** Mark all notifications read */
643
+ post: operations["postNotificationsReadAll"];
644
+ delete?: never;
645
+ options?: never;
646
+ head?: never;
647
+ patch?: never;
648
+ trace?: never;
649
+ };
650
+ "/tenants/{tenantId}/ai-strategy/recommend": {
651
+ parameters: {
652
+ query?: never;
653
+ header?: never;
654
+ path?: never;
655
+ cookie?: never;
656
+ };
657
+ get?: never;
658
+ put?: never;
659
+ /** Generate AI strategy recommendations */
660
+ post: operations["postAiStrategyRecommend"];
661
+ delete?: never;
662
+ options?: never;
663
+ head?: never;
664
+ patch?: never;
665
+ trace?: never;
666
+ };
667
+ "/tenants/{tenantId}/journey/progress": {
668
+ parameters: {
669
+ query?: never;
670
+ header?: never;
671
+ path?: never;
672
+ cookie?: never;
673
+ };
674
+ /** Journey step completion */
675
+ get: operations["getJourneyProgress"];
676
+ /** Replace completed steps */
677
+ put: operations["putJourneyProgress"];
678
+ post?: never;
679
+ delete?: never;
680
+ options?: never;
681
+ head?: never;
682
+ patch?: never;
683
+ trace?: never;
684
+ };
685
+ "/tenants/{tenantId}/me/preferences": {
686
+ parameters: {
687
+ query?: never;
688
+ header?: never;
689
+ path?: never;
690
+ cookie?: never;
691
+ };
692
+ /** Get preferences for current user in tenant */
693
+ get: operations["getMyPreferences"];
694
+ /** Upsert preferences */
695
+ put: operations["putMyPreferences"];
696
+ post?: never;
697
+ delete?: never;
698
+ options?: never;
699
+ head?: never;
700
+ patch?: never;
701
+ trace?: never;
702
+ };
703
+ "/tenants/{tenantId}/org-chart/import": {
704
+ parameters: {
705
+ query?: never;
706
+ header?: never;
707
+ path?: never;
708
+ cookie?: never;
709
+ };
710
+ get?: never;
711
+ put?: never;
712
+ /** Import org chart from Supabase storage path */
713
+ post: operations["postOrgChartImport"];
714
+ delete?: never;
715
+ options?: never;
716
+ head?: never;
717
+ patch?: never;
718
+ trace?: never;
719
+ };
720
+ }
721
+ export type webhooks = Record<string, never>;
722
+ export interface components {
723
+ schemas: {
724
+ ErrorMessageDto: {
725
+ error: string;
726
+ };
727
+ CreateTenantBodyDto: {
728
+ tenantId: string;
729
+ };
730
+ CreateTenantResponseDto: {
731
+ tenantId: string;
732
+ ok: boolean;
733
+ };
734
+ /** @enum {string} */
735
+ TeamMemberRoleDto: "admin" | "editor" | "viewer";
736
+ TeamMemberDto: {
737
+ id: string;
738
+ name: string;
739
+ email: string;
740
+ role: components["schemas"]["TeamMemberRoleDto"];
741
+ };
742
+ TeamMemberListDto: {
743
+ members: components["schemas"]["TeamMemberDto"][];
744
+ };
745
+ InviteTeamMemberBodyDto: {
746
+ email: string;
747
+ role: components["schemas"]["TeamMemberRoleDto"];
748
+ };
749
+ UpdateTeamMemberRoleBodyDto: {
750
+ role: components["schemas"]["TeamMemberRoleDto"];
751
+ };
752
+ OrgChartTreeNodeDto: {
753
+ id: string;
754
+ name?: string;
755
+ type?: string;
756
+ person_id?: string;
757
+ team?: string;
758
+ role?: string;
759
+ level?: string;
760
+ external_ids?: {
761
+ [key: string]: string;
762
+ };
763
+ children?: components["schemas"]["OrgChartTreeNodeDto"][];
764
+ };
765
+ OrgChartDto: {
766
+ root: components["schemas"]["OrgChartTreeNodeDto"];
767
+ };
768
+ TenantSourceEntryDto: {
769
+ type: string;
770
+ } & {
771
+ [key: string]: unknown;
772
+ };
773
+ TestConnectionResponseDto: {
774
+ success: boolean;
775
+ error?: string;
776
+ };
777
+ /** @description Nested metric groups; see TypeScript `DashboardProductivityMetricsDto` in @thinkai/tai-api-contract. */
778
+ DashboardProductivityMetricsDto: {
779
+ [key: string]: unknown;
780
+ };
781
+ DashboardProductivityDto: {
782
+ tenantId: string;
783
+ /** Format: date-time */
784
+ windowStart: string;
785
+ /** Format: date-time */
786
+ windowEnd: string;
787
+ /** @enum {string} */
788
+ scope: "org" | "team" | "person";
789
+ metrics: components["schemas"]["DashboardProductivityMetricsDto"];
790
+ meta?: {
791
+ [key: string]: unknown;
792
+ };
793
+ };
794
+ DashboardProductivityHistoryDto: {
795
+ buckets: {
796
+ /** Format: date-time */
797
+ bucketStart: string;
798
+ /** Format: date-time */
799
+ bucketEnd: string;
800
+ metrics: components["schemas"]["DashboardProductivityMetricsDto"];
801
+ }[];
802
+ };
803
+ MeProfileDto: {
804
+ id: string;
805
+ email: string;
806
+ name: string;
807
+ roles: string[];
808
+ defaultWorkspaceId?: string | null;
809
+ };
810
+ UpdateMeBodyDto: {
811
+ name?: string;
812
+ email?: string;
813
+ defaultWorkspaceId?: string | null;
814
+ };
815
+ WorkspaceSummaryDto: {
816
+ id: string;
817
+ slug: string;
818
+ name: string;
819
+ status: string;
820
+ };
821
+ WorkspacesForUserDto: {
822
+ workspaces: components["schemas"]["WorkspaceSummaryDto"][];
823
+ };
824
+ CreateWorkspaceBodyDto: {
825
+ slug: string;
826
+ name: string;
827
+ };
828
+ OrganizationDto: {
829
+ workspaceId: string;
830
+ legalName: string;
831
+ industry?: string;
832
+ companySize?: string;
833
+ engineeringHeadcount?: number | null;
834
+ headquarters?: string;
835
+ metadata?: {
836
+ [key: string]: unknown;
837
+ };
838
+ };
839
+ CompanyProfileDto: {
840
+ companyName: string;
841
+ industry: string;
842
+ industryOther?: string;
843
+ /** @description One of 1-50 | 51-200 | 201-500 | 501-1000 | 1000+ */
844
+ companySize: string;
845
+ engineeringHC: string;
846
+ headquarters: string;
847
+ };
848
+ AIReadinessDto: {
849
+ currentUsage: string;
850
+ tools: string[];
851
+ customTools?: string;
852
+ models?: string;
853
+ spend?: string;
854
+ satisfaction: number;
855
+ painPointPhases: string[];
856
+ maturityLevel: number;
857
+ maturityConfirmed: boolean | null;
858
+ challenges?: string;
859
+ goals?: string;
860
+ };
861
+ AiMaturityResultDto: {
862
+ level: number;
863
+ needsConfirmation: boolean;
864
+ };
865
+ TechCategoryDto: {
866
+ items: string[];
867
+ };
868
+ TechStackDto: {
869
+ sourceControl: components["schemas"]["TechCategoryDto"];
870
+ cicd: components["schemas"]["TechCategoryDto"];
871
+ pm: {
872
+ items: string[];
873
+ methodology: string;
874
+ sprintLength: string;
875
+ };
876
+ monitoring: components["schemas"]["TechCategoryDto"];
877
+ knowledgeDocs: components["schemas"]["TechCategoryDto"];
878
+ hrPeople: components["schemas"]["TechCategoryDto"];
879
+ };
880
+ NdaTemplateDto: {
881
+ title: string;
882
+ body: string[];
883
+ };
884
+ NdaSignatureDto: {
885
+ fullName: string;
886
+ date: string;
887
+ ipAddress: string;
888
+ signed: boolean;
889
+ electronicAcknowledgements?: {
890
+ [key: string]: boolean;
891
+ };
892
+ };
893
+ NdaUploadedDocumentDto: {
894
+ fileName: string;
895
+ mimeType: string;
896
+ size: number;
897
+ uploadedAt: string;
898
+ dataUrl?: string;
899
+ };
900
+ NdaCompletionDto: components["schemas"]["NdaCompletionElectronicDto"] | components["schemas"]["NdaCompletionExternalDto"];
901
+ NdaCompletionElectronicDto: {
902
+ /**
903
+ * @description discriminator enum property added by openapi-typescript
904
+ * @enum {string}
905
+ */
906
+ mode: "electronic";
907
+ signature: components["schemas"]["NdaSignatureDto"];
908
+ };
909
+ NdaCompletionExternalDto: {
910
+ /**
911
+ * @description discriminator enum property added by openapi-typescript
912
+ * @enum {string}
913
+ */
914
+ mode: "external";
915
+ attestedAt: string;
916
+ confirmedBy: string;
917
+ /** @enum {boolean} */
918
+ confirmed: true;
919
+ /** @enum {boolean} */
920
+ personalDataDpaAck: true;
921
+ uploadedDocument: components["schemas"]["NdaUploadedDocumentDto"];
922
+ };
923
+ NdaExternalBodyDto: {
924
+ confirmedBy: string;
925
+ personalDataDpaAck: boolean;
926
+ /** @description Path in `nda-documents` bucket after Supabase upload */
927
+ storagePath: string;
928
+ };
929
+ ReadinessDimensionDto: {
930
+ id: string;
931
+ name: string;
932
+ description: string;
933
+ maxScore: number;
934
+ };
935
+ ReadinessIssueDto: {
936
+ id: string;
937
+ dimensionId: string;
938
+ /** @enum {string} */
939
+ severity: "critical" | "high" | "medium" | "low";
940
+ title: string;
941
+ description: string;
942
+ filePath?: string;
943
+ /** @enum {string} */
944
+ fixStatus: "open" | "pr-pending" | "fixed";
945
+ };
946
+ DimensionScoreDto: {
947
+ dimensionId: string;
948
+ score: number;
949
+ maxScore: number;
950
+ issues: components["schemas"]["ReadinessIssueDto"][];
951
+ };
952
+ RepoReadinessScoreDto: {
953
+ repoId: string;
954
+ repoName: string;
955
+ language: string;
956
+ overallScore: number;
957
+ dimensions: components["schemas"]["DimensionScoreDto"][];
958
+ /** Format: date-time */
959
+ lastAnalyzed: string;
960
+ teamId?: string;
961
+ };
962
+ FixRequestDto: {
963
+ id: string;
964
+ issueId: string;
965
+ repoId: string;
966
+ repoName: string;
967
+ issueTitle: string;
968
+ dimensionId: string;
969
+ /** @enum {string} */
970
+ severity: "critical" | "high" | "medium" | "low";
971
+ /** @enum {string} */
972
+ status: "queued" | "generating" | "pr-created" | "merged";
973
+ prUrl?: string;
974
+ /** Format: date-time */
975
+ createdAt: string;
976
+ };
977
+ CreateFixRequestBodyDto: {
978
+ issueId: string;
979
+ repoId: string;
980
+ };
981
+ PhaseRoleDto: {
982
+ phase: string;
983
+ /** @enum {string} */
984
+ assignment: "orchestrate" | "review" | "both" | "none";
985
+ };
986
+ SquadMemberDto: {
987
+ id: string;
988
+ role: string;
989
+ roleLabel: string;
990
+ name?: string;
991
+ description: string;
992
+ count: number;
993
+ phases: components["schemas"]["PhaseRoleDto"][];
994
+ custom?: boolean;
995
+ };
996
+ CustomWorkStreamTaskDto: {
997
+ id: string;
998
+ name: string;
999
+ summary: string;
1000
+ };
1001
+ PhaseWorkStreamConfigDto: {
1002
+ deselectedCatalogIds?: string[];
1003
+ customTasks?: components["schemas"]["CustomWorkStreamTaskDto"][];
1004
+ };
1005
+ SquadDto: {
1006
+ members: components["schemas"]["SquadMemberDto"][];
1007
+ hrConnected: boolean;
1008
+ selectedPhases?: string[];
1009
+ phaseWorkStreams?: {
1010
+ [key: string]: components["schemas"]["PhaseWorkStreamConfigDto"];
1011
+ };
1012
+ };
1013
+ WorkflowDto: {
1014
+ id: string;
1015
+ name: string;
1016
+ kinds: ("greenfield" | "brownfield")[];
1017
+ typeDescription: string;
1018
+ roles: string[];
1019
+ };
1020
+ ProjectDto: {
1021
+ id: string;
1022
+ name: string;
1023
+ description: string;
1024
+ startDate: string;
1025
+ workflows: components["schemas"]["WorkflowDto"][];
1026
+ /** Format: date-time */
1027
+ createdAt: string;
1028
+ };
1029
+ /** @description Partial update; all properties optional */
1030
+ ProjectPatchDto: {
1031
+ id?: string;
1032
+ name?: string;
1033
+ description?: string;
1034
+ startDate?: string;
1035
+ workflows?: components["schemas"]["WorkflowDto"][];
1036
+ /** Format: date-time */
1037
+ createdAt?: string;
1038
+ };
1039
+ NotificationDto: {
1040
+ id: string;
1041
+ /** @enum {string} */
1042
+ type: "status" | "comment" | "activity" | "integration" | "system";
1043
+ title: string;
1044
+ message: string;
1045
+ read: boolean;
1046
+ /** Format: date-time */
1047
+ createdAt: string;
1048
+ route?: string;
1049
+ };
1050
+ NotificationListDto: {
1051
+ items: components["schemas"]["NotificationDto"][];
1052
+ total: number;
1053
+ };
1054
+ ReviewQueueItemDto: {
1055
+ id: string;
1056
+ client: string;
1057
+ project: string;
1058
+ workflows: ("greenfield" | "brownfield")[];
1059
+ /** Format: date-time */
1060
+ submittedAt: string;
1061
+ reviewer: string | null;
1062
+ /** @enum {string} */
1063
+ status: "pending" | "in_review" | "approved" | "changes_requested";
1064
+ /** @enum {string} */
1065
+ priority: "high" | "medium" | "low";
1066
+ };
1067
+ AdminDashboardDto: {
1068
+ queue: components["schemas"]["ReviewQueueItemDto"][];
1069
+ reviewers: string[];
1070
+ };
1071
+ PatchAdminReviewBodyDto: {
1072
+ /** @enum {string} */
1073
+ status?: "pending" | "in_review" | "approved" | "changes_requested";
1074
+ reviewer?: string;
1075
+ /** @enum {string} */
1076
+ priority?: "high" | "medium" | "low";
1077
+ };
1078
+ CommentDto: {
1079
+ id: string;
1080
+ sectionId: string;
1081
+ author: string;
1082
+ text: string;
1083
+ /** Format: date-time */
1084
+ timestamp: string;
1085
+ };
1086
+ AdminCommentBodyDto: {
1087
+ text: string;
1088
+ };
1089
+ SectionDecisionBodyDto: {
1090
+ /** @enum {string} */
1091
+ decision: "pending" | "approved" | "changes_requested" | "rejected";
1092
+ };
1093
+ PricingLineDto: {
1094
+ id: string;
1095
+ label: string;
1096
+ rate: number;
1097
+ hours: number;
1098
+ };
1099
+ PricingUpdateBodyDto: {
1100
+ items: {
1101
+ id: string;
1102
+ rate: number;
1103
+ hours: number;
1104
+ }[];
1105
+ };
1106
+ DeploymentPlanDto: {
1107
+ startDate: string;
1108
+ endDate: string;
1109
+ milestones: string[];
1110
+ };
1111
+ ReviewSectionDto: {
1112
+ id: string;
1113
+ label: string;
1114
+ detail: string;
1115
+ /** @enum {string} */
1116
+ decision: "pending" | "approved" | "changes_requested" | "rejected";
1117
+ comments: components["schemas"]["CommentDto"][];
1118
+ };
1119
+ ReviewSubmissionDto: {
1120
+ id: string;
1121
+ client: string;
1122
+ project: string;
1123
+ workflows: ("greenfield" | "brownfield")[];
1124
+ /** @enum {string} */
1125
+ status: "pending" | "in_review" | "approved" | "changes_requested";
1126
+ isResubmission: boolean;
1127
+ context: {
1128
+ text: string;
1129
+ }[];
1130
+ sections: components["schemas"]["ReviewSectionDto"][];
1131
+ pricing: components["schemas"]["PricingLineDto"][];
1132
+ deployment: components["schemas"]["DeploymentPlanDto"];
1133
+ };
1134
+ EffectiveTaskRowDto: {
1135
+ id: string;
1136
+ name: string;
1137
+ summary: string;
1138
+ /** @enum {string} */
1139
+ source: "catalog" | "custom";
1140
+ };
1141
+ EffectivePhaseTasksBlockDto: {
1142
+ phaseName: string;
1143
+ icon: string;
1144
+ tasks: components["schemas"]["EffectiveTaskRowDto"][];
1145
+ };
1146
+ AiStrategyRecommendBodyDto: {
1147
+ phases: components["schemas"]["EffectivePhaseTasksBlockDto"][];
1148
+ };
1149
+ AiStrategyTaskRecommendationDto: {
1150
+ taskId: string;
1151
+ taskName: string;
1152
+ summary: string;
1153
+ /** @enum {string} */
1154
+ source: "catalog" | "custom";
1155
+ tool: string;
1156
+ /** @enum {string} */
1157
+ engagement: "AI assisted" | "AI delegated";
1158
+ rationale?: string;
1159
+ };
1160
+ AiStrategyPhaseBlockDto: {
1161
+ phaseName: string;
1162
+ icon: string;
1163
+ tasks: components["schemas"]["AiStrategyTaskRecommendationDto"][];
1164
+ };
1165
+ AiStrategyPlanDto: {
1166
+ phases: components["schemas"]["AiStrategyPhaseBlockDto"][];
1167
+ };
1168
+ JourneyProgressDto: {
1169
+ completedSteps: string[];
1170
+ /** Format: date-time */
1171
+ updatedAt: string;
1172
+ };
1173
+ JourneyProgressUpdateDto: {
1174
+ completedSteps: string[];
1175
+ };
1176
+ PreferencesDto: {
1177
+ /** @enum {string} */
1178
+ theme: "light" | "dark" | "system";
1179
+ sidebarCollapsed: boolean;
1180
+ /** @description IANA timezone name */
1181
+ timezone: string;
1182
+ notifications: {
1183
+ status: boolean;
1184
+ comment: boolean;
1185
+ activity: boolean;
1186
+ system: boolean;
1187
+ };
1188
+ };
1189
+ OrgChartImportBodyDto: {
1190
+ /** @description Path in `org-charts` bucket after Supabase upload */
1191
+ storagePath: string;
1192
+ };
1193
+ };
1194
+ responses: {
1195
+ /** @description Missing or invalid bearer token */
1196
+ Unauthorized: {
1197
+ headers: {
1198
+ [name: string]: unknown;
1199
+ };
1200
+ content: {
1201
+ "application/json": components["schemas"]["ErrorMessageDto"];
1202
+ };
1203
+ };
1204
+ /** @description Authenticated but not allowed */
1205
+ Forbidden: {
1206
+ headers: {
1207
+ [name: string]: unknown;
1208
+ };
1209
+ content: {
1210
+ "application/json": components["schemas"]["ErrorMessageDto"];
1211
+ };
1212
+ };
1213
+ };
1214
+ parameters: {
1215
+ TenantId: string;
1216
+ RepoId: string;
1217
+ ProjectId: string;
1218
+ ReviewId: string;
1219
+ SectionId: string;
1220
+ NotificationId: string;
1221
+ };
1222
+ requestBodies: never;
1223
+ headers: never;
1224
+ pathItems: never;
1225
+ }
1226
+ export type ErrorMessageDto = components['schemas']['ErrorMessageDto'];
1227
+ export type CreateTenantBodyDto = components['schemas']['CreateTenantBodyDto'];
1228
+ export type CreateTenantResponseDto = components['schemas']['CreateTenantResponseDto'];
1229
+ export type TeamMemberRoleDto = components['schemas']['TeamMemberRoleDto'];
1230
+ export type TeamMemberDto = components['schemas']['TeamMemberDto'];
1231
+ export type TeamMemberListDto = components['schemas']['TeamMemberListDto'];
1232
+ export type InviteTeamMemberBodyDto = components['schemas']['InviteTeamMemberBodyDto'];
1233
+ export type UpdateTeamMemberRoleBodyDto = components['schemas']['UpdateTeamMemberRoleBodyDto'];
1234
+ export type OrgChartTreeNodeDto = components['schemas']['OrgChartTreeNodeDto'];
1235
+ export type OrgChartDto = components['schemas']['OrgChartDto'];
1236
+ export type TenantSourceEntryDto = components['schemas']['TenantSourceEntryDto'];
1237
+ export type TestConnectionResponseDto = components['schemas']['TestConnectionResponseDto'];
1238
+ export type DashboardProductivityMetricsDto = components['schemas']['DashboardProductivityMetricsDto'];
1239
+ export type DashboardProductivityDto = components['schemas']['DashboardProductivityDto'];
1240
+ export type DashboardProductivityHistoryDto = components['schemas']['DashboardProductivityHistoryDto'];
1241
+ export type MeProfileDto = components['schemas']['MeProfileDto'];
1242
+ export type UpdateMeBodyDto = components['schemas']['UpdateMeBodyDto'];
1243
+ export type WorkspaceSummaryDto = components['schemas']['WorkspaceSummaryDto'];
1244
+ export type WorkspacesForUserDto = components['schemas']['WorkspacesForUserDto'];
1245
+ export type CreateWorkspaceBodyDto = components['schemas']['CreateWorkspaceBodyDto'];
1246
+ export type OrganizationDto = components['schemas']['OrganizationDto'];
1247
+ export type CompanyProfileDto = components['schemas']['CompanyProfileDto'];
1248
+ export type AiReadinessDto = components['schemas']['AIReadinessDto'];
1249
+ export type AiMaturityResultDto = components['schemas']['AiMaturityResultDto'];
1250
+ export type TechCategoryDto = components['schemas']['TechCategoryDto'];
1251
+ export type TechStackDto = components['schemas']['TechStackDto'];
1252
+ export type NdaTemplateDto = components['schemas']['NdaTemplateDto'];
1253
+ export type NdaSignatureDto = components['schemas']['NdaSignatureDto'];
1254
+ export type NdaUploadedDocumentDto = components['schemas']['NdaUploadedDocumentDto'];
1255
+ export type NdaCompletionDto = components['schemas']['NdaCompletionDto'];
1256
+ export type NdaCompletionElectronicDto = components['schemas']['NdaCompletionElectronicDto'];
1257
+ export type NdaCompletionExternalDto = components['schemas']['NdaCompletionExternalDto'];
1258
+ export type NdaExternalBodyDto = components['schemas']['NdaExternalBodyDto'];
1259
+ export type ReadinessDimensionDto = components['schemas']['ReadinessDimensionDto'];
1260
+ export type ReadinessIssueDto = components['schemas']['ReadinessIssueDto'];
1261
+ export type DimensionScoreDto = components['schemas']['DimensionScoreDto'];
1262
+ export type RepoReadinessScoreDto = components['schemas']['RepoReadinessScoreDto'];
1263
+ export type FixRequestDto = components['schemas']['FixRequestDto'];
1264
+ export type CreateFixRequestBodyDto = components['schemas']['CreateFixRequestBodyDto'];
1265
+ export type PhaseRoleDto = components['schemas']['PhaseRoleDto'];
1266
+ export type SquadMemberDto = components['schemas']['SquadMemberDto'];
1267
+ export type CustomWorkStreamTaskDto = components['schemas']['CustomWorkStreamTaskDto'];
1268
+ export type PhaseWorkStreamConfigDto = components['schemas']['PhaseWorkStreamConfigDto'];
1269
+ export type SquadDto = components['schemas']['SquadDto'];
1270
+ export type WorkflowDto = components['schemas']['WorkflowDto'];
1271
+ export type ProjectDto = components['schemas']['ProjectDto'];
1272
+ export type ProjectPatchDto = components['schemas']['ProjectPatchDto'];
1273
+ export type NotificationDto = components['schemas']['NotificationDto'];
1274
+ export type NotificationListDto = components['schemas']['NotificationListDto'];
1275
+ export type ReviewQueueItemDto = components['schemas']['ReviewQueueItemDto'];
1276
+ export type AdminDashboardDto = components['schemas']['AdminDashboardDto'];
1277
+ export type PatchAdminReviewBodyDto = components['schemas']['PatchAdminReviewBodyDto'];
1278
+ export type CommentDto = components['schemas']['CommentDto'];
1279
+ export type AdminCommentBodyDto = components['schemas']['AdminCommentBodyDto'];
1280
+ export type SectionDecisionBodyDto = components['schemas']['SectionDecisionBodyDto'];
1281
+ export type PricingLineDto = components['schemas']['PricingLineDto'];
1282
+ export type PricingUpdateBodyDto = components['schemas']['PricingUpdateBodyDto'];
1283
+ export type DeploymentPlanDto = components['schemas']['DeploymentPlanDto'];
1284
+ export type ReviewSectionDto = components['schemas']['ReviewSectionDto'];
1285
+ export type ReviewSubmissionDto = components['schemas']['ReviewSubmissionDto'];
1286
+ export type EffectiveTaskRowDto = components['schemas']['EffectiveTaskRowDto'];
1287
+ export type EffectivePhaseTasksBlockDto = components['schemas']['EffectivePhaseTasksBlockDto'];
1288
+ export type AiStrategyRecommendBodyDto = components['schemas']['AiStrategyRecommendBodyDto'];
1289
+ export type AiStrategyTaskRecommendationDto = components['schemas']['AiStrategyTaskRecommendationDto'];
1290
+ export type AiStrategyPhaseBlockDto = components['schemas']['AiStrategyPhaseBlockDto'];
1291
+ export type AiStrategyPlanDto = components['schemas']['AiStrategyPlanDto'];
1292
+ export type JourneyProgressDto = components['schemas']['JourneyProgressDto'];
1293
+ export type JourneyProgressUpdateDto = components['schemas']['JourneyProgressUpdateDto'];
1294
+ export type PreferencesDto = components['schemas']['PreferencesDto'];
1295
+ export type OrgChartImportBodyDto = components['schemas']['OrgChartImportBodyDto'];
1296
+ export type ResponseUnauthorized = components['responses']['Unauthorized'];
1297
+ export type ResponseForbidden = components['responses']['Forbidden'];
1298
+ export type ParameterTenantId = components['parameters']['TenantId'];
1299
+ export type ParameterRepoId = components['parameters']['RepoId'];
1300
+ export type ParameterProjectId = components['parameters']['ProjectId'];
1301
+ export type ParameterReviewId = components['parameters']['ReviewId'];
1302
+ export type ParameterSectionId = components['parameters']['SectionId'];
1303
+ export type ParameterNotificationId = components['parameters']['NotificationId'];
1304
+ export type $defs = Record<string, never>;
1305
+ export interface operations {
1306
+ createTenant: {
1307
+ parameters: {
1308
+ query?: never;
1309
+ header?: never;
1310
+ path?: never;
1311
+ cookie?: never;
1312
+ };
1313
+ requestBody: {
1314
+ content: {
1315
+ "application/json": components["schemas"]["CreateTenantBodyDto"];
1316
+ };
1317
+ };
1318
+ responses: {
1319
+ /** @description Tenant created or acknowledged (idempotent; same body if already existed) */
1320
+ 201: {
1321
+ headers: {
1322
+ [name: string]: unknown;
1323
+ };
1324
+ content: {
1325
+ "application/json": components["schemas"]["CreateTenantResponseDto"];
1326
+ };
1327
+ };
1328
+ 401: components["responses"]["Unauthorized"];
1329
+ };
1330
+ };
1331
+ getMe: {
1332
+ parameters: {
1333
+ query?: never;
1334
+ header?: never;
1335
+ path?: never;
1336
+ cookie?: never;
1337
+ };
1338
+ requestBody?: never;
1339
+ responses: {
1340
+ /** @description Profile */
1341
+ 200: {
1342
+ headers: {
1343
+ [name: string]: unknown;
1344
+ };
1345
+ content: {
1346
+ "application/json": components["schemas"]["MeProfileDto"];
1347
+ };
1348
+ };
1349
+ 401: components["responses"]["Unauthorized"];
1350
+ };
1351
+ };
1352
+ updateMe: {
1353
+ parameters: {
1354
+ query?: never;
1355
+ header?: never;
1356
+ path?: never;
1357
+ cookie?: never;
1358
+ };
1359
+ requestBody: {
1360
+ content: {
1361
+ "application/json": components["schemas"]["UpdateMeBodyDto"];
1362
+ };
1363
+ };
1364
+ responses: {
1365
+ /** @description Updated */
1366
+ 204: {
1367
+ headers: {
1368
+ [name: string]: unknown;
1369
+ };
1370
+ content?: never;
1371
+ };
1372
+ 401: components["responses"]["Unauthorized"];
1373
+ };
1374
+ };
1375
+ listMyWorkspaces: {
1376
+ parameters: {
1377
+ query?: never;
1378
+ header?: never;
1379
+ path?: never;
1380
+ cookie?: never;
1381
+ };
1382
+ requestBody?: never;
1383
+ responses: {
1384
+ /** @description Workspace list for switcher */
1385
+ 200: {
1386
+ headers: {
1387
+ [name: string]: unknown;
1388
+ };
1389
+ content: {
1390
+ "application/json": components["schemas"]["WorkspacesForUserDto"];
1391
+ };
1392
+ };
1393
+ 401: components["responses"]["Unauthorized"];
1394
+ };
1395
+ };
1396
+ createWorkspace: {
1397
+ parameters: {
1398
+ query?: never;
1399
+ header?: never;
1400
+ path?: never;
1401
+ cookie?: never;
1402
+ };
1403
+ requestBody: {
1404
+ content: {
1405
+ "application/json": components["schemas"]["CreateWorkspaceBodyDto"];
1406
+ };
1407
+ };
1408
+ responses: {
1409
+ /** @description Workspace created */
1410
+ 201: {
1411
+ headers: {
1412
+ [name: string]: unknown;
1413
+ };
1414
+ content: {
1415
+ "application/json": components["schemas"]["WorkspaceSummaryDto"];
1416
+ };
1417
+ };
1418
+ 401: components["responses"]["Unauthorized"];
1419
+ };
1420
+ };
1421
+ getWorkspaceOrganization: {
1422
+ parameters: {
1423
+ query?: never;
1424
+ header?: never;
1425
+ path: {
1426
+ workspaceId: string;
1427
+ };
1428
+ cookie?: never;
1429
+ };
1430
+ requestBody?: never;
1431
+ responses: {
1432
+ /** @description Organization profile or null if unset */
1433
+ 200: {
1434
+ headers: {
1435
+ [name: string]: unknown;
1436
+ };
1437
+ content: {
1438
+ "application/json": components["schemas"]["OrganizationDto"];
1439
+ };
1440
+ };
1441
+ 401: components["responses"]["Unauthorized"];
1442
+ };
1443
+ };
1444
+ putWorkspaceOrganization: {
1445
+ parameters: {
1446
+ query?: never;
1447
+ header?: never;
1448
+ path: {
1449
+ workspaceId: string;
1450
+ };
1451
+ cookie?: never;
1452
+ };
1453
+ requestBody: {
1454
+ content: {
1455
+ "application/json": components["schemas"]["OrganizationDto"];
1456
+ };
1457
+ };
1458
+ responses: {
1459
+ /** @description Updated */
1460
+ 204: {
1461
+ headers: {
1462
+ [name: string]: unknown;
1463
+ };
1464
+ content?: never;
1465
+ };
1466
+ 401: components["responses"]["Unauthorized"];
1467
+ };
1468
+ };
1469
+ listTenantMembers: {
1470
+ parameters: {
1471
+ query?: never;
1472
+ header?: never;
1473
+ path: {
1474
+ tenantId: components["parameters"]["TenantId"];
1475
+ };
1476
+ cookie?: never;
1477
+ };
1478
+ requestBody?: never;
1479
+ responses: {
1480
+ /** @description Team members for tenant */
1481
+ 200: {
1482
+ headers: {
1483
+ [name: string]: unknown;
1484
+ };
1485
+ content: {
1486
+ "application/json": components["schemas"]["TeamMemberListDto"];
1487
+ };
1488
+ };
1489
+ 401: components["responses"]["Unauthorized"];
1490
+ 403: components["responses"]["Forbidden"];
1491
+ };
1492
+ };
1493
+ inviteTenantMember: {
1494
+ parameters: {
1495
+ query?: never;
1496
+ header?: never;
1497
+ path: {
1498
+ tenantId: components["parameters"]["TenantId"];
1499
+ };
1500
+ cookie?: never;
1501
+ };
1502
+ requestBody: {
1503
+ content: {
1504
+ "application/json": components["schemas"]["InviteTeamMemberBodyDto"];
1505
+ };
1506
+ };
1507
+ responses: {
1508
+ /** @description Invited member row */
1509
+ 201: {
1510
+ headers: {
1511
+ [name: string]: unknown;
1512
+ };
1513
+ content: {
1514
+ "application/json": components["schemas"]["TeamMemberDto"];
1515
+ };
1516
+ };
1517
+ 401: components["responses"]["Unauthorized"];
1518
+ 403: components["responses"]["Forbidden"];
1519
+ };
1520
+ };
1521
+ removeTenantMember: {
1522
+ parameters: {
1523
+ query?: never;
1524
+ header?: never;
1525
+ path: {
1526
+ tenantId: components["parameters"]["TenantId"];
1527
+ memberId: string;
1528
+ };
1529
+ cookie?: never;
1530
+ };
1531
+ requestBody?: never;
1532
+ responses: {
1533
+ /** @description Removed */
1534
+ 204: {
1535
+ headers: {
1536
+ [name: string]: unknown;
1537
+ };
1538
+ content?: never;
1539
+ };
1540
+ 401: components["responses"]["Unauthorized"];
1541
+ 403: components["responses"]["Forbidden"];
1542
+ /** @description Member not found */
1543
+ 404: {
1544
+ headers: {
1545
+ [name: string]: unknown;
1546
+ };
1547
+ content?: never;
1548
+ };
1549
+ };
1550
+ };
1551
+ updateTenantMemberRole: {
1552
+ parameters: {
1553
+ query?: never;
1554
+ header?: never;
1555
+ path: {
1556
+ tenantId: components["parameters"]["TenantId"];
1557
+ memberId: string;
1558
+ };
1559
+ cookie?: never;
1560
+ };
1561
+ requestBody: {
1562
+ content: {
1563
+ "application/json": components["schemas"]["UpdateTeamMemberRoleBodyDto"];
1564
+ };
1565
+ };
1566
+ responses: {
1567
+ /** @description Updated member row */
1568
+ 200: {
1569
+ headers: {
1570
+ [name: string]: unknown;
1571
+ };
1572
+ content: {
1573
+ "application/json": components["schemas"]["TeamMemberDto"];
1574
+ };
1575
+ };
1576
+ 401: components["responses"]["Unauthorized"];
1577
+ 403: components["responses"]["Forbidden"];
1578
+ /** @description Member not found */
1579
+ 404: {
1580
+ headers: {
1581
+ [name: string]: unknown;
1582
+ };
1583
+ content?: never;
1584
+ };
1585
+ };
1586
+ };
1587
+ getTenantOrgChart: {
1588
+ parameters: {
1589
+ query?: {
1590
+ withScores?: boolean;
1591
+ };
1592
+ header?: never;
1593
+ path: {
1594
+ tenantId: components["parameters"]["TenantId"];
1595
+ };
1596
+ cookie?: never;
1597
+ };
1598
+ requestBody?: never;
1599
+ responses: {
1600
+ /** @description Org chart (optionally with per-node scores) */
1601
+ 200: {
1602
+ headers: {
1603
+ [name: string]: unknown;
1604
+ };
1605
+ content: {
1606
+ "application/json": components["schemas"]["OrgChartDto"];
1607
+ };
1608
+ };
1609
+ 401: components["responses"]["Unauthorized"];
1610
+ /** @description Tenant not found */
1611
+ 404: {
1612
+ headers: {
1613
+ [name: string]: unknown;
1614
+ };
1615
+ content?: never;
1616
+ };
1617
+ };
1618
+ };
1619
+ postTenantOrgChart: {
1620
+ parameters: {
1621
+ query?: never;
1622
+ header?: never;
1623
+ path: {
1624
+ tenantId: components["parameters"]["TenantId"];
1625
+ };
1626
+ cookie?: never;
1627
+ };
1628
+ requestBody: {
1629
+ content: {
1630
+ "application/json": components["schemas"]["OrgChartDto"];
1631
+ };
1632
+ };
1633
+ responses: {
1634
+ /** @description Saved */
1635
+ 200: {
1636
+ headers: {
1637
+ [name: string]: unknown;
1638
+ };
1639
+ content: {
1640
+ "application/json": {
1641
+ ok: boolean;
1642
+ tenantId: string;
1643
+ };
1644
+ };
1645
+ };
1646
+ 401: components["responses"]["Unauthorized"];
1647
+ };
1648
+ };
1649
+ putTenantSources: {
1650
+ parameters: {
1651
+ query?: never;
1652
+ header?: never;
1653
+ path: {
1654
+ tenantId: components["parameters"]["TenantId"];
1655
+ };
1656
+ cookie?: never;
1657
+ };
1658
+ requestBody: {
1659
+ content: {
1660
+ "application/json": {
1661
+ sources: components["schemas"]["TenantSourceEntryDto"][];
1662
+ };
1663
+ };
1664
+ };
1665
+ responses: {
1666
+ /** @description Saved */
1667
+ 200: {
1668
+ headers: {
1669
+ [name: string]: unknown;
1670
+ };
1671
+ content: {
1672
+ "application/json": {
1673
+ ok: boolean;
1674
+ tenantId: string;
1675
+ };
1676
+ };
1677
+ };
1678
+ 401: components["responses"]["Unauthorized"];
1679
+ };
1680
+ };
1681
+ postTenantSourceTest: {
1682
+ parameters: {
1683
+ query?: never;
1684
+ header?: never;
1685
+ path: {
1686
+ tenantId: components["parameters"]["TenantId"];
1687
+ };
1688
+ cookie?: never;
1689
+ };
1690
+ requestBody: {
1691
+ content: {
1692
+ "application/json": components["schemas"]["TenantSourceEntryDto"];
1693
+ };
1694
+ };
1695
+ responses: {
1696
+ /** @description Connection test result */
1697
+ 200: {
1698
+ headers: {
1699
+ [name: string]: unknown;
1700
+ };
1701
+ content: {
1702
+ "application/json": components["schemas"]["TestConnectionResponseDto"];
1703
+ };
1704
+ };
1705
+ /** @description Invalid body or missing env for token refs */
1706
+ 400: {
1707
+ headers: {
1708
+ [name: string]: unknown;
1709
+ };
1710
+ content?: never;
1711
+ };
1712
+ 401: components["responses"]["Unauthorized"];
1713
+ };
1714
+ };
1715
+ getDashboardProductivity: {
1716
+ parameters: {
1717
+ query?: {
1718
+ scope?: "org" | "team" | "person";
1719
+ teamId?: string;
1720
+ personId?: string;
1721
+ windowEnd?: string;
1722
+ };
1723
+ header?: never;
1724
+ path: {
1725
+ tenantId: components["parameters"]["TenantId"];
1726
+ };
1727
+ cookie?: never;
1728
+ };
1729
+ requestBody?: never;
1730
+ responses: {
1731
+ /** @description Productivity metrics */
1732
+ 200: {
1733
+ headers: {
1734
+ [name: string]: unknown;
1735
+ };
1736
+ content: {
1737
+ "application/json": components["schemas"]["DashboardProductivityDto"];
1738
+ };
1739
+ };
1740
+ 401: components["responses"]["Unauthorized"];
1741
+ };
1742
+ };
1743
+ getDashboardProductivityHistory: {
1744
+ parameters: {
1745
+ query?: {
1746
+ bucket?: "day" | "week" | "month";
1747
+ limit?: number;
1748
+ scope?: "org" | "team" | "person";
1749
+ teamId?: string;
1750
+ personId?: string;
1751
+ windowEnd?: string;
1752
+ };
1753
+ header?: never;
1754
+ path: {
1755
+ tenantId: components["parameters"]["TenantId"];
1756
+ };
1757
+ cookie?: never;
1758
+ };
1759
+ requestBody?: never;
1760
+ responses: {
1761
+ /** @description Bucketed history */
1762
+ 200: {
1763
+ headers: {
1764
+ [name: string]: unknown;
1765
+ };
1766
+ content: {
1767
+ "application/json": components["schemas"]["DashboardProductivityHistoryDto"];
1768
+ };
1769
+ };
1770
+ 401: components["responses"]["Unauthorized"];
1771
+ };
1772
+ };
1773
+ listAdminReviews: {
1774
+ parameters: {
1775
+ query?: {
1776
+ status?: string;
1777
+ priority?: string;
1778
+ reviewer?: string;
1779
+ };
1780
+ header?: never;
1781
+ path?: never;
1782
+ cookie?: never;
1783
+ };
1784
+ requestBody?: never;
1785
+ responses: {
1786
+ /** @description Queue and reviewer list */
1787
+ 200: {
1788
+ headers: {
1789
+ [name: string]: unknown;
1790
+ };
1791
+ content: {
1792
+ "application/json": components["schemas"]["AdminDashboardDto"];
1793
+ };
1794
+ };
1795
+ 401: components["responses"]["Unauthorized"];
1796
+ 403: components["responses"]["Forbidden"];
1797
+ };
1798
+ };
1799
+ getAdminReview: {
1800
+ parameters: {
1801
+ query?: never;
1802
+ header?: never;
1803
+ path: {
1804
+ id: components["parameters"]["ReviewId"];
1805
+ };
1806
+ cookie?: never;
1807
+ };
1808
+ requestBody?: never;
1809
+ responses: {
1810
+ /** @description Review detail */
1811
+ 200: {
1812
+ headers: {
1813
+ [name: string]: unknown;
1814
+ };
1815
+ content: {
1816
+ "application/json": components["schemas"]["ReviewSubmissionDto"];
1817
+ };
1818
+ };
1819
+ 401: components["responses"]["Unauthorized"];
1820
+ 403: components["responses"]["Forbidden"];
1821
+ };
1822
+ };
1823
+ patchAdminReview: {
1824
+ parameters: {
1825
+ query?: never;
1826
+ header?: never;
1827
+ path: {
1828
+ id: components["parameters"]["ReviewId"];
1829
+ };
1830
+ cookie?: never;
1831
+ };
1832
+ requestBody: {
1833
+ content: {
1834
+ "application/json": components["schemas"]["PatchAdminReviewBodyDto"];
1835
+ };
1836
+ };
1837
+ responses: {
1838
+ /** @description Updated review */
1839
+ 200: {
1840
+ headers: {
1841
+ [name: string]: unknown;
1842
+ };
1843
+ content: {
1844
+ "application/json": components["schemas"]["ReviewSubmissionDto"];
1845
+ };
1846
+ };
1847
+ 401: components["responses"]["Unauthorized"];
1848
+ 403: components["responses"]["Forbidden"];
1849
+ };
1850
+ };
1851
+ postAdminReviewComment: {
1852
+ parameters: {
1853
+ query?: never;
1854
+ header?: never;
1855
+ path: {
1856
+ id: components["parameters"]["ReviewId"];
1857
+ sectionId: components["parameters"]["SectionId"];
1858
+ };
1859
+ cookie?: never;
1860
+ };
1861
+ requestBody: {
1862
+ content: {
1863
+ "application/json": components["schemas"]["AdminCommentBodyDto"];
1864
+ };
1865
+ };
1866
+ responses: {
1867
+ /** @description Created comment */
1868
+ 200: {
1869
+ headers: {
1870
+ [name: string]: unknown;
1871
+ };
1872
+ content: {
1873
+ "application/json": components["schemas"]["CommentDto"];
1874
+ };
1875
+ };
1876
+ 401: components["responses"]["Unauthorized"];
1877
+ 403: components["responses"]["Forbidden"];
1878
+ };
1879
+ };
1880
+ putAdminReviewSectionDecision: {
1881
+ parameters: {
1882
+ query?: never;
1883
+ header?: never;
1884
+ path: {
1885
+ id: components["parameters"]["ReviewId"];
1886
+ sectionId: components["parameters"]["SectionId"];
1887
+ };
1888
+ cookie?: never;
1889
+ };
1890
+ requestBody: {
1891
+ content: {
1892
+ "application/json": components["schemas"]["SectionDecisionBodyDto"];
1893
+ };
1894
+ };
1895
+ responses: {
1896
+ /** @description Saved */
1897
+ 204: {
1898
+ headers: {
1899
+ [name: string]: unknown;
1900
+ };
1901
+ content?: never;
1902
+ };
1903
+ 401: components["responses"]["Unauthorized"];
1904
+ 403: components["responses"]["Forbidden"];
1905
+ };
1906
+ };
1907
+ putAdminReviewPricing: {
1908
+ parameters: {
1909
+ query?: never;
1910
+ header?: never;
1911
+ path: {
1912
+ id: components["parameters"]["ReviewId"];
1913
+ };
1914
+ cookie?: never;
1915
+ };
1916
+ requestBody: {
1917
+ content: {
1918
+ "application/json": components["schemas"]["PricingUpdateBodyDto"];
1919
+ };
1920
+ };
1921
+ responses: {
1922
+ /** @description Saved */
1923
+ 204: {
1924
+ headers: {
1925
+ [name: string]: unknown;
1926
+ };
1927
+ content?: never;
1928
+ };
1929
+ 401: components["responses"]["Unauthorized"];
1930
+ 403: components["responses"]["Forbidden"];
1931
+ };
1932
+ };
1933
+ putAdminReviewDeployment: {
1934
+ parameters: {
1935
+ query?: never;
1936
+ header?: never;
1937
+ path: {
1938
+ id: components["parameters"]["ReviewId"];
1939
+ };
1940
+ cookie?: never;
1941
+ };
1942
+ requestBody: {
1943
+ content: {
1944
+ "application/json": components["schemas"]["DeploymentPlanDto"];
1945
+ };
1946
+ };
1947
+ responses: {
1948
+ /** @description Saved */
1949
+ 204: {
1950
+ headers: {
1951
+ [name: string]: unknown;
1952
+ };
1953
+ content?: never;
1954
+ };
1955
+ 401: components["responses"]["Unauthorized"];
1956
+ 403: components["responses"]["Forbidden"];
1957
+ };
1958
+ };
1959
+ getCompanyProfile: {
1960
+ parameters: {
1961
+ query?: never;
1962
+ header?: never;
1963
+ path: {
1964
+ tenantId: components["parameters"]["TenantId"];
1965
+ };
1966
+ cookie?: never;
1967
+ };
1968
+ requestBody?: never;
1969
+ responses: {
1970
+ /** @description Profile or JSON null if unset */
1971
+ 200: {
1972
+ headers: {
1973
+ [name: string]: unknown;
1974
+ };
1975
+ content: {
1976
+ "application/json": components["schemas"]["CompanyProfileDto"];
1977
+ };
1978
+ };
1979
+ 401: components["responses"]["Unauthorized"];
1980
+ };
1981
+ };
1982
+ putCompanyProfile: {
1983
+ parameters: {
1984
+ query?: never;
1985
+ header?: never;
1986
+ path: {
1987
+ tenantId: components["parameters"]["TenantId"];
1988
+ };
1989
+ cookie?: never;
1990
+ };
1991
+ requestBody: {
1992
+ content: {
1993
+ "application/json": components["schemas"]["CompanyProfileDto"];
1994
+ };
1995
+ };
1996
+ responses: {
1997
+ /** @description Saved */
1998
+ 204: {
1999
+ headers: {
2000
+ [name: string]: unknown;
2001
+ };
2002
+ content?: never;
2003
+ };
2004
+ 401: components["responses"]["Unauthorized"];
2005
+ };
2006
+ };
2007
+ getAiReadiness: {
2008
+ parameters: {
2009
+ query?: never;
2010
+ header?: never;
2011
+ path: {
2012
+ tenantId: components["parameters"]["TenantId"];
2013
+ };
2014
+ cookie?: never;
2015
+ };
2016
+ requestBody?: never;
2017
+ responses: {
2018
+ /** @description State or JSON null */
2019
+ 200: {
2020
+ headers: {
2021
+ [name: string]: unknown;
2022
+ };
2023
+ content: {
2024
+ "application/json": components["schemas"]["AIReadinessDto"];
2025
+ };
2026
+ };
2027
+ 401: components["responses"]["Unauthorized"];
2028
+ };
2029
+ };
2030
+ putAiReadiness: {
2031
+ parameters: {
2032
+ query?: never;
2033
+ header?: never;
2034
+ path: {
2035
+ tenantId: components["parameters"]["TenantId"];
2036
+ };
2037
+ cookie?: never;
2038
+ };
2039
+ requestBody: {
2040
+ content: {
2041
+ "application/json": components["schemas"]["AIReadinessDto"];
2042
+ };
2043
+ };
2044
+ responses: {
2045
+ /** @description Saved */
2046
+ 204: {
2047
+ headers: {
2048
+ [name: string]: unknown;
2049
+ };
2050
+ content?: never;
2051
+ };
2052
+ 401: components["responses"]["Unauthorized"];
2053
+ };
2054
+ };
2055
+ postAiReadinessMaturity: {
2056
+ parameters: {
2057
+ query?: never;
2058
+ header?: never;
2059
+ path: {
2060
+ tenantId: components["parameters"]["TenantId"];
2061
+ };
2062
+ cookie?: never;
2063
+ };
2064
+ requestBody: {
2065
+ content: {
2066
+ "application/json": components["schemas"]["AIReadinessDto"];
2067
+ };
2068
+ };
2069
+ responses: {
2070
+ /** @description Derived level */
2071
+ 200: {
2072
+ headers: {
2073
+ [name: string]: unknown;
2074
+ };
2075
+ content: {
2076
+ "application/json": components["schemas"]["AiMaturityResultDto"];
2077
+ };
2078
+ };
2079
+ 401: components["responses"]["Unauthorized"];
2080
+ };
2081
+ };
2082
+ getTechStack: {
2083
+ parameters: {
2084
+ query?: never;
2085
+ header?: never;
2086
+ path: {
2087
+ tenantId: components["parameters"]["TenantId"];
2088
+ };
2089
+ cookie?: never;
2090
+ };
2091
+ requestBody?: never;
2092
+ responses: {
2093
+ /** @description Stack or JSON null */
2094
+ 200: {
2095
+ headers: {
2096
+ [name: string]: unknown;
2097
+ };
2098
+ content: {
2099
+ "application/json": components["schemas"]["TechStackDto"];
2100
+ };
2101
+ };
2102
+ 401: components["responses"]["Unauthorized"];
2103
+ };
2104
+ };
2105
+ putTechStack: {
2106
+ parameters: {
2107
+ query?: never;
2108
+ header?: never;
2109
+ path: {
2110
+ tenantId: components["parameters"]["TenantId"];
2111
+ };
2112
+ cookie?: never;
2113
+ };
2114
+ requestBody: {
2115
+ content: {
2116
+ "application/json": components["schemas"]["TechStackDto"];
2117
+ };
2118
+ };
2119
+ responses: {
2120
+ /** @description Saved */
2121
+ 204: {
2122
+ headers: {
2123
+ [name: string]: unknown;
2124
+ };
2125
+ content?: never;
2126
+ };
2127
+ 401: components["responses"]["Unauthorized"];
2128
+ };
2129
+ };
2130
+ getNda: {
2131
+ parameters: {
2132
+ query?: never;
2133
+ header?: never;
2134
+ path: {
2135
+ tenantId: components["parameters"]["TenantId"];
2136
+ };
2137
+ cookie?: never;
2138
+ };
2139
+ requestBody?: never;
2140
+ responses: {
2141
+ /** @description Completion or JSON null */
2142
+ 200: {
2143
+ headers: {
2144
+ [name: string]: unknown;
2145
+ };
2146
+ content: {
2147
+ "application/json": components["schemas"]["NdaCompletionDto"];
2148
+ };
2149
+ };
2150
+ 401: components["responses"]["Unauthorized"];
2151
+ };
2152
+ };
2153
+ getNdaTemplate: {
2154
+ parameters: {
2155
+ query?: never;
2156
+ header?: never;
2157
+ path: {
2158
+ tenantId: components["parameters"]["TenantId"];
2159
+ };
2160
+ cookie?: never;
2161
+ };
2162
+ requestBody?: never;
2163
+ responses: {
2164
+ /** @description Template */
2165
+ 200: {
2166
+ headers: {
2167
+ [name: string]: unknown;
2168
+ };
2169
+ content: {
2170
+ "application/json": components["schemas"]["NdaTemplateDto"];
2171
+ };
2172
+ };
2173
+ 401: components["responses"]["Unauthorized"];
2174
+ };
2175
+ };
2176
+ postNdaSign: {
2177
+ parameters: {
2178
+ query?: never;
2179
+ header?: never;
2180
+ path: {
2181
+ tenantId: components["parameters"]["TenantId"];
2182
+ };
2183
+ cookie?: never;
2184
+ };
2185
+ requestBody: {
2186
+ content: {
2187
+ "application/json": components["schemas"]["NdaSignatureDto"];
2188
+ };
2189
+ };
2190
+ responses: {
2191
+ /** @description Completion record */
2192
+ 200: {
2193
+ headers: {
2194
+ [name: string]: unknown;
2195
+ };
2196
+ content: {
2197
+ "application/json": components["schemas"]["NdaCompletionDto"];
2198
+ };
2199
+ };
2200
+ 401: components["responses"]["Unauthorized"];
2201
+ };
2202
+ };
2203
+ postNdaExternal: {
2204
+ parameters: {
2205
+ query?: never;
2206
+ header?: never;
2207
+ path: {
2208
+ tenantId: components["parameters"]["TenantId"];
2209
+ };
2210
+ cookie?: never;
2211
+ };
2212
+ requestBody: {
2213
+ content: {
2214
+ "application/json": components["schemas"]["NdaExternalBodyDto"];
2215
+ };
2216
+ };
2217
+ responses: {
2218
+ /** @description Completion record */
2219
+ 200: {
2220
+ headers: {
2221
+ [name: string]: unknown;
2222
+ };
2223
+ content: {
2224
+ "application/json": components["schemas"]["NdaCompletionDto"];
2225
+ };
2226
+ };
2227
+ 401: components["responses"]["Unauthorized"];
2228
+ };
2229
+ };
2230
+ listReadinessRepos: {
2231
+ parameters: {
2232
+ query?: never;
2233
+ header?: never;
2234
+ path: {
2235
+ tenantId: components["parameters"]["TenantId"];
2236
+ };
2237
+ cookie?: never;
2238
+ };
2239
+ requestBody?: never;
2240
+ responses: {
2241
+ /** @description Repositories analyzed */
2242
+ 200: {
2243
+ headers: {
2244
+ [name: string]: unknown;
2245
+ };
2246
+ content: {
2247
+ "application/json": components["schemas"]["RepoReadinessScoreDto"][];
2248
+ };
2249
+ };
2250
+ 401: components["responses"]["Unauthorized"];
2251
+ };
2252
+ };
2253
+ getReadinessRepo: {
2254
+ parameters: {
2255
+ query?: never;
2256
+ header?: never;
2257
+ path: {
2258
+ tenantId: components["parameters"]["TenantId"];
2259
+ repoId: components["parameters"]["RepoId"];
2260
+ };
2261
+ cookie?: never;
2262
+ };
2263
+ requestBody?: never;
2264
+ responses: {
2265
+ /** @description Repo score */
2266
+ 200: {
2267
+ headers: {
2268
+ [name: string]: unknown;
2269
+ };
2270
+ content: {
2271
+ "application/json": components["schemas"]["RepoReadinessScoreDto"];
2272
+ };
2273
+ };
2274
+ 401: components["responses"]["Unauthorized"];
2275
+ };
2276
+ };
2277
+ listReadinessDimensions: {
2278
+ parameters: {
2279
+ query?: never;
2280
+ header?: never;
2281
+ path: {
2282
+ tenantId: components["parameters"]["TenantId"];
2283
+ };
2284
+ cookie?: never;
2285
+ };
2286
+ requestBody?: never;
2287
+ responses: {
2288
+ /** @description Dimensions */
2289
+ 200: {
2290
+ headers: {
2291
+ [name: string]: unknown;
2292
+ };
2293
+ content: {
2294
+ "application/json": components["schemas"]["ReadinessDimensionDto"][];
2295
+ };
2296
+ };
2297
+ 401: components["responses"]["Unauthorized"];
2298
+ };
2299
+ };
2300
+ listReadinessFixes: {
2301
+ parameters: {
2302
+ query?: never;
2303
+ header?: never;
2304
+ path: {
2305
+ tenantId: components["parameters"]["TenantId"];
2306
+ };
2307
+ cookie?: never;
2308
+ };
2309
+ requestBody?: never;
2310
+ responses: {
2311
+ /** @description Fix queue */
2312
+ 200: {
2313
+ headers: {
2314
+ [name: string]: unknown;
2315
+ };
2316
+ content: {
2317
+ "application/json": components["schemas"]["FixRequestDto"][];
2318
+ };
2319
+ };
2320
+ 401: components["responses"]["Unauthorized"];
2321
+ };
2322
+ };
2323
+ postReadinessFix: {
2324
+ parameters: {
2325
+ query?: never;
2326
+ header?: never;
2327
+ path: {
2328
+ tenantId: components["parameters"]["TenantId"];
2329
+ };
2330
+ cookie?: never;
2331
+ };
2332
+ requestBody: {
2333
+ content: {
2334
+ "application/json": components["schemas"]["CreateFixRequestBodyDto"];
2335
+ };
2336
+ };
2337
+ responses: {
2338
+ /** @description Fix request created */
2339
+ 200: {
2340
+ headers: {
2341
+ [name: string]: unknown;
2342
+ };
2343
+ content: {
2344
+ "application/json": components["schemas"]["FixRequestDto"];
2345
+ };
2346
+ };
2347
+ 401: components["responses"]["Unauthorized"];
2348
+ };
2349
+ };
2350
+ getSquad: {
2351
+ parameters: {
2352
+ query?: never;
2353
+ header?: never;
2354
+ path: {
2355
+ tenantId: components["parameters"]["TenantId"];
2356
+ };
2357
+ cookie?: never;
2358
+ };
2359
+ requestBody?: never;
2360
+ responses: {
2361
+ /** @description Squad */
2362
+ 200: {
2363
+ headers: {
2364
+ [name: string]: unknown;
2365
+ };
2366
+ content: {
2367
+ "application/json": components["schemas"]["SquadDto"];
2368
+ };
2369
+ };
2370
+ 401: components["responses"]["Unauthorized"];
2371
+ };
2372
+ };
2373
+ putSquad: {
2374
+ parameters: {
2375
+ query?: never;
2376
+ header?: never;
2377
+ path: {
2378
+ tenantId: components["parameters"]["TenantId"];
2379
+ };
2380
+ cookie?: never;
2381
+ };
2382
+ requestBody: {
2383
+ content: {
2384
+ "application/json": components["schemas"]["SquadDto"];
2385
+ };
2386
+ };
2387
+ responses: {
2388
+ /** @description Saved */
2389
+ 204: {
2390
+ headers: {
2391
+ [name: string]: unknown;
2392
+ };
2393
+ content?: never;
2394
+ };
2395
+ 401: components["responses"]["Unauthorized"];
2396
+ };
2397
+ };
2398
+ listProjects: {
2399
+ parameters: {
2400
+ query?: never;
2401
+ header?: never;
2402
+ path: {
2403
+ tenantId: components["parameters"]["TenantId"];
2404
+ };
2405
+ cookie?: never;
2406
+ };
2407
+ requestBody?: never;
2408
+ responses: {
2409
+ /** @description Projects */
2410
+ 200: {
2411
+ headers: {
2412
+ [name: string]: unknown;
2413
+ };
2414
+ content: {
2415
+ "application/json": components["schemas"]["ProjectDto"][];
2416
+ };
2417
+ };
2418
+ 401: components["responses"]["Unauthorized"];
2419
+ };
2420
+ };
2421
+ createProject: {
2422
+ parameters: {
2423
+ query?: never;
2424
+ header?: never;
2425
+ path: {
2426
+ tenantId: components["parameters"]["TenantId"];
2427
+ };
2428
+ cookie?: never;
2429
+ };
2430
+ requestBody: {
2431
+ content: {
2432
+ "application/json": components["schemas"]["ProjectDto"];
2433
+ };
2434
+ };
2435
+ responses: {
2436
+ /** @description Created project */
2437
+ 200: {
2438
+ headers: {
2439
+ [name: string]: unknown;
2440
+ };
2441
+ content: {
2442
+ "application/json": components["schemas"]["ProjectDto"];
2443
+ };
2444
+ };
2445
+ 401: components["responses"]["Unauthorized"];
2446
+ };
2447
+ };
2448
+ patchProject: {
2449
+ parameters: {
2450
+ query?: never;
2451
+ header?: never;
2452
+ path: {
2453
+ tenantId: components["parameters"]["TenantId"];
2454
+ projectId: components["parameters"]["ProjectId"];
2455
+ };
2456
+ cookie?: never;
2457
+ };
2458
+ requestBody: {
2459
+ content: {
2460
+ "application/json": components["schemas"]["ProjectPatchDto"];
2461
+ };
2462
+ };
2463
+ responses: {
2464
+ /** @description Updated project */
2465
+ 200: {
2466
+ headers: {
2467
+ [name: string]: unknown;
2468
+ };
2469
+ content: {
2470
+ "application/json": components["schemas"]["ProjectDto"];
2471
+ };
2472
+ };
2473
+ 401: components["responses"]["Unauthorized"];
2474
+ };
2475
+ };
2476
+ listNotifications: {
2477
+ parameters: {
2478
+ query?: {
2479
+ limit?: number;
2480
+ offset?: number;
2481
+ };
2482
+ header?: never;
2483
+ path: {
2484
+ tenantId: components["parameters"]["TenantId"];
2485
+ };
2486
+ cookie?: never;
2487
+ };
2488
+ requestBody?: never;
2489
+ responses: {
2490
+ /** @description Page of notifications */
2491
+ 200: {
2492
+ headers: {
2493
+ [name: string]: unknown;
2494
+ };
2495
+ content: {
2496
+ "application/json": components["schemas"]["NotificationListDto"];
2497
+ };
2498
+ };
2499
+ 401: components["responses"]["Unauthorized"];
2500
+ };
2501
+ };
2502
+ postNotificationRead: {
2503
+ parameters: {
2504
+ query?: never;
2505
+ header?: never;
2506
+ path: {
2507
+ tenantId: components["parameters"]["TenantId"];
2508
+ id: components["parameters"]["NotificationId"];
2509
+ };
2510
+ cookie?: never;
2511
+ };
2512
+ requestBody?: never;
2513
+ responses: {
2514
+ /** @description Updated */
2515
+ 204: {
2516
+ headers: {
2517
+ [name: string]: unknown;
2518
+ };
2519
+ content?: never;
2520
+ };
2521
+ 401: components["responses"]["Unauthorized"];
2522
+ };
2523
+ };
2524
+ postNotificationsReadAll: {
2525
+ parameters: {
2526
+ query?: never;
2527
+ header?: never;
2528
+ path: {
2529
+ tenantId: components["parameters"]["TenantId"];
2530
+ };
2531
+ cookie?: never;
2532
+ };
2533
+ requestBody?: never;
2534
+ responses: {
2535
+ /** @description Updated */
2536
+ 204: {
2537
+ headers: {
2538
+ [name: string]: unknown;
2539
+ };
2540
+ content?: never;
2541
+ };
2542
+ 401: components["responses"]["Unauthorized"];
2543
+ };
2544
+ };
2545
+ postAiStrategyRecommend: {
2546
+ parameters: {
2547
+ query?: never;
2548
+ header?: never;
2549
+ path: {
2550
+ tenantId: components["parameters"]["TenantId"];
2551
+ };
2552
+ cookie?: never;
2553
+ };
2554
+ requestBody: {
2555
+ content: {
2556
+ "application/json": components["schemas"]["AiStrategyRecommendBodyDto"];
2557
+ };
2558
+ };
2559
+ responses: {
2560
+ /** @description Plan */
2561
+ 200: {
2562
+ headers: {
2563
+ [name: string]: unknown;
2564
+ };
2565
+ content: {
2566
+ "application/json": components["schemas"]["AiStrategyPlanDto"];
2567
+ };
2568
+ };
2569
+ 401: components["responses"]["Unauthorized"];
2570
+ };
2571
+ };
2572
+ getJourneyProgress: {
2573
+ parameters: {
2574
+ query?: never;
2575
+ header?: never;
2576
+ path: {
2577
+ tenantId: components["parameters"]["TenantId"];
2578
+ };
2579
+ cookie?: never;
2580
+ };
2581
+ requestBody?: never;
2582
+ responses: {
2583
+ /** @description Progress */
2584
+ 200: {
2585
+ headers: {
2586
+ [name: string]: unknown;
2587
+ };
2588
+ content: {
2589
+ "application/json": components["schemas"]["JourneyProgressDto"];
2590
+ };
2591
+ };
2592
+ 401: components["responses"]["Unauthorized"];
2593
+ };
2594
+ };
2595
+ putJourneyProgress: {
2596
+ parameters: {
2597
+ query?: never;
2598
+ header?: never;
2599
+ path: {
2600
+ tenantId: components["parameters"]["TenantId"];
2601
+ };
2602
+ cookie?: never;
2603
+ };
2604
+ requestBody: {
2605
+ content: {
2606
+ "application/json": components["schemas"]["JourneyProgressUpdateDto"];
2607
+ };
2608
+ };
2609
+ responses: {
2610
+ /** @description Saved */
2611
+ 204: {
2612
+ headers: {
2613
+ [name: string]: unknown;
2614
+ };
2615
+ content?: never;
2616
+ };
2617
+ 401: components["responses"]["Unauthorized"];
2618
+ };
2619
+ };
2620
+ getMyPreferences: {
2621
+ parameters: {
2622
+ query?: never;
2623
+ header?: never;
2624
+ path: {
2625
+ tenantId: components["parameters"]["TenantId"];
2626
+ };
2627
+ cookie?: never;
2628
+ };
2629
+ requestBody?: never;
2630
+ responses: {
2631
+ /** @description Preferences */
2632
+ 200: {
2633
+ headers: {
2634
+ [name: string]: unknown;
2635
+ };
2636
+ content: {
2637
+ "application/json": components["schemas"]["PreferencesDto"];
2638
+ };
2639
+ };
2640
+ 401: components["responses"]["Unauthorized"];
2641
+ };
2642
+ };
2643
+ putMyPreferences: {
2644
+ parameters: {
2645
+ query?: never;
2646
+ header?: never;
2647
+ path: {
2648
+ tenantId: components["parameters"]["TenantId"];
2649
+ };
2650
+ cookie?: never;
2651
+ };
2652
+ requestBody: {
2653
+ content: {
2654
+ "application/json": components["schemas"]["PreferencesDto"];
2655
+ };
2656
+ };
2657
+ responses: {
2658
+ /** @description Saved */
2659
+ 204: {
2660
+ headers: {
2661
+ [name: string]: unknown;
2662
+ };
2663
+ content?: never;
2664
+ };
2665
+ 401: components["responses"]["Unauthorized"];
2666
+ };
2667
+ };
2668
+ postOrgChartImport: {
2669
+ parameters: {
2670
+ query?: never;
2671
+ header?: never;
2672
+ path: {
2673
+ tenantId: components["parameters"]["TenantId"];
2674
+ };
2675
+ cookie?: never;
2676
+ };
2677
+ requestBody: {
2678
+ content: {
2679
+ "application/json": components["schemas"]["OrgChartImportBodyDto"];
2680
+ };
2681
+ };
2682
+ responses: {
2683
+ /** @description Parsed persons (shape TBD; align with backend) */
2684
+ 200: {
2685
+ headers: {
2686
+ [name: string]: unknown;
2687
+ };
2688
+ content: {
2689
+ "application/json": {
2690
+ [key: string]: unknown;
2691
+ };
2692
+ };
2693
+ };
2694
+ 401: components["responses"]["Unauthorized"];
2695
+ };
2696
+ };
2697
+ }