@fa-software/semi2-dsh 0.0.18 → 0.0.19-preview.20261001161030

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 (67) hide show
  1. package/lib/api/bootstrap.js +45 -0
  2. package/lib/api/generated/http.js +1 -0
  3. package/lib/api/http-assets.js +89 -0
  4. package/lib/api/http-models.js +101 -0
  5. package/lib/api/http.js +99 -0
  6. package/lib/api/index.js +1 -72
  7. package/lib/api/login.js +3 -10
  8. package/lib/api/operations.js +9 -0
  9. package/lib/api/rest.js +57 -0
  10. package/lib/client.js.map +1 -1
  11. package/lib/cnb-token.js +37 -0
  12. package/lib/domains/default-model/domain.js +1 -3
  13. package/lib/domains/models/domain.js +3 -5
  14. package/lib/domains/models/web-search.js +2 -4
  15. package/lib/domains/project-profile/domain.js +1 -3
  16. package/lib/domains/project-profile/index.js +2 -2
  17. package/lib/domains/redmine/domain.js +1 -4
  18. package/lib/domains/redmine/index.js +2 -2
  19. package/lib/domains/secrets/domain.js +2 -6
  20. package/lib/domains/self-portrait/domain.js +1 -3
  21. package/lib/domains/self-portrait/index.js +1 -1
  22. package/lib/domains/skills/index.js +1 -1
  23. package/lib/domains/skills/mcp-resources.js +8 -10
  24. package/lib/domains/skills/provider.js +4 -4
  25. package/lib/domains/workspace/domain.js +3 -3
  26. package/lib/domains/workspace/feed.js +1 -1
  27. package/lib/domains/workspace/index.js +1 -1
  28. package/lib/domains/workspace/resolve.js +2 -4
  29. package/lib/hub/compile.js +5 -17
  30. package/lib/hub/credentials.js +3 -8
  31. package/lib/hub/errors.js +1 -3
  32. package/lib/hub/status.js +1 -1
  33. package/lib/hub/workspace-book.js +2 -6
  34. package/lib/index.js +3 -2
  35. package/lib/service/config-service.js +3 -4
  36. package/lib/service/connection.js +1 -1
  37. package/lib/service/lifecycle.js +3 -3
  38. package/lib/service/orchestrator.js +2 -4
  39. package/lib/service/ports.js +4 -4
  40. package/lib/service/registry.js +2 -8
  41. package/lib/service/sessions.js +5 -10
  42. package/lib/service/settings-tx.js +3 -6
  43. package/lib/service/status.js +4 -8
  44. package/lib/types/api/bootstrap.d.ts +23 -0
  45. package/lib/types/api/facts.d.ts +41 -0
  46. package/lib/types/api/generated/http.d.ts +3924 -0
  47. package/lib/types/api/http-assets.d.ts +65 -0
  48. package/lib/types/api/http-models.d.ts +68 -0
  49. package/lib/types/api/http.d.ts +16 -0
  50. package/lib/types/api/index.d.ts +10 -31
  51. package/lib/types/api/operations.d.ts +27 -0
  52. package/lib/types/api/rest.d.ts +3 -0
  53. package/lib/types/cnb-token.d.ts +24 -0
  54. package/lib/types/domains/project-profile/domain.d.ts +1 -1
  55. package/lib/types/hub/compile.d.ts +5 -5
  56. package/lib/types/index.d.ts +7 -5
  57. package/lib/types/service/config-service.d.ts +1 -1
  58. package/lib/web/action-routes.js +1 -3
  59. package/lib/web/index.js +2 -2
  60. package/lib/web/welcome-ack.js +6 -5
  61. package/package.json +3 -5
  62. package/lib/api/client.js +0 -119
  63. package/lib/api/generated/documents.js +0 -125
  64. package/lib/types/api/client.d.ts +0 -29
  65. package/lib/types/api/generated/documents.d.ts +0 -15
  66. package/lib/types/api/generated/graphql.d.ts +0 -184
  67. /package/lib/api/{generated/graphql.js → facts.js} +0 -0
@@ -0,0 +1,3924 @@
1
+ export interface paths {
2
+ "/api/v1/logs/{book}": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path: {
7
+ book: "operations" | "security" | "client-events";
8
+ };
9
+ cookie?: never;
10
+ };
11
+ /** @description Administrator-only event book; client-events selects events without a session */
12
+ get: operations["listLogEvents"];
13
+ put?: never;
14
+ post?: never;
15
+ delete?: never;
16
+ options?: never;
17
+ head?: never;
18
+ patch?: never;
19
+ trace?: never;
20
+ };
21
+ "/api/v1/logs/{book}/action-options": {
22
+ parameters: {
23
+ query?: never;
24
+ header?: never;
25
+ path: {
26
+ book: "operations" | "security" | "client-events";
27
+ };
28
+ cookie?: never;
29
+ };
30
+ get: operations["listLogActionOptions"];
31
+ put?: never;
32
+ post?: never;
33
+ delete?: never;
34
+ options?: never;
35
+ head?: never;
36
+ patch?: never;
37
+ trace?: never;
38
+ };
39
+ "/api/v1/logs/client-sessions": {
40
+ parameters: {
41
+ query?: never;
42
+ header?: never;
43
+ path?: never;
44
+ cookie?: never;
45
+ };
46
+ get: operations["listClientSessions"];
47
+ put?: never;
48
+ post?: never;
49
+ delete?: never;
50
+ options?: never;
51
+ head?: never;
52
+ patch?: never;
53
+ trace?: never;
54
+ };
55
+ "/api/v1/logs/client-sessions/timeline": {
56
+ parameters: {
57
+ query?: never;
58
+ header?: never;
59
+ path?: never;
60
+ cookie?: never;
61
+ };
62
+ get: operations["readClientSessionTimeline"];
63
+ put?: never;
64
+ post?: never;
65
+ delete?: never;
66
+ options?: never;
67
+ head?: never;
68
+ patch?: never;
69
+ trace?: never;
70
+ };
71
+ "/api/v1/me/cnb-account": {
72
+ parameters: {
73
+ query?: never;
74
+ header?: never;
75
+ path?: never;
76
+ cookie?: never;
77
+ };
78
+ get: operations["readMyCnbAccount"];
79
+ put?: never;
80
+ post?: never;
81
+ delete?: never;
82
+ options?: never;
83
+ head?: never;
84
+ patch?: never;
85
+ trace?: never;
86
+ };
87
+ "/api/v1/me/cnb-account/token": {
88
+ parameters: {
89
+ query?: never;
90
+ header?: never;
91
+ path?: never;
92
+ cookie?: never;
93
+ };
94
+ get?: never;
95
+ put: operations["replaceMyCnbToken"];
96
+ post?: never;
97
+ delete?: never;
98
+ options?: never;
99
+ head?: never;
100
+ patch?: never;
101
+ trace?: never;
102
+ };
103
+ "/api/v1/me/cnb-account/refresh": {
104
+ parameters: {
105
+ query?: never;
106
+ header?: never;
107
+ path?: never;
108
+ cookie?: never;
109
+ };
110
+ get?: never;
111
+ put?: never;
112
+ post: operations["refreshMyCnbAccount"];
113
+ delete?: never;
114
+ options?: never;
115
+ head?: never;
116
+ patch?: never;
117
+ trace?: never;
118
+ };
119
+ "/api/v1/users/{id}/cnb-account/token": {
120
+ parameters: {
121
+ query?: never;
122
+ header?: never;
123
+ path: {
124
+ id: components["parameters"]["Id"];
125
+ };
126
+ cookie?: never;
127
+ };
128
+ get?: never;
129
+ /** @description Administrator only; replacement token must match the bound external identity */
130
+ put: operations["replaceUserCnbToken"];
131
+ post?: never;
132
+ delete?: never;
133
+ options?: never;
134
+ head?: never;
135
+ patch?: never;
136
+ trace?: never;
137
+ };
138
+ "/api/v1/users/{id}/cnb-account/refresh": {
139
+ parameters: {
140
+ query?: never;
141
+ header?: never;
142
+ path: {
143
+ id: components["parameters"]["Id"];
144
+ };
145
+ cookie?: never;
146
+ };
147
+ get?: never;
148
+ put?: never;
149
+ post: operations["refreshUserCnbAccount"];
150
+ delete?: never;
151
+ options?: never;
152
+ head?: never;
153
+ patch?: never;
154
+ trace?: never;
155
+ };
156
+ "/api/v1/integrations/cnb/members": {
157
+ parameters: {
158
+ query?: never;
159
+ header?: never;
160
+ path?: never;
161
+ cookie?: never;
162
+ };
163
+ get: operations["listUpstreamCnbMembers"];
164
+ put?: never;
165
+ post?: never;
166
+ delete?: never;
167
+ options?: never;
168
+ head?: never;
169
+ patch?: never;
170
+ trace?: never;
171
+ };
172
+ "/api/v1/integrations/cnb/repositories": {
173
+ parameters: {
174
+ query?: never;
175
+ header?: never;
176
+ path?: never;
177
+ cookie?: never;
178
+ };
179
+ get: operations["listUpstreamCnbRepositories"];
180
+ put?: never;
181
+ post?: never;
182
+ delete?: never;
183
+ options?: never;
184
+ head?: never;
185
+ patch?: never;
186
+ trace?: never;
187
+ };
188
+ "/api/v1/integrations/cnb/users/import": {
189
+ parameters: {
190
+ query?: never;
191
+ header?: never;
192
+ path?: never;
193
+ cookie?: never;
194
+ };
195
+ get?: never;
196
+ put?: never;
197
+ post: operations["importCnbUsers"];
198
+ delete?: never;
199
+ options?: never;
200
+ head?: never;
201
+ patch?: never;
202
+ trace?: never;
203
+ };
204
+ "/api/v1/integrations/cnb/projects/sync": {
205
+ parameters: {
206
+ query?: never;
207
+ header?: never;
208
+ path?: never;
209
+ cookie?: never;
210
+ };
211
+ get?: never;
212
+ put?: never;
213
+ post: operations["syncCnbProjects"];
214
+ delete?: never;
215
+ options?: never;
216
+ head?: never;
217
+ patch?: never;
218
+ trace?: never;
219
+ };
220
+ "/api/v1/integrations/cnb/access-keys": {
221
+ parameters: {
222
+ query?: never;
223
+ header?: never;
224
+ path?: never;
225
+ cookie?: never;
226
+ };
227
+ get: operations["listCnbAccessKeys"];
228
+ put?: never;
229
+ post: operations["createCnbAccessKey"];
230
+ delete?: never;
231
+ options?: never;
232
+ head?: never;
233
+ patch?: never;
234
+ trace?: never;
235
+ };
236
+ "/api/v1/integrations/cnb/access-keys/{id}": {
237
+ parameters: {
238
+ query?: never;
239
+ header?: never;
240
+ path: {
241
+ id: components["parameters"]["Id"];
242
+ };
243
+ cookie?: never;
244
+ };
245
+ get?: never;
246
+ put?: never;
247
+ post?: never;
248
+ delete: operations["revokeCnbAccessKey"];
249
+ options?: never;
250
+ head?: never;
251
+ patch?: never;
252
+ trace?: never;
253
+ };
254
+ "/api/v1/integrations/cnb/access-keys/{id}/rotate": {
255
+ parameters: {
256
+ query?: never;
257
+ header?: never;
258
+ path: {
259
+ id: components["parameters"]["Id"];
260
+ };
261
+ cookie?: never;
262
+ };
263
+ get?: never;
264
+ put?: never;
265
+ post: operations["rotateCnbAccessKey"];
266
+ delete?: never;
267
+ options?: never;
268
+ head?: never;
269
+ patch?: never;
270
+ trace?: never;
271
+ };
272
+ "/api/v1/me": {
273
+ parameters: {
274
+ query?: never;
275
+ header?: never;
276
+ path?: never;
277
+ cookie?: never;
278
+ };
279
+ get: operations["readViewer"];
280
+ put?: never;
281
+ post?: never;
282
+ delete?: never;
283
+ options?: never;
284
+ head?: never;
285
+ patch?: never;
286
+ trace?: never;
287
+ };
288
+ "/api/v1/roles": {
289
+ parameters: {
290
+ query?: never;
291
+ header?: never;
292
+ path?: never;
293
+ cookie?: never;
294
+ };
295
+ get: operations["listRoles"];
296
+ put?: never;
297
+ post?: never;
298
+ delete?: never;
299
+ options?: never;
300
+ head?: never;
301
+ patch?: never;
302
+ trace?: never;
303
+ };
304
+ "/api/v1/users": {
305
+ parameters: {
306
+ query?: never;
307
+ header?: never;
308
+ path?: never;
309
+ cookie?: never;
310
+ };
311
+ /** @description Administrator only */
312
+ get: operations["listUsers"];
313
+ put?: never;
314
+ /** @description Create pending account from verified CNB identity; does not create password or login session */
315
+ post: operations["createUser"];
316
+ delete?: never;
317
+ options?: never;
318
+ head?: never;
319
+ patch?: never;
320
+ trace?: never;
321
+ };
322
+ "/api/v1/users/{id}": {
323
+ parameters: {
324
+ query?: never;
325
+ header?: never;
326
+ path: {
327
+ id: components["parameters"]["Id"];
328
+ };
329
+ cookie?: never;
330
+ };
331
+ get: operations["readUser"];
332
+ put?: never;
333
+ post?: never;
334
+ delete?: never;
335
+ options?: never;
336
+ head?: never;
337
+ patch?: never;
338
+ trace?: never;
339
+ };
340
+ "/api/v1/users/{id}/roles": {
341
+ parameters: {
342
+ query?: never;
343
+ header?: never;
344
+ path: {
345
+ id: components["parameters"]["Id"];
346
+ };
347
+ cookie?: never;
348
+ };
349
+ get?: never;
350
+ put?: never;
351
+ post?: never;
352
+ delete?: never;
353
+ options?: never;
354
+ head?: never;
355
+ /** @description USER role is mandatory; cannot remove the last active administrator */
356
+ patch: operations["setUserRoles"];
357
+ trace?: never;
358
+ };
359
+ "/api/v1/users/{id}/status": {
360
+ parameters: {
361
+ query?: never;
362
+ header?: never;
363
+ path: {
364
+ id: components["parameters"]["Id"];
365
+ };
366
+ cookie?: never;
367
+ };
368
+ get?: never;
369
+ put?: never;
370
+ post?: never;
371
+ delete?: never;
372
+ options?: never;
373
+ head?: never;
374
+ /** @description Pending accounts must activate before becoming active; disabling revokes sessions and activation links */
375
+ patch: operations["setUserStatus"];
376
+ trace?: never;
377
+ };
378
+ "/api/v1/users/{id}/activation": {
379
+ parameters: {
380
+ query?: never;
381
+ header?: never;
382
+ path: {
383
+ id: components["parameters"]["Id"];
384
+ };
385
+ cookie?: never;
386
+ };
387
+ get?: never;
388
+ put?: never;
389
+ post: operations["issueActivation"];
390
+ delete?: never;
391
+ options?: never;
392
+ head?: never;
393
+ patch?: never;
394
+ trace?: never;
395
+ };
396
+ "/api/v1/models": {
397
+ parameters: {
398
+ query?: never;
399
+ header?: never;
400
+ path?: never;
401
+ cookie?: never;
402
+ };
403
+ get: operations["listModels"];
404
+ put?: never;
405
+ /** @description Custom connections only; provider preset models must be imported from a catalog */
406
+ post: operations["createModel"];
407
+ delete?: never;
408
+ options?: never;
409
+ head?: never;
410
+ patch?: never;
411
+ trace?: never;
412
+ };
413
+ "/api/v1/models/{id}": {
414
+ parameters: {
415
+ query?: never;
416
+ header?: never;
417
+ path: {
418
+ id: components["parameters"]["Id"];
419
+ };
420
+ cookie?: never;
421
+ };
422
+ get: operations["readModel"];
423
+ put?: never;
424
+ post?: never;
425
+ delete: operations["deleteModel"];
426
+ options?: never;
427
+ head?: never;
428
+ /** @description Omitted fields remain unchanged; null removes metadata overrides or the default reasoning level */
429
+ patch: operations["updateModel"];
430
+ trace?: never;
431
+ };
432
+ "/api/v1/model-connections": {
433
+ parameters: {
434
+ query?: never;
435
+ header?: never;
436
+ path?: never;
437
+ cookie?: never;
438
+ };
439
+ get: operations["listModelConnections"];
440
+ put?: never;
441
+ post: operations["createModelConnection"];
442
+ delete?: never;
443
+ options?: never;
444
+ head?: never;
445
+ patch?: never;
446
+ trace?: never;
447
+ };
448
+ "/api/v1/model-connections/{id}": {
449
+ parameters: {
450
+ query?: never;
451
+ header?: never;
452
+ path: {
453
+ id: components["parameters"]["Id"];
454
+ };
455
+ cookie?: never;
456
+ };
457
+ get: operations["readModelConnection"];
458
+ put?: never;
459
+ post?: never;
460
+ delete: operations["deleteModelConnection"];
461
+ options?: never;
462
+ head?: never;
463
+ /** @description Destination changes with an existing key require explicit reuse, replacement or clearing */
464
+ patch: operations["updateModelConnection"];
465
+ trace?: never;
466
+ };
467
+ "/api/v1/model-provider-presets": {
468
+ parameters: {
469
+ query?: never;
470
+ header?: never;
471
+ path?: never;
472
+ cookie?: never;
473
+ };
474
+ get: operations["listModelProviderPresets"];
475
+ put?: never;
476
+ post?: never;
477
+ delete?: never;
478
+ options?: never;
479
+ head?: never;
480
+ patch?: never;
481
+ trace?: never;
482
+ };
483
+ "/api/v1/model-references/query": {
484
+ parameters: {
485
+ query?: never;
486
+ header?: never;
487
+ path?: never;
488
+ cookie?: never;
489
+ };
490
+ get?: never;
491
+ put?: never;
492
+ post: operations["queryModelReferences"];
493
+ delete?: never;
494
+ options?: never;
495
+ head?: never;
496
+ patch?: never;
497
+ trace?: never;
498
+ };
499
+ "/api/v1/model-connections/{id}/catalog/upstream": {
500
+ parameters: {
501
+ query?: never;
502
+ header?: never;
503
+ path: {
504
+ id: components["parameters"]["Id"];
505
+ };
506
+ cookie?: never;
507
+ };
508
+ get: operations["readUpstreamModelCatalog"];
509
+ put?: never;
510
+ post?: never;
511
+ delete?: never;
512
+ options?: never;
513
+ head?: never;
514
+ patch?: never;
515
+ trace?: never;
516
+ };
517
+ "/api/v1/model-connections/{id}/catalog/builtin": {
518
+ parameters: {
519
+ query?: never;
520
+ header?: never;
521
+ path: {
522
+ id: components["parameters"]["Id"];
523
+ };
524
+ cookie?: never;
525
+ };
526
+ get: operations["readBuiltinModelCatalog"];
527
+ put?: never;
528
+ post?: never;
529
+ delete?: never;
530
+ options?: never;
531
+ head?: never;
532
+ patch?: never;
533
+ trace?: never;
534
+ };
535
+ "/api/v1/model-connections/{id}/catalog/sync": {
536
+ parameters: {
537
+ query?: never;
538
+ header?: never;
539
+ path: {
540
+ id: components["parameters"]["Id"];
541
+ };
542
+ cookie?: never;
543
+ };
544
+ get?: never;
545
+ put?: never;
546
+ post: operations["syncModelCatalog"];
547
+ delete?: never;
548
+ options?: never;
549
+ head?: never;
550
+ patch?: never;
551
+ trace?: never;
552
+ };
553
+ "/api/v1/model-connections/{id}/catalog/import-builtin": {
554
+ parameters: {
555
+ query?: never;
556
+ header?: never;
557
+ path: {
558
+ id: components["parameters"]["Id"];
559
+ };
560
+ cookie?: never;
561
+ };
562
+ get?: never;
563
+ put?: never;
564
+ post: operations["importBuiltinModels"];
565
+ delete?: never;
566
+ options?: never;
567
+ head?: never;
568
+ patch?: never;
569
+ trace?: never;
570
+ };
571
+ "/api/v1/configuration/global": {
572
+ parameters: {
573
+ query?: never;
574
+ header?: never;
575
+ path?: never;
576
+ cookie?: never;
577
+ };
578
+ get: operations["readGlobalConfiguration"];
579
+ put?: never;
580
+ post?: never;
581
+ delete?: never;
582
+ options?: never;
583
+ head?: never;
584
+ /** @description Administrator only; omitted fields remain unchanged and explicit null clears nullable fields */
585
+ patch: operations["saveGlobalConfiguration"];
586
+ trace?: never;
587
+ };
588
+ "/api/v1/me/configuration": {
589
+ parameters: {
590
+ query?: never;
591
+ header?: never;
592
+ path?: never;
593
+ cookie?: never;
594
+ };
595
+ get: operations["readMyConfiguration"];
596
+ put?: never;
597
+ post?: never;
598
+ delete?: never;
599
+ options?: never;
600
+ head?: never;
601
+ patch: operations["saveMyConfiguration"];
602
+ trace?: never;
603
+ };
604
+ "/api/v1/users/{id}/configuration": {
605
+ parameters: {
606
+ query?: never;
607
+ header?: never;
608
+ path: {
609
+ id: components["parameters"]["Id"];
610
+ };
611
+ cookie?: never;
612
+ };
613
+ /** @description Self or administrator */
614
+ get: operations["readUserConfiguration"];
615
+ put?: never;
616
+ post?: never;
617
+ delete?: never;
618
+ options?: never;
619
+ head?: never;
620
+ /** @description Self or administrator; validation failure leaves settings and audit unchanged */
621
+ patch: operations["saveUserConfiguration"];
622
+ trace?: never;
623
+ };
624
+ "/api/v1/users/{id}/model-credentials": {
625
+ parameters: {
626
+ query?: never;
627
+ header?: never;
628
+ path: {
629
+ id: components["parameters"]["Id"];
630
+ };
631
+ cookie?: never;
632
+ };
633
+ get: operations["readUserCredentialReferences"];
634
+ put?: never;
635
+ post?: never;
636
+ delete?: never;
637
+ options?: never;
638
+ head?: never;
639
+ patch?: never;
640
+ trace?: never;
641
+ };
642
+ "/api/v1/available-models": {
643
+ parameters: {
644
+ query?: never;
645
+ header?: never;
646
+ path?: never;
647
+ cookie?: never;
648
+ };
649
+ get: operations["listAvailableModels"];
650
+ put?: never;
651
+ post?: never;
652
+ delete?: never;
653
+ options?: never;
654
+ head?: never;
655
+ patch?: never;
656
+ trace?: never;
657
+ };
658
+ "/api/v1/effective-model-defaults": {
659
+ parameters: {
660
+ query?: never;
661
+ header?: never;
662
+ path?: never;
663
+ cookie?: never;
664
+ };
665
+ get: operations["readEffectiveModelDefaults"];
666
+ put?: never;
667
+ post?: never;
668
+ delete?: never;
669
+ options?: never;
670
+ head?: never;
671
+ patch?: never;
672
+ trace?: never;
673
+ };
674
+ "/api/v1/projects": {
675
+ parameters: {
676
+ query?: never;
677
+ header?: never;
678
+ path?: never;
679
+ cookie?: never;
680
+ };
681
+ get: operations["listProjects"];
682
+ put?: never;
683
+ post: operations["createProject"];
684
+ delete?: never;
685
+ options?: never;
686
+ head?: never;
687
+ patch?: never;
688
+ trace?: never;
689
+ };
690
+ "/api/v1/projects/{id}": {
691
+ parameters: {
692
+ query?: never;
693
+ header?: never;
694
+ path: {
695
+ id: components["parameters"]["Id"];
696
+ };
697
+ cookie?: never;
698
+ };
699
+ get: operations["readProject"];
700
+ put?: never;
701
+ post?: never;
702
+ delete: operations["deleteProject"];
703
+ options?: never;
704
+ head?: never;
705
+ patch: operations["updateProject"];
706
+ trace?: never;
707
+ };
708
+ "/api/v1/projects/{id}/headless-models": {
709
+ parameters: {
710
+ query?: never;
711
+ header?: never;
712
+ path: {
713
+ id: components["parameters"]["Id"];
714
+ };
715
+ cookie?: never;
716
+ };
717
+ get?: never;
718
+ put?: never;
719
+ post?: never;
720
+ delete?: never;
721
+ options?: never;
722
+ head?: never;
723
+ patch: operations["updateProjectHeadlessModels"];
724
+ trace?: never;
725
+ };
726
+ "/api/v1/projects/{id}/access/{userId}": {
727
+ parameters: {
728
+ query?: never;
729
+ header?: never;
730
+ path: {
731
+ id: components["parameters"]["Id"];
732
+ userId: string;
733
+ };
734
+ cookie?: never;
735
+ };
736
+ get?: never;
737
+ put: operations["setProjectAccess"];
738
+ post?: never;
739
+ delete?: never;
740
+ options?: never;
741
+ head?: never;
742
+ patch?: never;
743
+ trace?: never;
744
+ };
745
+ "/api/v1/project-organizations": {
746
+ parameters: {
747
+ query?: never;
748
+ header?: never;
749
+ path?: never;
750
+ cookie?: never;
751
+ };
752
+ get: operations["listProjectOrganizations"];
753
+ put?: never;
754
+ post?: never;
755
+ delete?: never;
756
+ options?: never;
757
+ head?: never;
758
+ patch?: never;
759
+ trace?: never;
760
+ };
761
+ "/api/v1/skills": {
762
+ parameters: {
763
+ query?: never;
764
+ header?: never;
765
+ path?: never;
766
+ cookie?: never;
767
+ };
768
+ get: operations["listSkills"];
769
+ put?: never;
770
+ post: operations["createSkill"];
771
+ delete?: never;
772
+ options?: never;
773
+ head?: never;
774
+ patch?: never;
775
+ trace?: never;
776
+ };
777
+ "/api/v1/skills/{id}": {
778
+ parameters: {
779
+ query?: never;
780
+ header?: never;
781
+ path: {
782
+ id: components["parameters"]["Id"];
783
+ };
784
+ cookie?: never;
785
+ };
786
+ get: operations["readSkill"];
787
+ put?: never;
788
+ post?: never;
789
+ delete?: never;
790
+ options?: never;
791
+ head?: never;
792
+ patch?: never;
793
+ trace?: never;
794
+ };
795
+ "/api/v1/skills/{id}/content": {
796
+ parameters: {
797
+ query?: never;
798
+ header?: never;
799
+ path: {
800
+ id: components["parameters"]["Id"];
801
+ };
802
+ cookie?: never;
803
+ };
804
+ get?: never;
805
+ put: operations["saveSkillContent"];
806
+ post?: never;
807
+ delete?: never;
808
+ options?: never;
809
+ head?: never;
810
+ patch?: never;
811
+ trace?: never;
812
+ };
813
+ "/api/v1/skills/{id}/archived": {
814
+ parameters: {
815
+ query?: never;
816
+ header?: never;
817
+ path: {
818
+ id: components["parameters"]["Id"];
819
+ };
820
+ cookie?: never;
821
+ };
822
+ get?: never;
823
+ put?: never;
824
+ post: operations["setSkillArchived"];
825
+ delete?: never;
826
+ options?: never;
827
+ head?: never;
828
+ patch?: never;
829
+ trace?: never;
830
+ };
831
+ "/api/v1/skills/{id}/versions": {
832
+ parameters: {
833
+ query?: never;
834
+ header?: never;
835
+ path: {
836
+ id: components["parameters"]["Id"];
837
+ };
838
+ cookie?: never;
839
+ };
840
+ get: operations["listSkillVersions"];
841
+ put?: never;
842
+ post?: never;
843
+ delete?: never;
844
+ options?: never;
845
+ head?: never;
846
+ patch?: never;
847
+ trace?: never;
848
+ };
849
+ "/api/v1/skills/{id}/files": {
850
+ parameters: {
851
+ query?: never;
852
+ header?: never;
853
+ path: {
854
+ id: components["parameters"]["Id"];
855
+ };
856
+ cookie?: never;
857
+ };
858
+ get: operations["readSkillFiles"];
859
+ put?: never;
860
+ post?: never;
861
+ delete?: never;
862
+ options?: never;
863
+ head?: never;
864
+ patch?: never;
865
+ trace?: never;
866
+ };
867
+ "/api/v1/skills/{id}/files/write": {
868
+ parameters: {
869
+ query?: never;
870
+ header?: never;
871
+ path: {
872
+ id: components["parameters"]["Id"];
873
+ };
874
+ cookie?: never;
875
+ };
876
+ get?: never;
877
+ put?: never;
878
+ post: operations["writeSkillFiles"];
879
+ delete?: never;
880
+ options?: never;
881
+ head?: never;
882
+ patch?: never;
883
+ trace?: never;
884
+ };
885
+ "/api/v1/skills/{id}/files/remove": {
886
+ parameters: {
887
+ query?: never;
888
+ header?: never;
889
+ path: {
890
+ id: components["parameters"]["Id"];
891
+ };
892
+ cookie?: never;
893
+ };
894
+ get?: never;
895
+ put?: never;
896
+ post: operations["removeSkillFiles"];
897
+ delete?: never;
898
+ options?: never;
899
+ head?: never;
900
+ patch?: never;
901
+ trace?: never;
902
+ };
903
+ "/api/v1/self-portrait": {
904
+ parameters: {
905
+ query?: never;
906
+ header?: never;
907
+ path?: never;
908
+ cookie?: never;
909
+ };
910
+ get: operations["readSelfPortrait"];
911
+ put: operations["saveSelfPortrait"];
912
+ post?: never;
913
+ delete?: never;
914
+ options?: never;
915
+ head?: never;
916
+ patch?: never;
917
+ trace?: never;
918
+ };
919
+ "/api/v1/self-portrait/versions": {
920
+ parameters: {
921
+ query?: never;
922
+ header?: never;
923
+ path?: never;
924
+ cookie?: never;
925
+ };
926
+ get: operations["listSelfPortraitVersions"];
927
+ put?: never;
928
+ post?: never;
929
+ delete?: never;
930
+ options?: never;
931
+ head?: never;
932
+ patch?: never;
933
+ trace?: never;
934
+ };
935
+ "/api/v1/runtime/bootstrap": {
936
+ parameters: {
937
+ query?: never;
938
+ header?: never;
939
+ path?: never;
940
+ cookie?: never;
941
+ };
942
+ get: operations["runtimeBootstrap"];
943
+ put?: never;
944
+ post?: never;
945
+ delete?: never;
946
+ options?: never;
947
+ head?: never;
948
+ patch?: never;
949
+ trace?: never;
950
+ };
951
+ "/api/v1/runtime/projects/query": {
952
+ parameters: {
953
+ query?: never;
954
+ header?: never;
955
+ path?: never;
956
+ cookie?: never;
957
+ };
958
+ get?: never;
959
+ put?: never;
960
+ post: operations["runtimeProjects"];
961
+ delete?: never;
962
+ options?: never;
963
+ head?: never;
964
+ patch?: never;
965
+ trace?: never;
966
+ };
967
+ "/api/v1/runtime/model-credentials/query": {
968
+ parameters: {
969
+ query?: never;
970
+ header?: never;
971
+ path?: never;
972
+ cookie?: never;
973
+ };
974
+ get?: never;
975
+ put?: never;
976
+ post: operations["runtimeCredentials"];
977
+ delete?: never;
978
+ options?: never;
979
+ head?: never;
980
+ patch?: never;
981
+ trace?: never;
982
+ };
983
+ "/api/v1/runtime/skills/{id}/files": {
984
+ parameters: {
985
+ query?: never;
986
+ header?: never;
987
+ path?: never;
988
+ cookie?: never;
989
+ };
990
+ get: operations["runtimeSkillFiles"];
991
+ put?: never;
992
+ post?: never;
993
+ delete?: never;
994
+ options?: never;
995
+ head?: never;
996
+ patch?: never;
997
+ trace?: never;
998
+ };
999
+ "/api/v1/runtime/projects/{id}/profile": {
1000
+ parameters: {
1001
+ query?: never;
1002
+ header?: never;
1003
+ path?: never;
1004
+ cookie?: never;
1005
+ };
1006
+ get: operations["runtimeProjectProfile"];
1007
+ put?: never;
1008
+ post?: never;
1009
+ delete?: never;
1010
+ options?: never;
1011
+ head?: never;
1012
+ patch?: never;
1013
+ trace?: never;
1014
+ };
1015
+ "/api/v1/runtime/events": {
1016
+ parameters: {
1017
+ query?: never;
1018
+ header?: never;
1019
+ path?: never;
1020
+ cookie?: never;
1021
+ };
1022
+ get?: never;
1023
+ put?: never;
1024
+ post: operations["runtimeReportEvent"];
1025
+ delete?: never;
1026
+ options?: never;
1027
+ head?: never;
1028
+ patch?: never;
1029
+ trace?: never;
1030
+ };
1031
+ "/healthz": {
1032
+ parameters: {
1033
+ query?: never;
1034
+ header?: never;
1035
+ path?: never;
1036
+ cookie?: never;
1037
+ };
1038
+ /** Check application and database readiness */
1039
+ get: operations["health"];
1040
+ put?: never;
1041
+ post?: never;
1042
+ delete?: never;
1043
+ options?: never;
1044
+ head?: never;
1045
+ patch?: never;
1046
+ trace?: never;
1047
+ };
1048
+ "/auth/login": {
1049
+ parameters: {
1050
+ query?: never;
1051
+ header?: never;
1052
+ path?: never;
1053
+ cookie?: never;
1054
+ };
1055
+ get?: never;
1056
+ put?: never;
1057
+ post: operations["login"];
1058
+ delete?: never;
1059
+ options?: never;
1060
+ head?: never;
1061
+ patch?: never;
1062
+ trace?: never;
1063
+ };
1064
+ "/auth/token": {
1065
+ parameters: {
1066
+ query?: never;
1067
+ header?: never;
1068
+ path?: never;
1069
+ cookie?: never;
1070
+ };
1071
+ get?: never;
1072
+ put?: never;
1073
+ post: operations["issueUserToken"];
1074
+ delete?: never;
1075
+ options?: never;
1076
+ head?: never;
1077
+ patch?: never;
1078
+ trace?: never;
1079
+ };
1080
+ "/auth/session": {
1081
+ parameters: {
1082
+ query?: never;
1083
+ header?: never;
1084
+ path?: never;
1085
+ cookie?: never;
1086
+ };
1087
+ get: operations["readSession"];
1088
+ put?: never;
1089
+ post?: never;
1090
+ delete?: never;
1091
+ options?: never;
1092
+ head?: never;
1093
+ patch?: never;
1094
+ trace?: never;
1095
+ };
1096
+ "/auth/logout": {
1097
+ parameters: {
1098
+ query?: never;
1099
+ header?: never;
1100
+ path?: never;
1101
+ cookie?: never;
1102
+ };
1103
+ get?: never;
1104
+ put?: never;
1105
+ post: operations["logout"];
1106
+ delete?: never;
1107
+ options?: never;
1108
+ head?: never;
1109
+ patch?: never;
1110
+ trace?: never;
1111
+ };
1112
+ "/auth/change-password": {
1113
+ parameters: {
1114
+ query?: never;
1115
+ header?: never;
1116
+ path?: never;
1117
+ cookie?: never;
1118
+ };
1119
+ get?: never;
1120
+ put?: never;
1121
+ post: operations["changePassword"];
1122
+ delete?: never;
1123
+ options?: never;
1124
+ head?: never;
1125
+ patch?: never;
1126
+ trace?: never;
1127
+ };
1128
+ "/auth/setup": {
1129
+ parameters: {
1130
+ query?: never;
1131
+ header?: never;
1132
+ path?: never;
1133
+ cookie?: never;
1134
+ };
1135
+ get: operations["readSetupState"];
1136
+ put?: never;
1137
+ post: operations["initializeHub"];
1138
+ delete?: never;
1139
+ options?: never;
1140
+ head?: never;
1141
+ patch?: never;
1142
+ trace?: never;
1143
+ };
1144
+ "/auth/register": {
1145
+ parameters: {
1146
+ query?: never;
1147
+ header?: never;
1148
+ path?: never;
1149
+ cookie?: never;
1150
+ };
1151
+ get?: never;
1152
+ put?: never;
1153
+ post: operations["registerMember"];
1154
+ delete?: never;
1155
+ options?: never;
1156
+ head?: never;
1157
+ patch?: never;
1158
+ trace?: never;
1159
+ };
1160
+ "/auth/cnb-token": {
1161
+ parameters: {
1162
+ query?: never;
1163
+ header?: never;
1164
+ path?: never;
1165
+ cookie?: never;
1166
+ };
1167
+ get?: never;
1168
+ put?: never;
1169
+ post: operations["exchangeCnbToken"];
1170
+ delete?: never;
1171
+ options?: never;
1172
+ head?: never;
1173
+ patch?: never;
1174
+ trace?: never;
1175
+ };
1176
+ "/auth/activate": {
1177
+ parameters: {
1178
+ query?: never;
1179
+ header?: never;
1180
+ path?: never;
1181
+ cookie?: never;
1182
+ };
1183
+ get?: never;
1184
+ put?: never;
1185
+ post: operations["activateAccount"];
1186
+ delete?: never;
1187
+ options?: never;
1188
+ head?: never;
1189
+ patch?: never;
1190
+ trace?: never;
1191
+ };
1192
+ }
1193
+ export type webhooks = Record<string, never>;
1194
+ export interface components {
1195
+ schemas: {
1196
+ PasswordLogin: {
1197
+ username: string;
1198
+ password: string;
1199
+ };
1200
+ Session: {
1201
+ user: components["schemas"]["User"];
1202
+ csrfToken: string;
1203
+ };
1204
+ User: {
1205
+ /** Format: uuid */
1206
+ id: string;
1207
+ username: string;
1208
+ displayName: string;
1209
+ roles: ("USER" | "ADMIN")[];
1210
+ /** @enum {string} */
1211
+ status: "PENDING" | "ACTIVE" | "DISABLED";
1212
+ revision: number;
1213
+ /** Format: date-time */
1214
+ createdAt: string;
1215
+ cnbAccount: components["schemas"]["CnbAccount"];
1216
+ };
1217
+ CnbAccount: {
1218
+ externalUserId: string;
1219
+ username: string;
1220
+ nickname: string | null;
1221
+ avatar: string | null;
1222
+ /** @enum {string} */
1223
+ state: "CONNECTED" | "AWAITING_BINDING" | "RECONNECT_REQUIRED";
1224
+ organizationPath: string;
1225
+ /** Format: date-time */
1226
+ verifiedAt: string | null;
1227
+ /** Format: date-time */
1228
+ membershipVerifiedAt: string | null;
1229
+ };
1230
+ ApiError: {
1231
+ code: string;
1232
+ message: string;
1233
+ /** Format: uuid */
1234
+ requestId: string;
1235
+ };
1236
+ PageWindow: {
1237
+ /** @default 20 */
1238
+ first: number;
1239
+ /** @default 0 */
1240
+ offset: number;
1241
+ };
1242
+ /** @enum {string} */
1243
+ Outcome: "SUCCESS" | "DENIED" | "ERROR";
1244
+ /** @enum {string} */
1245
+ Channel: "CONSOLE" | "NPC" | "WORKSTATION" | "CONTAINER_WEB" | "HOST" | "UNKNOWN";
1246
+ /** @enum {string} */
1247
+ ActorKind: "SESSION" | "USER_KEY" | "ACCESS_KEY" | "ANONYMOUS";
1248
+ Event: {
1249
+ /** Format: uuid */
1250
+ id: string;
1251
+ /** Format: date-time */
1252
+ occurredAt: string;
1253
+ action: string;
1254
+ actionLabel: string;
1255
+ actorId: string | null;
1256
+ actorUsername: string | null;
1257
+ actorDisplayName: string | null;
1258
+ actorKind: components["schemas"]["ActorKind"];
1259
+ outcome: components["schemas"]["Outcome"];
1260
+ code: string | null;
1261
+ detail: {
1262
+ [key: string]: unknown;
1263
+ };
1264
+ targetType?: string | null;
1265
+ targetId?: string | null;
1266
+ targetLabel?: string | null;
1267
+ durationMs?: number | null;
1268
+ clientIp?: string | null;
1269
+ userAgent?: string | null;
1270
+ channel?: components["schemas"]["Channel"];
1271
+ sessionKey?: string | null;
1272
+ };
1273
+ "schemas-Session": {
1274
+ key: string;
1275
+ sessionId: string | null;
1276
+ clientId: string | null;
1277
+ runRef: string | null;
1278
+ channel: components["schemas"]["Channel"];
1279
+ actorId: string | null;
1280
+ actorKind: components["schemas"]["ActorKind"];
1281
+ actorUsername: string | null;
1282
+ actorDisplayName: string | null;
1283
+ clientIp?: string | null;
1284
+ workspaceSlug?: string | null;
1285
+ workspacePath?: string | null;
1286
+ projectId?: string | null;
1287
+ projectLabel?: string | null;
1288
+ modelId?: string | null;
1289
+ reasoningLevel?: string | null;
1290
+ outcome: components["schemas"]["Outcome"];
1291
+ code?: string | null;
1292
+ /** Format: date-time */
1293
+ startedAt: string;
1294
+ /** Format: date-time */
1295
+ endedAt: string | null;
1296
+ endReason?: string | null;
1297
+ eventCount: number;
1298
+ };
1299
+ Member: {
1300
+ externalUserId: string;
1301
+ username: string;
1302
+ nickname: string | null;
1303
+ avatar: string | null;
1304
+ organizationPath: string;
1305
+ registered: boolean;
1306
+ };
1307
+ Repository: {
1308
+ externalRepoId: string;
1309
+ path: string;
1310
+ name: string;
1311
+ /** Format: uri */
1312
+ webUrl: string;
1313
+ /** @enum {string} */
1314
+ status: "active" | "archived" | "forking";
1315
+ /** @enum {string} */
1316
+ visibility: "Private" | "Public";
1317
+ frozen: boolean;
1318
+ imported: boolean;
1319
+ };
1320
+ AccessKey: {
1321
+ /** Format: uuid */
1322
+ id: string;
1323
+ name: string;
1324
+ hint: string;
1325
+ /** Format: date-time */
1326
+ createdAt: string;
1327
+ /** Format: date-time */
1328
+ rotatedAt: string | null;
1329
+ /** Format: date-time */
1330
+ lastUsedAt: string | null;
1331
+ };
1332
+ AdminUser: components["schemas"]["User"] & {
1333
+ revokedProjectCount: number;
1334
+ /** Format: date-time */
1335
+ lastActivityAt: string | null;
1336
+ };
1337
+ /** @enum {string} */
1338
+ Protocol: "DEEPSEEK" | "OPENAI_CHAT" | "OPENAI_RESPONSES" | "ANTHROPIC";
1339
+ /** @enum {string} */
1340
+ DiscoveryStatus: "NEVER" | "STALE" | "SUCCESS" | "FAILED";
1341
+ Connection: {
1342
+ /** Format: uuid */
1343
+ id: string;
1344
+ displayName: string;
1345
+ provider: string | null;
1346
+ /** @enum {string} */
1347
+ protocol: "DEEPSEEK" | "OPENAI_CHAT" | "OPENAI_RESPONSES" | "ANTHROPIC";
1348
+ /** Format: uri */
1349
+ baseUrl: string;
1350
+ enabled: boolean;
1351
+ keyConfigured: boolean;
1352
+ revision: number;
1353
+ credentialRevision: number;
1354
+ /** Format: date-time */
1355
+ lastDiscoveryAt: string | null;
1356
+ /** @enum {string|null} */
1357
+ lastDiscoveryError: "CREDENTIALS_NOT_CONFIGURED" | "UPSTREAM_CREDENTIALS_REJECTED" | "DISCOVERY_UNSUPPORTED" | "UPSTREAM_UNAVAILABLE" | "UPSTREAM_TIMEOUT" | "UPSTREAM_RESPONSE_TOO_LARGE" | "UPSTREAM_REDIRECT_FORBIDDEN" | "MODEL_URL_FORBIDDEN" | "INVALID_MODEL_URL" | "INVALID_MODEL_CATALOG" | "UPSTREAM_PAGINATION_ERROR" | "MODEL_CATALOG_TOO_LARGE" | null;
1358
+ /** @enum {string} */
1359
+ discoveryStatus: "NEVER" | "STALE" | "SUCCESS" | "FAILED";
1360
+ };
1361
+ /** @enum {string|null} */
1362
+ ReasoningLevel: "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | null;
1363
+ Metadata: {
1364
+ contextWindow?: number;
1365
+ maxTokens?: number;
1366
+ input?: ("text" | "image")[];
1367
+ reasoningLevels?: components["schemas"]["ReasoningLevel"][];
1368
+ };
1369
+ Model: {
1370
+ /** Format: uuid */
1371
+ id: string;
1372
+ upstreamId: string;
1373
+ displayName: string | null;
1374
+ connection: components["schemas"]["Connection"];
1375
+ discoveredMetadata: components["schemas"]["Metadata"];
1376
+ overrides: components["schemas"]["Metadata"];
1377
+ metadata: components["schemas"]["Metadata"];
1378
+ metadataSources: {
1379
+ /** @enum {string} */
1380
+ field: "contextWindow" | "maxTokens" | "input" | "reasoningLevels";
1381
+ /** @enum {string} */
1382
+ source: "MANUAL" | "DISCOVERED" | "BUILTIN" | "DSH_DEFAULT";
1383
+ }[];
1384
+ present: boolean;
1385
+ manual: boolean;
1386
+ builtin: boolean;
1387
+ enabled: boolean;
1388
+ revision: number;
1389
+ defaultReasoningLevel: components["schemas"]["ReasoningLevel"];
1390
+ };
1391
+ /** @enum {string|null} */
1392
+ ReasoningInput: "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | "OFF" | "MINIMAL" | "LOW" | "MEDIUM" | "HIGH" | "XHIGH" | "MAX" | null;
1393
+ ModelWrite: {
1394
+ expectedRevision: number;
1395
+ /** Format: uuid */
1396
+ connectionId?: string;
1397
+ upstreamId?: string;
1398
+ displayName?: string | null;
1399
+ enabled?: boolean;
1400
+ retainMissing?: boolean;
1401
+ defaultReasoningLevel?: components["schemas"]["ReasoningInput"];
1402
+ overrides?: {
1403
+ contextWindow?: number | null;
1404
+ maxTokens?: number | null;
1405
+ input?: ("text" | "image" | "TEXT" | "IMAGE")[] | null;
1406
+ reasoningLevels?: components["schemas"]["ReasoningInput"][] | null;
1407
+ };
1408
+ };
1409
+ SecretChange: {
1410
+ value: string;
1411
+ } | {
1412
+ /** @constant */
1413
+ clear: true;
1414
+ };
1415
+ Reference: {
1416
+ model: {
1417
+ /** Format: uuid */
1418
+ id: string;
1419
+ upstreamId: string;
1420
+ displayName: string | null;
1421
+ };
1422
+ /** @enum {string} */
1423
+ scope: "GLOBAL_WEB" | "GLOBAL_PLAN" | "GLOBAL_EXECUTE" | "PROJECT_PLAN" | "PROJECT_EXECUTE";
1424
+ project: null | {
1425
+ /** Format: uuid */
1426
+ id: string;
1427
+ slug: string;
1428
+ name: string;
1429
+ };
1430
+ };
1431
+ Preferences: {
1432
+ /** Format: uuid */
1433
+ defaultModelId?: string | null;
1434
+ /** Format: uuid */
1435
+ planModelId?: string | null;
1436
+ /** Format: uuid */
1437
+ executeModelId?: string | null;
1438
+ };
1439
+ GlobalConfiguration: {
1440
+ revision: number;
1441
+ preferences: components["schemas"]["Preferences"];
1442
+ redmineBaseUrl: string | null;
1443
+ };
1444
+ UserConfiguration: {
1445
+ /** Format: uuid */
1446
+ userId: string;
1447
+ revision: number;
1448
+ redmineApiKeyConfigured: boolean;
1449
+ };
1450
+ ModelSecretChange: {
1451
+ value: string;
1452
+ } | {
1453
+ /** @constant */
1454
+ clear: true;
1455
+ };
1456
+ Selection: {
1457
+ modelId: string | null;
1458
+ reasoningLevel: components["schemas"]["ReasoningLevel"];
1459
+ };
1460
+ Project: {
1461
+ /** Format: uuid */
1462
+ id: string;
1463
+ /** @enum {string} */
1464
+ kind: "LOCAL" | "CNB";
1465
+ slug: string;
1466
+ name: string;
1467
+ webUrl: string | null;
1468
+ enabled: boolean;
1469
+ /** @enum {string} */
1470
+ upstreamStatus: "ACTIVE" | "ARCHIVED" | "FORKING" | "UNAVAILABLE";
1471
+ redmineProjectId: number | null;
1472
+ revision: number;
1473
+ headlessModelsRevision: number;
1474
+ /** Format: date-time */
1475
+ createdAt: string;
1476
+ planModelId: string | null;
1477
+ executeModelId: string | null;
1478
+ planReasoningLevel: components["schemas"]["ReasoningLevel"];
1479
+ executeReasoningLevel: components["schemas"]["ReasoningLevel"];
1480
+ revokedCount: number | null;
1481
+ skillCount: number | null;
1482
+ members?: {
1483
+ /** Format: uuid */
1484
+ userId: string;
1485
+ present: boolean;
1486
+ }[];
1487
+ };
1488
+ File: {
1489
+ path: string;
1490
+ sizeBytes: number;
1491
+ mimeType: string;
1492
+ isExecutable: boolean;
1493
+ };
1494
+ Skill: {
1495
+ id: string;
1496
+ projectId: string | null;
1497
+ name: string;
1498
+ description: string;
1499
+ whenToUse: string | null;
1500
+ invocation: {
1501
+ modelInvocable: boolean;
1502
+ userInvocable: boolean;
1503
+ };
1504
+ metadata: {
1505
+ [key: string]: unknown;
1506
+ } | null;
1507
+ content: string;
1508
+ version: number;
1509
+ files: components["schemas"]["File"][];
1510
+ fileCount: number;
1511
+ filesBytes: number;
1512
+ };
1513
+ "schemas-Skill": components["schemas"]["Skill"] & {
1514
+ archived: boolean;
1515
+ /** Format: date-time */
1516
+ updatedAt: string;
1517
+ disableModelInvocation: boolean | null;
1518
+ userInvocable: boolean | null;
1519
+ };
1520
+ FileInput: {
1521
+ path: string;
1522
+ content: string;
1523
+ /** @enum {string|null} */
1524
+ encoding?: "UTF8" | "BASE64" | "utf-8" | "base64" | null;
1525
+ isExecutable?: boolean | null;
1526
+ };
1527
+ Version: {
1528
+ version: number;
1529
+ content: string;
1530
+ /** Format: date-time */
1531
+ createdAt: string;
1532
+ /** Format: uuid */
1533
+ createdBy: string;
1534
+ createdByUsername: string | null;
1535
+ createdByDisplayName: string | null;
1536
+ };
1537
+ SkillVersion: components["schemas"]["Version"] & {
1538
+ archived: boolean;
1539
+ };
1540
+ FileContent: components["schemas"]["File"] & {
1541
+ content: string;
1542
+ /** @enum {string} */
1543
+ encoding: "UTF8" | "BASE64";
1544
+ };
1545
+ Portrait: {
1546
+ version: number;
1547
+ content: string;
1548
+ /** Format: date-time */
1549
+ updatedAt: string | null;
1550
+ /** Format: uuid */
1551
+ updatedBy: string | null;
1552
+ updatedByUsername: string | null;
1553
+ updatedByDisplayName: string | null;
1554
+ };
1555
+ Viewer: {
1556
+ id: string;
1557
+ username: string;
1558
+ displayName: string;
1559
+ };
1560
+ Failure: {
1561
+ /** @constant */
1562
+ status: "error";
1563
+ code: string;
1564
+ };
1565
+ "schemas-Connection": {
1566
+ id: string;
1567
+ provider: string | null;
1568
+ /** @enum {string} */
1569
+ protocol: "DEEPSEEK" | "OPENAI_CHAT" | "OPENAI_RESPONSES" | "ANTHROPIC";
1570
+ /** Format: uri */
1571
+ baseUrl: string;
1572
+ };
1573
+ "schemas-Model": {
1574
+ id: string;
1575
+ upstreamId: string;
1576
+ displayName: string | null;
1577
+ metadata: components["schemas"]["Metadata"];
1578
+ defaultReasoningLevel: components["schemas"]["ReasoningLevel"];
1579
+ connection: components["schemas"]["schemas-Connection"];
1580
+ };
1581
+ Credential: {
1582
+ connectionId: string;
1583
+ value: string;
1584
+ };
1585
+ ModelConfiguration: {
1586
+ models: components["schemas"]["schemas-Model"][];
1587
+ credentials: components["schemas"]["Credential"][];
1588
+ defaults: {
1589
+ web: components["schemas"]["Selection"];
1590
+ plan: components["schemas"]["Selection"];
1591
+ execute: components["schemas"]["Selection"];
1592
+ };
1593
+ };
1594
+ Redmine: {
1595
+ baseUrl: string | null;
1596
+ apiKey: string | null;
1597
+ };
1598
+ Bootstrap: {
1599
+ viewer: components["schemas"]["Viewer"];
1600
+ models: components["schemas"]["Failure"] | {
1601
+ /** @constant */
1602
+ status: "ok";
1603
+ data: components["schemas"]["ModelConfiguration"];
1604
+ };
1605
+ skills: components["schemas"]["Failure"] | {
1606
+ /** @constant */
1607
+ status: "ok";
1608
+ data: components["schemas"]["Skill"][];
1609
+ };
1610
+ selfPortrait: components["schemas"]["Failure"] | {
1611
+ /** @constant */
1612
+ status: "ok";
1613
+ data: string;
1614
+ };
1615
+ redmine: components["schemas"]["Failure"] | {
1616
+ /** @constant */
1617
+ status: "ok";
1618
+ data: components["schemas"]["Redmine"];
1619
+ };
1620
+ };
1621
+ "schemas-Project": {
1622
+ id: string;
1623
+ slug: string;
1624
+ name: string;
1625
+ enabled: boolean;
1626
+ planModelId: string | null;
1627
+ executeModelId: string | null;
1628
+ planReasoningLevel: components["schemas"]["ReasoningLevel"];
1629
+ executeReasoningLevel: components["schemas"]["ReasoningLevel"];
1630
+ };
1631
+ RedmineProject: {
1632
+ id: number;
1633
+ identifier: string;
1634
+ name: string;
1635
+ status: number;
1636
+ homepage: string | null;
1637
+ description: string | null;
1638
+ customFields: {
1639
+ name: string;
1640
+ value: string;
1641
+ }[];
1642
+ truncated: boolean;
1643
+ };
1644
+ ProjectProfile: {
1645
+ projectName: string;
1646
+ projectSlug: string;
1647
+ redmineProjectId: number | null;
1648
+ redmine: components["schemas"]["RedmineProject"] | null;
1649
+ };
1650
+ EventInput: {
1651
+ /** @enum {string} */
1652
+ action: "SESSION_START" | "SESSION_CREATED" | "SESSION_DISPOSED" | "SESSION_FAILED" | "SESSION_REFUSED" | "DELIVERY_READY" | "DELIVERY_VERIFIED";
1653
+ /** @enum {string} */
1654
+ outcome: "SUCCESS" | "DENIED" | "ERROR";
1655
+ code?: string | null;
1656
+ projectSlug?: string | null;
1657
+ targetLabel?: string | null;
1658
+ detail?: {
1659
+ [key: string]: unknown;
1660
+ } | null;
1661
+ sessionId?: string | null;
1662
+ clientId?: string | null;
1663
+ runRef?: string | null;
1664
+ workspacePath?: string | null;
1665
+ workspaceSlug?: string | null;
1666
+ modelId?: string | null;
1667
+ reasoningLevel?: string | null;
1668
+ };
1669
+ "schemas-Event": {
1670
+ /** Format: uuid */
1671
+ id: string;
1672
+ action: string;
1673
+ /** @enum {string} */
1674
+ outcome: "SUCCESS" | "DENIED" | "ERROR";
1675
+ code: string | null;
1676
+ /** Format: date-time */
1677
+ occurredAt: string;
1678
+ };
1679
+ };
1680
+ responses: {
1681
+ /** @description Authenticated user and CSRF token; console_session cookie is set */
1682
+ Session: {
1683
+ headers: {
1684
+ [name: string]: unknown;
1685
+ };
1686
+ content: {
1687
+ "application/json": components["schemas"]["Session"];
1688
+ };
1689
+ };
1690
+ /** @description Request rejected or operation failed; secrets are never included */
1691
+ Error: {
1692
+ headers: {
1693
+ [name: string]: unknown;
1694
+ };
1695
+ content: {
1696
+ "application/json": components["schemas"]["ApiError"];
1697
+ };
1698
+ };
1699
+ /** @description Operation completed */
1700
+ Ok: {
1701
+ headers: {
1702
+ [name: string]: unknown;
1703
+ };
1704
+ content: {
1705
+ "application/json": {
1706
+ /** @constant */
1707
+ ok: true;
1708
+ };
1709
+ };
1710
+ };
1711
+ /** @description Bound identity and connection state, never token plaintext */
1712
+ Account: {
1713
+ headers: {
1714
+ [name: string]: unknown;
1715
+ };
1716
+ content: {
1717
+ "application/json": components["schemas"]["CnbAccount"];
1718
+ };
1719
+ };
1720
+ /** @description Key returned once; server stores only its digest */
1721
+ NewKey: {
1722
+ headers: {
1723
+ [name: string]: unknown;
1724
+ };
1725
+ content: {
1726
+ "application/json": {
1727
+ key: string;
1728
+ record: components["schemas"]["AccessKey"];
1729
+ };
1730
+ };
1731
+ };
1732
+ /** @description Account without credentials */
1733
+ User: {
1734
+ headers: {
1735
+ [name: string]: unknown;
1736
+ };
1737
+ content: {
1738
+ "application/json": components["schemas"]["User"];
1739
+ };
1740
+ };
1741
+ /** @description Model configuration including stored and effective metadata */
1742
+ Model: {
1743
+ headers: {
1744
+ [name: string]: unknown;
1745
+ };
1746
+ content: {
1747
+ "application/json": components["schemas"]["Model"];
1748
+ };
1749
+ };
1750
+ /** @description Connection configuration and discovery status */
1751
+ Connection: {
1752
+ headers: {
1753
+ [name: string]: unknown;
1754
+ };
1755
+ content: {
1756
+ "application/json": components["schemas"]["Connection"];
1757
+ };
1758
+ };
1759
+ /** @description Read-only model catalog */
1760
+ Catalog: {
1761
+ headers: {
1762
+ [name: string]: unknown;
1763
+ };
1764
+ content: {
1765
+ "application/json": {
1766
+ upstreamId: string;
1767
+ displayName: string | null;
1768
+ metadata: components["schemas"]["Metadata"];
1769
+ }[];
1770
+ };
1771
+ };
1772
+ /** @description Stored global settings */
1773
+ Global: {
1774
+ headers: {
1775
+ [name: string]: unknown;
1776
+ };
1777
+ content: {
1778
+ "application/json": components["schemas"]["GlobalConfiguration"];
1779
+ };
1780
+ };
1781
+ /** @description Personal configuration status with no plaintext credentials */
1782
+ "responses-User": {
1783
+ headers: {
1784
+ [name: string]: unknown;
1785
+ };
1786
+ content: {
1787
+ "application/json": components["schemas"]["UserConfiguration"];
1788
+ };
1789
+ };
1790
+ /** @description Stored project configuration; availability is resolved separately for runtime reads */
1791
+ Project: {
1792
+ headers: {
1793
+ [name: string]: unknown;
1794
+ };
1795
+ content: {
1796
+ "application/json": components["schemas"]["Project"];
1797
+ };
1798
+ };
1799
+ /** @description Selected skill snapshot */
1800
+ Skill: {
1801
+ headers: {
1802
+ [name: string]: unknown;
1803
+ };
1804
+ content: {
1805
+ "application/json": components["schemas"]["schemas-Skill"];
1806
+ };
1807
+ };
1808
+ /** @description Current self portrait; version zero and empty content when never configured */
1809
+ Portrait: {
1810
+ headers: {
1811
+ [name: string]: unknown;
1812
+ };
1813
+ content: {
1814
+ "application/json": components["schemas"]["Portrait"];
1815
+ };
1816
+ };
1817
+ };
1818
+ parameters: {
1819
+ Origin: string;
1820
+ Csrf: string;
1821
+ First: number;
1822
+ Offset: number;
1823
+ Actor: string;
1824
+ Outcome: components["schemas"]["Outcome"];
1825
+ /** @description Inclusive lower time bound */
1826
+ From: string;
1827
+ /** @description Inclusive upper time bound */
1828
+ To: string;
1829
+ Id: string;
1830
+ Revision: number;
1831
+ /** @description Omitted selects head */
1832
+ Version: number;
1833
+ };
1834
+ requestBodies: {
1835
+ Enrollment: {
1836
+ content: {
1837
+ "application/json": {
1838
+ cnbToken: string;
1839
+ password: string;
1840
+ };
1841
+ };
1842
+ };
1843
+ Token: {
1844
+ content: {
1845
+ "application/json": {
1846
+ token: string;
1847
+ };
1848
+ };
1849
+ };
1850
+ Connection: {
1851
+ content: {
1852
+ "application/json": {
1853
+ expectedRevision: number;
1854
+ displayName: string;
1855
+ provider?: string | null;
1856
+ protocol: components["schemas"]["Protocol"];
1857
+ /** Format: uri */
1858
+ baseUrl?: string;
1859
+ enabled?: boolean;
1860
+ apiKey?: components["schemas"]["SecretChange"] | {
1861
+ /** @constant */
1862
+ reuse: true;
1863
+ };
1864
+ };
1865
+ };
1866
+ };
1867
+ Selection: {
1868
+ content: {
1869
+ "application/json": {
1870
+ expectedRevision: number;
1871
+ upstreamIds: string[];
1872
+ };
1873
+ };
1874
+ };
1875
+ User: {
1876
+ content: {
1877
+ "application/json": {
1878
+ expectedRevision: number;
1879
+ modelCredentials?: {
1880
+ /** Format: uuid */
1881
+ connectionId: string;
1882
+ apiKey?: components["schemas"]["ModelSecretChange"];
1883
+ }[];
1884
+ redmineApiKey?: components["schemas"]["SecretChange"];
1885
+ };
1886
+ };
1887
+ };
1888
+ };
1889
+ headers: never;
1890
+ pathItems: never;
1891
+ }
1892
+ export type $defs = Record<string, never>;
1893
+ export interface operations {
1894
+ listLogEvents: {
1895
+ parameters: {
1896
+ query?: {
1897
+ first?: components["parameters"]["First"];
1898
+ offset?: components["parameters"]["Offset"];
1899
+ actorUserId?: components["parameters"]["Actor"];
1900
+ outcome?: components["parameters"]["Outcome"];
1901
+ /** @description Inclusive lower time bound */
1902
+ from?: components["parameters"]["From"];
1903
+ /** @description Inclusive upper time bound */
1904
+ to?: components["parameters"]["To"];
1905
+ action?: string;
1906
+ /** @description Client events only */
1907
+ channel?: components["schemas"]["Channel"];
1908
+ /** @description Operations and client events only */
1909
+ targetType?: string;
1910
+ /** @description Operations and client events only */
1911
+ targetId?: string;
1912
+ };
1913
+ header?: never;
1914
+ path: {
1915
+ book: "operations" | "security" | "client-events";
1916
+ };
1917
+ cookie?: never;
1918
+ };
1919
+ requestBody?: never;
1920
+ responses: {
1921
+ /** @description Filtered page with authoritative total */
1922
+ 200: {
1923
+ headers: {
1924
+ [name: string]: unknown;
1925
+ };
1926
+ content: {
1927
+ "application/json": {
1928
+ total: number;
1929
+ items: components["schemas"]["Event"][];
1930
+ };
1931
+ };
1932
+ };
1933
+ default: components["responses"]["Error"];
1934
+ };
1935
+ };
1936
+ listLogActionOptions: {
1937
+ parameters: {
1938
+ query?: never;
1939
+ header?: never;
1940
+ path: {
1941
+ book: "operations" | "security" | "client-events";
1942
+ };
1943
+ cookie?: never;
1944
+ };
1945
+ requestBody?: never;
1946
+ responses: {
1947
+ /** @description Registered action codes and labels for this book */
1948
+ 200: {
1949
+ headers: {
1950
+ [name: string]: unknown;
1951
+ };
1952
+ content: {
1953
+ "application/json": {
1954
+ action: string;
1955
+ label: string;
1956
+ }[];
1957
+ };
1958
+ };
1959
+ default: components["responses"]["Error"];
1960
+ };
1961
+ };
1962
+ listClientSessions: {
1963
+ parameters: {
1964
+ query?: {
1965
+ first?: components["parameters"]["First"];
1966
+ offset?: components["parameters"]["Offset"];
1967
+ actorUserId?: components["parameters"]["Actor"];
1968
+ outcome?: components["parameters"]["Outcome"];
1969
+ /** @description Inclusive lower time bound */
1970
+ from?: components["parameters"]["From"];
1971
+ /** @description Inclusive upper time bound */
1972
+ to?: components["parameters"]["To"];
1973
+ channel?: components["schemas"]["Channel"];
1974
+ workspaceSlug?: string;
1975
+ };
1976
+ header?: never;
1977
+ path?: never;
1978
+ cookie?: never;
1979
+ };
1980
+ requestBody?: never;
1981
+ responses: {
1982
+ /** @description One row per logical client session */
1983
+ 200: {
1984
+ headers: {
1985
+ [name: string]: unknown;
1986
+ };
1987
+ content: {
1988
+ "application/json": {
1989
+ total: number;
1990
+ items: components["schemas"]["schemas-Session"][];
1991
+ };
1992
+ };
1993
+ };
1994
+ default: components["responses"]["Error"];
1995
+ };
1996
+ };
1997
+ readClientSessionTimeline: {
1998
+ parameters: {
1999
+ query: {
2000
+ sessionKey: string;
2001
+ };
2002
+ header?: never;
2003
+ path?: never;
2004
+ cookie?: never;
2005
+ };
2006
+ requestBody?: never;
2007
+ responses: {
2008
+ /** @description Events ordered by occurrence time; session key is opaque and may contain slashes */
2009
+ 200: {
2010
+ headers: {
2011
+ [name: string]: unknown;
2012
+ };
2013
+ content: {
2014
+ "application/json": components["schemas"]["Event"][];
2015
+ };
2016
+ };
2017
+ default: components["responses"]["Error"];
2018
+ };
2019
+ };
2020
+ readMyCnbAccount: {
2021
+ parameters: {
2022
+ query?: never;
2023
+ header?: never;
2024
+ path?: never;
2025
+ cookie?: never;
2026
+ };
2027
+ requestBody?: never;
2028
+ responses: {
2029
+ 200: components["responses"]["Account"];
2030
+ default: components["responses"]["Error"];
2031
+ };
2032
+ };
2033
+ replaceMyCnbToken: {
2034
+ parameters: {
2035
+ query?: never;
2036
+ header: {
2037
+ Origin: components["parameters"]["Origin"];
2038
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2039
+ };
2040
+ path?: never;
2041
+ cookie?: never;
2042
+ };
2043
+ requestBody: components["requestBodies"]["Token"];
2044
+ responses: {
2045
+ 200: components["responses"]["Account"];
2046
+ default: components["responses"]["Error"];
2047
+ };
2048
+ };
2049
+ refreshMyCnbAccount: {
2050
+ parameters: {
2051
+ query?: never;
2052
+ header: {
2053
+ Origin: components["parameters"]["Origin"];
2054
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2055
+ };
2056
+ path?: never;
2057
+ cookie?: never;
2058
+ };
2059
+ requestBody?: never;
2060
+ responses: {
2061
+ 200: components["responses"]["Account"];
2062
+ default: components["responses"]["Error"];
2063
+ };
2064
+ };
2065
+ replaceUserCnbToken: {
2066
+ parameters: {
2067
+ query?: never;
2068
+ header: {
2069
+ Origin: components["parameters"]["Origin"];
2070
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2071
+ };
2072
+ path: {
2073
+ id: components["parameters"]["Id"];
2074
+ };
2075
+ cookie?: never;
2076
+ };
2077
+ requestBody: components["requestBodies"]["Token"];
2078
+ responses: {
2079
+ 200: components["responses"]["Account"];
2080
+ default: components["responses"]["Error"];
2081
+ };
2082
+ };
2083
+ refreshUserCnbAccount: {
2084
+ parameters: {
2085
+ query?: never;
2086
+ header: {
2087
+ Origin: components["parameters"]["Origin"];
2088
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2089
+ };
2090
+ path: {
2091
+ id: components["parameters"]["Id"];
2092
+ };
2093
+ cookie?: never;
2094
+ };
2095
+ requestBody?: never;
2096
+ responses: {
2097
+ 200: components["responses"]["Account"];
2098
+ default: components["responses"]["Error"];
2099
+ };
2100
+ };
2101
+ listUpstreamCnbMembers: {
2102
+ parameters: {
2103
+ query?: never;
2104
+ header?: never;
2105
+ path?: never;
2106
+ cookie?: never;
2107
+ };
2108
+ requestBody?: never;
2109
+ responses: {
2110
+ /** @description Verified organization subtree member directory; no credentials */
2111
+ 200: {
2112
+ headers: {
2113
+ [name: string]: unknown;
2114
+ };
2115
+ content: {
2116
+ "application/json": components["schemas"]["Member"][];
2117
+ };
2118
+ };
2119
+ default: components["responses"]["Error"];
2120
+ };
2121
+ };
2122
+ listUpstreamCnbRepositories: {
2123
+ parameters: {
2124
+ query?: never;
2125
+ header?: never;
2126
+ path?: never;
2127
+ cookie?: never;
2128
+ };
2129
+ requestBody?: never;
2130
+ responses: {
2131
+ /** @description Visible non-secret repositories */
2132
+ 200: {
2133
+ headers: {
2134
+ [name: string]: unknown;
2135
+ };
2136
+ content: {
2137
+ "application/json": components["schemas"]["Repository"][];
2138
+ };
2139
+ };
2140
+ default: components["responses"]["Error"];
2141
+ };
2142
+ };
2143
+ importCnbUsers: {
2144
+ parameters: {
2145
+ query?: never;
2146
+ header: {
2147
+ Origin: components["parameters"]["Origin"];
2148
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2149
+ };
2150
+ path?: never;
2151
+ cookie?: never;
2152
+ };
2153
+ requestBody: {
2154
+ content: {
2155
+ "application/json": {
2156
+ externalUserIds: string[];
2157
+ };
2158
+ };
2159
+ };
2160
+ responses: {
2161
+ /** @description Selected visible identities become pending unbound accounts; duplicates and absent identities skipped */
2162
+ 200: {
2163
+ headers: {
2164
+ [name: string]: unknown;
2165
+ };
2166
+ content: {
2167
+ "application/json": {
2168
+ added: number;
2169
+ skipped: number;
2170
+ total: number;
2171
+ };
2172
+ };
2173
+ };
2174
+ default: components["responses"]["Error"];
2175
+ };
2176
+ };
2177
+ syncCnbProjects: {
2178
+ parameters: {
2179
+ query?: never;
2180
+ header: {
2181
+ Origin: components["parameters"]["Origin"];
2182
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2183
+ };
2184
+ path?: never;
2185
+ cookie?: never;
2186
+ };
2187
+ requestBody: {
2188
+ content: {
2189
+ "application/json": {
2190
+ repositoryIds: string[];
2191
+ };
2192
+ };
2193
+ };
2194
+ responses: {
2195
+ /** @description Import selection and refresh visible existing projects; invisible projects and local settings preserved */
2196
+ 200: {
2197
+ headers: {
2198
+ [name: string]: unknown;
2199
+ };
2200
+ content: {
2201
+ "application/json": {
2202
+ added: number;
2203
+ updated: number;
2204
+ /** @constant */
2205
+ removed: 0;
2206
+ total: number;
2207
+ };
2208
+ };
2209
+ };
2210
+ default: components["responses"]["Error"];
2211
+ };
2212
+ };
2213
+ listCnbAccessKeys: {
2214
+ parameters: {
2215
+ query?: never;
2216
+ header?: never;
2217
+ path?: never;
2218
+ cookie?: never;
2219
+ };
2220
+ requestBody?: never;
2221
+ responses: {
2222
+ /** @description Key metadata only; plaintext cannot be retrieved */
2223
+ 200: {
2224
+ headers: {
2225
+ [name: string]: unknown;
2226
+ };
2227
+ content: {
2228
+ "application/json": components["schemas"]["AccessKey"][];
2229
+ };
2230
+ };
2231
+ default: components["responses"]["Error"];
2232
+ };
2233
+ };
2234
+ createCnbAccessKey: {
2235
+ parameters: {
2236
+ query?: never;
2237
+ header: {
2238
+ Origin: components["parameters"]["Origin"];
2239
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2240
+ };
2241
+ path?: never;
2242
+ cookie?: never;
2243
+ };
2244
+ requestBody: {
2245
+ content: {
2246
+ "application/json": {
2247
+ name?: string | null;
2248
+ };
2249
+ };
2250
+ };
2251
+ responses: {
2252
+ 201: components["responses"]["NewKey"];
2253
+ default: components["responses"]["Error"];
2254
+ };
2255
+ };
2256
+ revokeCnbAccessKey: {
2257
+ parameters: {
2258
+ query?: never;
2259
+ header: {
2260
+ Origin: components["parameters"]["Origin"];
2261
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2262
+ };
2263
+ path: {
2264
+ id: components["parameters"]["Id"];
2265
+ };
2266
+ cookie?: never;
2267
+ };
2268
+ requestBody?: never;
2269
+ responses: {
2270
+ /** @description Key revoked immediately */
2271
+ 204: {
2272
+ headers: {
2273
+ [name: string]: unknown;
2274
+ };
2275
+ content?: never;
2276
+ };
2277
+ default: components["responses"]["Error"];
2278
+ };
2279
+ };
2280
+ rotateCnbAccessKey: {
2281
+ parameters: {
2282
+ query?: never;
2283
+ header: {
2284
+ Origin: components["parameters"]["Origin"];
2285
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2286
+ };
2287
+ path: {
2288
+ id: components["parameters"]["Id"];
2289
+ };
2290
+ cookie?: never;
2291
+ };
2292
+ requestBody?: never;
2293
+ responses: {
2294
+ 200: components["responses"]["NewKey"];
2295
+ default: components["responses"]["Error"];
2296
+ };
2297
+ };
2298
+ readViewer: {
2299
+ parameters: {
2300
+ query?: never;
2301
+ header?: never;
2302
+ path?: never;
2303
+ cookie?: never;
2304
+ };
2305
+ requestBody?: never;
2306
+ responses: {
2307
+ 200: components["responses"]["User"];
2308
+ default: components["responses"]["Error"];
2309
+ };
2310
+ };
2311
+ listRoles: {
2312
+ parameters: {
2313
+ query?: never;
2314
+ header?: never;
2315
+ path?: never;
2316
+ cookie?: never;
2317
+ };
2318
+ requestBody?: never;
2319
+ responses: {
2320
+ /** @description Administrator-only role definitions */
2321
+ 200: {
2322
+ headers: {
2323
+ [name: string]: unknown;
2324
+ };
2325
+ content: {
2326
+ "application/json": {
2327
+ /** @enum {string} */
2328
+ code: "USER" | "ADMIN";
2329
+ name: string;
2330
+ }[];
2331
+ };
2332
+ };
2333
+ default: components["responses"]["Error"];
2334
+ };
2335
+ };
2336
+ listUsers: {
2337
+ parameters: {
2338
+ query?: {
2339
+ first?: components["parameters"]["First"];
2340
+ offset?: components["parameters"]["Offset"];
2341
+ search?: string;
2342
+ role?: "USER" | "ADMIN";
2343
+ status?: "PENDING" | "ACTIVE" | "DISABLED";
2344
+ cnbState?: "CONNECTED" | "AWAITING_BINDING" | "RECONNECT_REQUIRED";
2345
+ };
2346
+ header?: never;
2347
+ path?: never;
2348
+ cookie?: never;
2349
+ };
2350
+ requestBody?: never;
2351
+ responses: {
2352
+ /** @description Matching users with aggregate activity and access counts */
2353
+ 200: {
2354
+ headers: {
2355
+ [name: string]: unknown;
2356
+ };
2357
+ content: {
2358
+ "application/json": {
2359
+ items: components["schemas"]["AdminUser"][];
2360
+ total: number;
2361
+ };
2362
+ };
2363
+ };
2364
+ default: components["responses"]["Error"];
2365
+ };
2366
+ };
2367
+ createUser: {
2368
+ parameters: {
2369
+ query?: never;
2370
+ header: {
2371
+ Origin: components["parameters"]["Origin"];
2372
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2373
+ };
2374
+ path?: never;
2375
+ cookie?: never;
2376
+ };
2377
+ requestBody: {
2378
+ content: {
2379
+ "application/json": {
2380
+ cnbToken: string;
2381
+ /** @description Must contain USER; omitted defaults to USER */
2382
+ roles?: ("USER" | "ADMIN")[];
2383
+ expectedExternalUserId?: string | null;
2384
+ };
2385
+ };
2386
+ };
2387
+ responses: {
2388
+ 201: components["responses"]["User"];
2389
+ default: components["responses"]["Error"];
2390
+ };
2391
+ };
2392
+ readUser: {
2393
+ parameters: {
2394
+ query?: never;
2395
+ header?: never;
2396
+ path: {
2397
+ id: components["parameters"]["Id"];
2398
+ };
2399
+ cookie?: never;
2400
+ };
2401
+ requestBody?: never;
2402
+ responses: {
2403
+ /** @description Administrator view of an account */
2404
+ 200: {
2405
+ headers: {
2406
+ [name: string]: unknown;
2407
+ };
2408
+ content: {
2409
+ "application/json": components["schemas"]["AdminUser"];
2410
+ };
2411
+ };
2412
+ default: components["responses"]["Error"];
2413
+ };
2414
+ };
2415
+ setUserRoles: {
2416
+ parameters: {
2417
+ query?: never;
2418
+ header: {
2419
+ Origin: components["parameters"]["Origin"];
2420
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2421
+ };
2422
+ path: {
2423
+ id: components["parameters"]["Id"];
2424
+ };
2425
+ cookie?: never;
2426
+ };
2427
+ requestBody: {
2428
+ content: {
2429
+ "application/json": {
2430
+ expectedRevision: number;
2431
+ roles: ("USER" | "ADMIN")[];
2432
+ };
2433
+ };
2434
+ };
2435
+ responses: {
2436
+ 200: components["responses"]["User"];
2437
+ default: components["responses"]["Error"];
2438
+ };
2439
+ };
2440
+ setUserStatus: {
2441
+ parameters: {
2442
+ query?: never;
2443
+ header: {
2444
+ Origin: components["parameters"]["Origin"];
2445
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2446
+ };
2447
+ path: {
2448
+ id: components["parameters"]["Id"];
2449
+ };
2450
+ cookie?: never;
2451
+ };
2452
+ requestBody: {
2453
+ content: {
2454
+ "application/json": {
2455
+ expectedRevision: number;
2456
+ /** @enum {string} */
2457
+ status: "PENDING" | "ACTIVE" | "DISABLED";
2458
+ };
2459
+ };
2460
+ };
2461
+ responses: {
2462
+ 200: components["responses"]["User"];
2463
+ default: components["responses"]["Error"];
2464
+ };
2465
+ };
2466
+ issueActivation: {
2467
+ parameters: {
2468
+ query?: never;
2469
+ header: {
2470
+ Origin: components["parameters"]["Origin"];
2471
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2472
+ };
2473
+ path: {
2474
+ id: components["parameters"]["Id"];
2475
+ };
2476
+ cookie?: never;
2477
+ };
2478
+ requestBody?: never;
2479
+ responses: {
2480
+ /** @description One-time activation URL; expires after 24 hours */
2481
+ 200: {
2482
+ headers: {
2483
+ [name: string]: unknown;
2484
+ };
2485
+ content: {
2486
+ "application/json": {
2487
+ /** Format: uri */
2488
+ url: string;
2489
+ /** Format: date-time */
2490
+ expiresAt: string;
2491
+ };
2492
+ };
2493
+ };
2494
+ default: components["responses"]["Error"];
2495
+ };
2496
+ };
2497
+ listModels: {
2498
+ parameters: {
2499
+ query?: {
2500
+ first?: components["parameters"]["First"];
2501
+ offset?: components["parameters"]["Offset"];
2502
+ connectionId?: string;
2503
+ enabled?: boolean;
2504
+ search?: string;
2505
+ availableOnly?: boolean;
2506
+ missingOnly?: boolean;
2507
+ protocol?: components["schemas"]["Protocol"];
2508
+ discoveryStatus?: components["schemas"]["DiscoveryStatus"];
2509
+ ids?: string[];
2510
+ };
2511
+ header?: never;
2512
+ path?: never;
2513
+ cookie?: never;
2514
+ };
2515
+ requestBody?: never;
2516
+ responses: {
2517
+ /** @description Filtered model page */
2518
+ 200: {
2519
+ headers: {
2520
+ [name: string]: unknown;
2521
+ };
2522
+ content: {
2523
+ "application/json": {
2524
+ items: components["schemas"]["Model"][];
2525
+ total: number;
2526
+ };
2527
+ };
2528
+ };
2529
+ default: components["responses"]["Error"];
2530
+ };
2531
+ };
2532
+ createModel: {
2533
+ parameters: {
2534
+ query?: never;
2535
+ header: {
2536
+ Origin: components["parameters"]["Origin"];
2537
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2538
+ };
2539
+ path?: never;
2540
+ cookie?: never;
2541
+ };
2542
+ requestBody: {
2543
+ content: {
2544
+ "application/json": components["schemas"]["ModelWrite"] & Record<string, never>;
2545
+ };
2546
+ };
2547
+ responses: {
2548
+ 201: components["responses"]["Model"];
2549
+ default: components["responses"]["Error"];
2550
+ };
2551
+ };
2552
+ readModel: {
2553
+ parameters: {
2554
+ query?: never;
2555
+ header?: never;
2556
+ path: {
2557
+ id: components["parameters"]["Id"];
2558
+ };
2559
+ cookie?: never;
2560
+ };
2561
+ requestBody?: never;
2562
+ responses: {
2563
+ 200: components["responses"]["Model"];
2564
+ default: components["responses"]["Error"];
2565
+ };
2566
+ };
2567
+ deleteModel: {
2568
+ parameters: {
2569
+ query: {
2570
+ expectedRevision: components["parameters"]["Revision"];
2571
+ };
2572
+ header: {
2573
+ Origin: components["parameters"]["Origin"];
2574
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2575
+ };
2576
+ path: {
2577
+ id: components["parameters"]["Id"];
2578
+ };
2579
+ cookie?: never;
2580
+ };
2581
+ requestBody?: never;
2582
+ responses: {
2583
+ /** @description Model removed and connection revision advanced; referenced models are rejected */
2584
+ 204: {
2585
+ headers: {
2586
+ [name: string]: unknown;
2587
+ };
2588
+ content?: never;
2589
+ };
2590
+ default: components["responses"]["Error"];
2591
+ };
2592
+ };
2593
+ updateModel: {
2594
+ parameters: {
2595
+ query?: never;
2596
+ header: {
2597
+ Origin: components["parameters"]["Origin"];
2598
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2599
+ };
2600
+ path: {
2601
+ id: components["parameters"]["Id"];
2602
+ };
2603
+ cookie?: never;
2604
+ };
2605
+ requestBody: {
2606
+ content: {
2607
+ "application/json": components["schemas"]["ModelWrite"];
2608
+ };
2609
+ };
2610
+ responses: {
2611
+ 200: components["responses"]["Model"];
2612
+ default: components["responses"]["Error"];
2613
+ };
2614
+ };
2615
+ listModelConnections: {
2616
+ parameters: {
2617
+ query?: {
2618
+ first?: components["parameters"]["First"];
2619
+ offset?: components["parameters"]["Offset"];
2620
+ enabled?: boolean;
2621
+ keyConfigured?: boolean;
2622
+ hasProvider?: boolean;
2623
+ discoveryStatus?: components["schemas"]["DiscoveryStatus"];
2624
+ excludeDiscoveryError?: string;
2625
+ };
2626
+ header?: never;
2627
+ path?: never;
2628
+ cookie?: never;
2629
+ };
2630
+ requestBody?: never;
2631
+ responses: {
2632
+ /** @description Filtered connections without plaintext credentials */
2633
+ 200: {
2634
+ headers: {
2635
+ [name: string]: unknown;
2636
+ };
2637
+ content: {
2638
+ "application/json": {
2639
+ items: components["schemas"]["Connection"][];
2640
+ total: number;
2641
+ };
2642
+ };
2643
+ };
2644
+ default: components["responses"]["Error"];
2645
+ };
2646
+ };
2647
+ createModelConnection: {
2648
+ parameters: {
2649
+ query?: never;
2650
+ header: {
2651
+ Origin: components["parameters"]["Origin"];
2652
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2653
+ };
2654
+ path?: never;
2655
+ cookie?: never;
2656
+ };
2657
+ requestBody: components["requestBodies"]["Connection"];
2658
+ responses: {
2659
+ 201: components["responses"]["Connection"];
2660
+ default: components["responses"]["Error"];
2661
+ };
2662
+ };
2663
+ readModelConnection: {
2664
+ parameters: {
2665
+ query?: never;
2666
+ header?: never;
2667
+ path: {
2668
+ id: components["parameters"]["Id"];
2669
+ };
2670
+ cookie?: never;
2671
+ };
2672
+ requestBody?: never;
2673
+ responses: {
2674
+ 200: components["responses"]["Connection"];
2675
+ default: components["responses"]["Error"];
2676
+ };
2677
+ };
2678
+ deleteModelConnection: {
2679
+ parameters: {
2680
+ query: {
2681
+ expectedRevision: components["parameters"]["Revision"];
2682
+ };
2683
+ header: {
2684
+ Origin: components["parameters"]["Origin"];
2685
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2686
+ };
2687
+ path: {
2688
+ id: components["parameters"]["Id"];
2689
+ };
2690
+ cookie?: never;
2691
+ };
2692
+ requestBody?: never;
2693
+ responses: {
2694
+ /** @description Custom connection, models and personal credential overrides removed atomically; preset and referenced connections rejected */
2695
+ 204: {
2696
+ headers: {
2697
+ [name: string]: unknown;
2698
+ };
2699
+ content?: never;
2700
+ };
2701
+ default: components["responses"]["Error"];
2702
+ };
2703
+ };
2704
+ updateModelConnection: {
2705
+ parameters: {
2706
+ query?: never;
2707
+ header: {
2708
+ Origin: components["parameters"]["Origin"];
2709
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2710
+ };
2711
+ path: {
2712
+ id: components["parameters"]["Id"];
2713
+ };
2714
+ cookie?: never;
2715
+ };
2716
+ requestBody: components["requestBodies"]["Connection"];
2717
+ responses: {
2718
+ 200: components["responses"]["Connection"];
2719
+ default: components["responses"]["Error"];
2720
+ };
2721
+ };
2722
+ listModelProviderPresets: {
2723
+ parameters: {
2724
+ query?: never;
2725
+ header?: never;
2726
+ path?: never;
2727
+ cookie?: never;
2728
+ };
2729
+ requestBody?: never;
2730
+ responses: {
2731
+ /** @description Built-in provider definitions aligned with runtime adapters */
2732
+ 200: {
2733
+ headers: {
2734
+ [name: string]: unknown;
2735
+ };
2736
+ content: {
2737
+ "application/json": {
2738
+ id: string;
2739
+ displayName: string;
2740
+ protocol: components["schemas"]["Protocol"];
2741
+ /** Format: uri */
2742
+ baseUrl: string;
2743
+ modelCount: number;
2744
+ }[];
2745
+ };
2746
+ };
2747
+ default: components["responses"]["Error"];
2748
+ };
2749
+ };
2750
+ queryModelReferences: {
2751
+ parameters: {
2752
+ query?: never;
2753
+ header?: never;
2754
+ path?: never;
2755
+ cookie?: never;
2756
+ };
2757
+ requestBody: {
2758
+ content: {
2759
+ "application/json": {
2760
+ modelIds: string[];
2761
+ } | {
2762
+ /** Format: uuid */
2763
+ connectionId: string;
2764
+ };
2765
+ };
2766
+ };
2767
+ responses: {
2768
+ /** @description Global and project references preventing deletion */
2769
+ 200: {
2770
+ headers: {
2771
+ [name: string]: unknown;
2772
+ };
2773
+ content: {
2774
+ "application/json": components["schemas"]["Reference"][];
2775
+ };
2776
+ };
2777
+ default: components["responses"]["Error"];
2778
+ };
2779
+ };
2780
+ readUpstreamModelCatalog: {
2781
+ parameters: {
2782
+ query?: never;
2783
+ header?: never;
2784
+ path: {
2785
+ id: components["parameters"]["Id"];
2786
+ };
2787
+ cookie?: never;
2788
+ };
2789
+ requestBody?: never;
2790
+ responses: {
2791
+ 200: components["responses"]["Catalog"];
2792
+ default: components["responses"]["Error"];
2793
+ };
2794
+ };
2795
+ readBuiltinModelCatalog: {
2796
+ parameters: {
2797
+ query?: never;
2798
+ header?: never;
2799
+ path: {
2800
+ id: components["parameters"]["Id"];
2801
+ };
2802
+ cookie?: never;
2803
+ };
2804
+ requestBody?: never;
2805
+ responses: {
2806
+ 200: components["responses"]["Catalog"];
2807
+ default: components["responses"]["Error"];
2808
+ };
2809
+ };
2810
+ syncModelCatalog: {
2811
+ parameters: {
2812
+ query?: never;
2813
+ header: {
2814
+ Origin: components["parameters"]["Origin"];
2815
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2816
+ };
2817
+ path: {
2818
+ id: components["parameters"]["Id"];
2819
+ };
2820
+ cookie?: never;
2821
+ };
2822
+ requestBody: components["requestBodies"]["Selection"];
2823
+ responses: {
2824
+ 200: components["responses"]["Connection"];
2825
+ default: components["responses"]["Error"];
2826
+ };
2827
+ };
2828
+ importBuiltinModels: {
2829
+ parameters: {
2830
+ query?: never;
2831
+ header: {
2832
+ Origin: components["parameters"]["Origin"];
2833
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2834
+ };
2835
+ path: {
2836
+ id: components["parameters"]["Id"];
2837
+ };
2838
+ cookie?: never;
2839
+ };
2840
+ requestBody: components["requestBodies"]["Selection"];
2841
+ responses: {
2842
+ 200: components["responses"]["Connection"];
2843
+ default: components["responses"]["Error"];
2844
+ };
2845
+ };
2846
+ readGlobalConfiguration: {
2847
+ parameters: {
2848
+ query?: never;
2849
+ header?: never;
2850
+ path?: never;
2851
+ cookie?: never;
2852
+ };
2853
+ requestBody?: never;
2854
+ responses: {
2855
+ 200: components["responses"]["Global"];
2856
+ default: components["responses"]["Error"];
2857
+ };
2858
+ };
2859
+ saveGlobalConfiguration: {
2860
+ parameters: {
2861
+ query?: never;
2862
+ header: {
2863
+ Origin: components["parameters"]["Origin"];
2864
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2865
+ };
2866
+ path?: never;
2867
+ cookie?: never;
2868
+ };
2869
+ requestBody: {
2870
+ content: {
2871
+ "application/json": {
2872
+ expectedRevision: number;
2873
+ preferences?: components["schemas"]["Preferences"];
2874
+ /** Format: uri */
2875
+ redmineBaseUrl?: string | null;
2876
+ };
2877
+ };
2878
+ };
2879
+ responses: {
2880
+ 200: components["responses"]["Global"];
2881
+ default: components["responses"]["Error"];
2882
+ };
2883
+ };
2884
+ readMyConfiguration: {
2885
+ parameters: {
2886
+ query?: never;
2887
+ header?: never;
2888
+ path?: never;
2889
+ cookie?: never;
2890
+ };
2891
+ requestBody?: never;
2892
+ responses: {
2893
+ 200: components["responses"]["responses-User"];
2894
+ default: components["responses"]["Error"];
2895
+ };
2896
+ };
2897
+ saveMyConfiguration: {
2898
+ parameters: {
2899
+ query?: never;
2900
+ header: {
2901
+ Origin: components["parameters"]["Origin"];
2902
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2903
+ };
2904
+ path?: never;
2905
+ cookie?: never;
2906
+ };
2907
+ requestBody: components["requestBodies"]["User"];
2908
+ responses: {
2909
+ 200: components["responses"]["responses-User"];
2910
+ default: components["responses"]["Error"];
2911
+ };
2912
+ };
2913
+ readUserConfiguration: {
2914
+ parameters: {
2915
+ query?: never;
2916
+ header?: never;
2917
+ path: {
2918
+ id: components["parameters"]["Id"];
2919
+ };
2920
+ cookie?: never;
2921
+ };
2922
+ requestBody?: never;
2923
+ responses: {
2924
+ 200: components["responses"]["responses-User"];
2925
+ default: components["responses"]["Error"];
2926
+ };
2927
+ };
2928
+ saveUserConfiguration: {
2929
+ parameters: {
2930
+ query?: never;
2931
+ header: {
2932
+ Origin: components["parameters"]["Origin"];
2933
+ "X-CSRF-Token": components["parameters"]["Csrf"];
2934
+ };
2935
+ path: {
2936
+ id: components["parameters"]["Id"];
2937
+ };
2938
+ cookie?: never;
2939
+ };
2940
+ requestBody: components["requestBodies"]["User"];
2941
+ responses: {
2942
+ 200: components["responses"]["responses-User"];
2943
+ default: components["responses"]["Error"];
2944
+ };
2945
+ };
2946
+ readUserCredentialReferences: {
2947
+ parameters: {
2948
+ query?: never;
2949
+ header?: never;
2950
+ path: {
2951
+ id: components["parameters"]["Id"];
2952
+ };
2953
+ cookie?: never;
2954
+ };
2955
+ requestBody?: never;
2956
+ responses: {
2957
+ /** @description Self or administrator; connection references only, never plaintext keys */
2958
+ 200: {
2959
+ headers: {
2960
+ [name: string]: unknown;
2961
+ };
2962
+ content: {
2963
+ "application/json": {
2964
+ /** Format: uuid */
2965
+ connectionId: string;
2966
+ revision: number;
2967
+ }[];
2968
+ };
2969
+ };
2970
+ default: components["responses"]["Error"];
2971
+ };
2972
+ };
2973
+ listAvailableModels: {
2974
+ parameters: {
2975
+ query?: {
2976
+ /** @description Omitted selects self; selecting another user requires administrator */
2977
+ userId?: string;
2978
+ };
2979
+ header?: never;
2980
+ path?: never;
2981
+ cookie?: never;
2982
+ };
2983
+ requestBody?: never;
2984
+ responses: {
2985
+ /** @description Models passing connection, model, existence and credential gates */
2986
+ 200: {
2987
+ headers: {
2988
+ [name: string]: unknown;
2989
+ };
2990
+ content: {
2991
+ "application/json": components["schemas"]["Model"][];
2992
+ };
2993
+ };
2994
+ default: components["responses"]["Error"];
2995
+ };
2996
+ };
2997
+ readEffectiveModelDefaults: {
2998
+ parameters: {
2999
+ query?: {
3000
+ userId?: string;
3001
+ };
3002
+ header?: never;
3003
+ path?: never;
3004
+ cookie?: never;
3005
+ };
3006
+ requestBody?: never;
3007
+ responses: {
3008
+ /** @description Independently resolved global defaults; unavailable selections are null */
3009
+ 200: {
3010
+ headers: {
3011
+ [name: string]: unknown;
3012
+ };
3013
+ content: {
3014
+ "application/json": {
3015
+ web: components["schemas"]["Selection"];
3016
+ plan: components["schemas"]["Selection"];
3017
+ execute: components["schemas"]["Selection"];
3018
+ };
3019
+ };
3020
+ };
3021
+ default: components["responses"]["Error"];
3022
+ };
3023
+ };
3024
+ listProjects: {
3025
+ parameters: {
3026
+ query?: {
3027
+ first?: number;
3028
+ offset?: number;
3029
+ /** @description Select own accessible projects; false requires administrator */
3030
+ mine?: boolean;
3031
+ search?: string;
3032
+ /** @description Organization subtree; empty selects ungrouped projects */
3033
+ organization?: string;
3034
+ kind?: "LOCAL" | "CNB";
3035
+ enabled?: boolean;
3036
+ upstreamStatuses?: ("ACTIVE" | "ARCHIVED" | "FORKING" | "UNAVAILABLE")[];
3037
+ accessibleBy?: string;
3038
+ };
3039
+ header?: never;
3040
+ path?: never;
3041
+ cookie?: never;
3042
+ };
3043
+ requestBody?: never;
3044
+ responses: {
3045
+ /** @description Matching projects and total count independent of page offset */
3046
+ 200: {
3047
+ headers: {
3048
+ [name: string]: unknown;
3049
+ };
3050
+ content: {
3051
+ "application/json": {
3052
+ items: components["schemas"]["Project"][];
3053
+ total: number;
3054
+ };
3055
+ };
3056
+ };
3057
+ default: components["responses"]["Error"];
3058
+ };
3059
+ };
3060
+ createProject: {
3061
+ parameters: {
3062
+ query?: never;
3063
+ header: {
3064
+ Origin: components["parameters"]["Origin"];
3065
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3066
+ };
3067
+ path?: never;
3068
+ cookie?: never;
3069
+ };
3070
+ requestBody: {
3071
+ content: {
3072
+ "application/json": {
3073
+ name: string;
3074
+ slug: string;
3075
+ };
3076
+ };
3077
+ };
3078
+ responses: {
3079
+ 201: components["responses"]["Project"];
3080
+ default: components["responses"]["Error"];
3081
+ };
3082
+ };
3083
+ readProject: {
3084
+ parameters: {
3085
+ query?: never;
3086
+ header?: never;
3087
+ path: {
3088
+ id: components["parameters"]["Id"];
3089
+ };
3090
+ cookie?: never;
3091
+ };
3092
+ requestBody?: never;
3093
+ responses: {
3094
+ 200: components["responses"]["Project"];
3095
+ default: components["responses"]["Error"];
3096
+ };
3097
+ };
3098
+ deleteProject: {
3099
+ parameters: {
3100
+ query: {
3101
+ expectedRevision: number;
3102
+ };
3103
+ header: {
3104
+ Origin: components["parameters"]["Origin"];
3105
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3106
+ };
3107
+ path: {
3108
+ id: components["parameters"]["Id"];
3109
+ };
3110
+ cookie?: never;
3111
+ };
3112
+ requestBody?: never;
3113
+ responses: {
3114
+ /** @description Project and its configuration, access exceptions, skill history and attachments removed atomically */
3115
+ 204: {
3116
+ headers: {
3117
+ [name: string]: unknown;
3118
+ };
3119
+ content?: never;
3120
+ };
3121
+ default: components["responses"]["Error"];
3122
+ };
3123
+ };
3124
+ updateProject: {
3125
+ parameters: {
3126
+ query?: never;
3127
+ header: {
3128
+ Origin: components["parameters"]["Origin"];
3129
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3130
+ };
3131
+ path: {
3132
+ id: components["parameters"]["Id"];
3133
+ };
3134
+ cookie?: never;
3135
+ };
3136
+ requestBody: {
3137
+ content: {
3138
+ "application/json": {
3139
+ /** @description Project row revision, not headlessModelsRevision */
3140
+ expectedRevision: number;
3141
+ name?: string;
3142
+ enabled?: boolean;
3143
+ /** @description Omitted preserves; null clears without contacting Redmine; value verified using operator's credentials */
3144
+ redmineProjectId?: number | null;
3145
+ };
3146
+ };
3147
+ };
3148
+ responses: {
3149
+ 200: components["responses"]["Project"];
3150
+ default: components["responses"]["Error"];
3151
+ };
3152
+ };
3153
+ updateProjectHeadlessModels: {
3154
+ parameters: {
3155
+ query?: never;
3156
+ header: {
3157
+ Origin: components["parameters"]["Origin"];
3158
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3159
+ };
3160
+ path: {
3161
+ id: components["parameters"]["Id"];
3162
+ };
3163
+ cookie?: never;
3164
+ };
3165
+ requestBody: {
3166
+ content: {
3167
+ "application/json": {
3168
+ /** @description headlessModelsRevision from project view */
3169
+ expectedRevision: number;
3170
+ /** Format: uuid */
3171
+ planModelId?: string | null;
3172
+ /** Format: uuid */
3173
+ executeModelId?: string | null;
3174
+ planReasoningLevel?: components["schemas"]["ReasoningInput"];
3175
+ executeReasoningLevel?: components["schemas"]["ReasoningInput"];
3176
+ };
3177
+ };
3178
+ };
3179
+ responses: {
3180
+ 200: components["responses"]["Project"];
3181
+ default: components["responses"]["Error"];
3182
+ };
3183
+ };
3184
+ setProjectAccess: {
3185
+ parameters: {
3186
+ query?: never;
3187
+ header: {
3188
+ Origin: components["parameters"]["Origin"];
3189
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3190
+ };
3191
+ path: {
3192
+ id: components["parameters"]["Id"];
3193
+ userId: string;
3194
+ };
3195
+ cookie?: never;
3196
+ };
3197
+ requestBody: {
3198
+ content: {
3199
+ "application/json": {
3200
+ expectedRevision: number;
3201
+ /** @description False revokes this user's default access; true restores it */
3202
+ present: boolean;
3203
+ };
3204
+ };
3205
+ };
3206
+ responses: {
3207
+ 200: components["responses"]["Project"];
3208
+ default: components["responses"]["Error"];
3209
+ };
3210
+ };
3211
+ listProjectOrganizations: {
3212
+ parameters: {
3213
+ query?: never;
3214
+ header?: never;
3215
+ path?: never;
3216
+ cookie?: never;
3217
+ };
3218
+ requestBody?: never;
3219
+ responses: {
3220
+ /** @description Derived organization tree with subtree project counts */
3221
+ 200: {
3222
+ headers: {
3223
+ [name: string]: unknown;
3224
+ };
3225
+ content: {
3226
+ "application/json": {
3227
+ path: string;
3228
+ parentPath: string | null;
3229
+ name: string;
3230
+ projectCount: number;
3231
+ }[];
3232
+ };
3233
+ };
3234
+ default: components["responses"]["Error"];
3235
+ };
3236
+ };
3237
+ listSkills: {
3238
+ parameters: {
3239
+ query?: {
3240
+ first?: number;
3241
+ offset?: number;
3242
+ scope?: "all" | "global" | "project";
3243
+ /** @description Required when scope is project */
3244
+ projectId?: string;
3245
+ search?: string;
3246
+ archived?: boolean;
3247
+ };
3248
+ header?: never;
3249
+ path?: never;
3250
+ cookie?: never;
3251
+ };
3252
+ requestBody?: never;
3253
+ responses: {
3254
+ /** @description Matching head versions and total count */
3255
+ 200: {
3256
+ headers: {
3257
+ [name: string]: unknown;
3258
+ };
3259
+ content: {
3260
+ "application/json": {
3261
+ items: components["schemas"]["schemas-Skill"][];
3262
+ total: number;
3263
+ };
3264
+ };
3265
+ };
3266
+ default: components["responses"]["Error"];
3267
+ };
3268
+ };
3269
+ createSkill: {
3270
+ parameters: {
3271
+ query?: never;
3272
+ header: {
3273
+ Origin: components["parameters"]["Origin"];
3274
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3275
+ };
3276
+ path?: never;
3277
+ cookie?: never;
3278
+ };
3279
+ requestBody: {
3280
+ content: {
3281
+ "application/json": {
3282
+ /** Format: uuid */
3283
+ projectId?: string | null;
3284
+ content: string;
3285
+ files?: components["schemas"]["FileInput"][];
3286
+ };
3287
+ };
3288
+ };
3289
+ responses: {
3290
+ 201: components["responses"]["Skill"];
3291
+ default: components["responses"]["Error"];
3292
+ };
3293
+ };
3294
+ readSkill: {
3295
+ parameters: {
3296
+ query?: {
3297
+ /** @description Omitted selects head */
3298
+ version?: components["parameters"]["Version"];
3299
+ };
3300
+ header?: never;
3301
+ path: {
3302
+ id: components["parameters"]["Id"];
3303
+ };
3304
+ cookie?: never;
3305
+ };
3306
+ requestBody?: never;
3307
+ responses: {
3308
+ 200: components["responses"]["Skill"];
3309
+ default: components["responses"]["Error"];
3310
+ };
3311
+ };
3312
+ saveSkillContent: {
3313
+ parameters: {
3314
+ query?: never;
3315
+ header: {
3316
+ Origin: components["parameters"]["Origin"];
3317
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3318
+ };
3319
+ path: {
3320
+ id: components["parameters"]["Id"];
3321
+ };
3322
+ cookie?: never;
3323
+ };
3324
+ requestBody: {
3325
+ content: {
3326
+ "application/json": {
3327
+ expectedVersion: number;
3328
+ content: string;
3329
+ };
3330
+ };
3331
+ };
3332
+ responses: {
3333
+ 200: components["responses"]["Skill"];
3334
+ default: components["responses"]["Error"];
3335
+ };
3336
+ };
3337
+ setSkillArchived: {
3338
+ parameters: {
3339
+ query?: never;
3340
+ header: {
3341
+ Origin: components["parameters"]["Origin"];
3342
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3343
+ };
3344
+ path: {
3345
+ id: components["parameters"]["Id"];
3346
+ };
3347
+ cookie?: never;
3348
+ };
3349
+ requestBody: {
3350
+ content: {
3351
+ "application/json": {
3352
+ expectedVersion: number;
3353
+ archived: boolean;
3354
+ };
3355
+ };
3356
+ };
3357
+ responses: {
3358
+ 200: components["responses"]["Skill"];
3359
+ default: components["responses"]["Error"];
3360
+ };
3361
+ };
3362
+ listSkillVersions: {
3363
+ parameters: {
3364
+ query?: never;
3365
+ header?: never;
3366
+ path: {
3367
+ id: components["parameters"]["Id"];
3368
+ };
3369
+ cookie?: never;
3370
+ };
3371
+ requestBody?: never;
3372
+ responses: {
3373
+ /** @description Immutable versions newest first */
3374
+ 200: {
3375
+ headers: {
3376
+ [name: string]: unknown;
3377
+ };
3378
+ content: {
3379
+ "application/json": components["schemas"]["SkillVersion"][];
3380
+ };
3381
+ };
3382
+ default: components["responses"]["Error"];
3383
+ };
3384
+ };
3385
+ readSkillFiles: {
3386
+ parameters: {
3387
+ query?: {
3388
+ /** @description Omitted selects head */
3389
+ version?: components["parameters"]["Version"];
3390
+ };
3391
+ header?: never;
3392
+ path: {
3393
+ id: components["parameters"]["Id"];
3394
+ };
3395
+ cookie?: never;
3396
+ };
3397
+ requestBody?: never;
3398
+ responses: {
3399
+ /** @description File bytes of the selected immutable version; audited sensitive read */
3400
+ 200: {
3401
+ headers: {
3402
+ [name: string]: unknown;
3403
+ };
3404
+ content: {
3405
+ "application/json": components["schemas"]["FileContent"][];
3406
+ };
3407
+ };
3408
+ default: components["responses"]["Error"];
3409
+ };
3410
+ };
3411
+ writeSkillFiles: {
3412
+ parameters: {
3413
+ query?: never;
3414
+ header: {
3415
+ Origin: components["parameters"]["Origin"];
3416
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3417
+ };
3418
+ path: {
3419
+ id: components["parameters"]["Id"];
3420
+ };
3421
+ cookie?: never;
3422
+ };
3423
+ requestBody: {
3424
+ content: {
3425
+ "application/json": {
3426
+ expectedVersion: number;
3427
+ files: components["schemas"]["FileInput"][];
3428
+ };
3429
+ };
3430
+ };
3431
+ responses: {
3432
+ 200: components["responses"]["Skill"];
3433
+ default: components["responses"]["Error"];
3434
+ };
3435
+ };
3436
+ removeSkillFiles: {
3437
+ parameters: {
3438
+ query?: never;
3439
+ header: {
3440
+ Origin: components["parameters"]["Origin"];
3441
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3442
+ };
3443
+ path: {
3444
+ id: components["parameters"]["Id"];
3445
+ };
3446
+ cookie?: never;
3447
+ };
3448
+ requestBody: {
3449
+ content: {
3450
+ "application/json": {
3451
+ expectedVersion: number;
3452
+ paths: string[];
3453
+ };
3454
+ };
3455
+ };
3456
+ responses: {
3457
+ 200: components["responses"]["Skill"];
3458
+ default: components["responses"]["Error"];
3459
+ };
3460
+ };
3461
+ readSelfPortrait: {
3462
+ parameters: {
3463
+ query?: never;
3464
+ header?: never;
3465
+ path?: never;
3466
+ cookie?: never;
3467
+ };
3468
+ requestBody?: never;
3469
+ responses: {
3470
+ 200: components["responses"]["Portrait"];
3471
+ default: components["responses"]["Error"];
3472
+ };
3473
+ };
3474
+ saveSelfPortrait: {
3475
+ parameters: {
3476
+ query?: never;
3477
+ header: {
3478
+ Origin: components["parameters"]["Origin"];
3479
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3480
+ };
3481
+ path?: never;
3482
+ cookie?: never;
3483
+ };
3484
+ requestBody: {
3485
+ content: {
3486
+ "application/json": {
3487
+ expectedVersion: number;
3488
+ content: string;
3489
+ };
3490
+ };
3491
+ };
3492
+ responses: {
3493
+ 200: components["responses"]["Portrait"];
3494
+ default: components["responses"]["Error"];
3495
+ };
3496
+ };
3497
+ listSelfPortraitVersions: {
3498
+ parameters: {
3499
+ query?: never;
3500
+ header?: never;
3501
+ path?: never;
3502
+ cookie?: never;
3503
+ };
3504
+ requestBody?: never;
3505
+ responses: {
3506
+ /** @description Latest 50 immutable snapshots, newest first */
3507
+ 200: {
3508
+ headers: {
3509
+ [name: string]: unknown;
3510
+ };
3511
+ content: {
3512
+ "application/json": components["schemas"]["Version"][];
3513
+ };
3514
+ };
3515
+ default: components["responses"]["Error"];
3516
+ };
3517
+ };
3518
+ runtimeBootstrap: {
3519
+ parameters: {
3520
+ query?: never;
3521
+ header?: never;
3522
+ path?: never;
3523
+ cookie?: never;
3524
+ };
3525
+ requestBody?: never;
3526
+ responses: {
3527
+ /** @description Independent authoritative domain results for this reader */
3528
+ 200: {
3529
+ headers: {
3530
+ [name: string]: unknown;
3531
+ };
3532
+ content: {
3533
+ "application/json": components["schemas"]["Bootstrap"];
3534
+ };
3535
+ };
3536
+ default: components["responses"]["Error"];
3537
+ };
3538
+ };
3539
+ runtimeProjects: {
3540
+ parameters: {
3541
+ query?: never;
3542
+ header?: never;
3543
+ path?: never;
3544
+ cookie?: never;
3545
+ };
3546
+ requestBody: {
3547
+ content: {
3548
+ "application/json": {
3549
+ /** @description Omitted or null selects all visible projects; empty array selects none */
3550
+ slugs?: string[] | null;
3551
+ };
3552
+ };
3553
+ };
3554
+ responses: {
3555
+ /** @description Current visible enabled projects matching the selection */
3556
+ 200: {
3557
+ headers: {
3558
+ [name: string]: unknown;
3559
+ };
3560
+ content: {
3561
+ "application/json": components["schemas"]["schemas-Project"][];
3562
+ };
3563
+ };
3564
+ default: components["responses"]["Error"];
3565
+ };
3566
+ };
3567
+ runtimeCredentials: {
3568
+ parameters: {
3569
+ query?: never;
3570
+ header?: never;
3571
+ path?: never;
3572
+ cookie?: never;
3573
+ };
3574
+ requestBody: {
3575
+ content: {
3576
+ "application/json": {
3577
+ /** @description Omitted selects all available connections; empty array selects none */
3578
+ connectionIds?: string[] | null;
3579
+ };
3580
+ };
3581
+ };
3582
+ responses: {
3583
+ /** @description Credentials for available connections, personal override first */
3584
+ 200: {
3585
+ headers: {
3586
+ [name: string]: unknown;
3587
+ };
3588
+ content: {
3589
+ "application/json": components["schemas"]["Credential"][];
3590
+ };
3591
+ };
3592
+ default: components["responses"]["Error"];
3593
+ };
3594
+ };
3595
+ runtimeSkillFiles: {
3596
+ parameters: {
3597
+ query?: never;
3598
+ header?: never;
3599
+ path: {
3600
+ id: string;
3601
+ };
3602
+ cookie?: never;
3603
+ };
3604
+ requestBody?: never;
3605
+ responses: {
3606
+ /** @description Current version files; inaccessible or archived skill returns an empty array */
3607
+ 200: {
3608
+ headers: {
3609
+ [name: string]: unknown;
3610
+ };
3611
+ content: {
3612
+ "application/json": components["schemas"]["FileContent"][];
3613
+ };
3614
+ };
3615
+ default: components["responses"]["Error"];
3616
+ };
3617
+ };
3618
+ runtimeProjectProfile: {
3619
+ parameters: {
3620
+ query?: never;
3621
+ header?: never;
3622
+ path: {
3623
+ id: string;
3624
+ };
3625
+ cookie?: never;
3626
+ };
3627
+ requestBody?: never;
3628
+ responses: {
3629
+ /** @description Visible project and optional Redmine profile read using this user's key */
3630
+ 200: {
3631
+ headers: {
3632
+ [name: string]: unknown;
3633
+ };
3634
+ content: {
3635
+ "application/json": components["schemas"]["ProjectProfile"];
3636
+ };
3637
+ };
3638
+ default: components["responses"]["Error"];
3639
+ };
3640
+ };
3641
+ runtimeReportEvent: {
3642
+ parameters: {
3643
+ query?: never;
3644
+ header?: never;
3645
+ path?: never;
3646
+ cookie?: never;
3647
+ };
3648
+ requestBody: {
3649
+ content: {
3650
+ "application/json": components["schemas"]["EventInput"];
3651
+ };
3652
+ };
3653
+ responses: {
3654
+ /** @description Accepted event; actor identity comes exclusively from authentication */
3655
+ 200: {
3656
+ headers: {
3657
+ [name: string]: unknown;
3658
+ };
3659
+ content: {
3660
+ "application/json": components["schemas"]["schemas-Event"];
3661
+ };
3662
+ };
3663
+ default: components["responses"]["Error"];
3664
+ };
3665
+ };
3666
+ health: {
3667
+ parameters: {
3668
+ query?: never;
3669
+ header?: never;
3670
+ path?: never;
3671
+ cookie?: never;
3672
+ };
3673
+ requestBody?: never;
3674
+ responses: {
3675
+ /** @description Database is reachable and startup migration completed */
3676
+ 200: {
3677
+ headers: {
3678
+ [name: string]: unknown;
3679
+ };
3680
+ content: {
3681
+ "application/json": {
3682
+ /** @constant */
3683
+ status: "ok";
3684
+ };
3685
+ };
3686
+ };
3687
+ };
3688
+ };
3689
+ login: {
3690
+ parameters: {
3691
+ query?: never;
3692
+ header: {
3693
+ Origin: components["parameters"]["Origin"];
3694
+ };
3695
+ path?: never;
3696
+ cookie?: never;
3697
+ };
3698
+ requestBody: {
3699
+ content: {
3700
+ "application/json": components["schemas"]["PasswordLogin"];
3701
+ };
3702
+ };
3703
+ responses: {
3704
+ /** @description Signed in; console_session cookie is HttpOnly and SameSite=Lax */
3705
+ 200: {
3706
+ headers: {
3707
+ [name: string]: unknown;
3708
+ };
3709
+ content: {
3710
+ "application/json": components["schemas"]["Session"];
3711
+ };
3712
+ };
3713
+ default: components["responses"]["Error"];
3714
+ };
3715
+ };
3716
+ issueUserToken: {
3717
+ parameters: {
3718
+ query?: never;
3719
+ header: {
3720
+ Origin: components["parameters"]["Origin"];
3721
+ };
3722
+ path?: never;
3723
+ cookie?: never;
3724
+ };
3725
+ requestBody: {
3726
+ content: {
3727
+ "application/json": components["schemas"]["PasswordLogin"];
3728
+ };
3729
+ };
3730
+ responses: {
3731
+ /** @description Runtime token; no browser session is created */
3732
+ 200: {
3733
+ headers: {
3734
+ [name: string]: unknown;
3735
+ };
3736
+ content: {
3737
+ "application/json": {
3738
+ user: components["schemas"]["User"];
3739
+ token: string;
3740
+ };
3741
+ };
3742
+ };
3743
+ default: components["responses"]["Error"];
3744
+ };
3745
+ };
3746
+ readSession: {
3747
+ parameters: {
3748
+ query?: never;
3749
+ header?: never;
3750
+ path?: never;
3751
+ cookie?: never;
3752
+ };
3753
+ requestBody?: never;
3754
+ responses: {
3755
+ /** @description Current user and CSRF token */
3756
+ 200: {
3757
+ headers: {
3758
+ [name: string]: unknown;
3759
+ };
3760
+ content: {
3761
+ "application/json": components["schemas"]["Session"];
3762
+ };
3763
+ };
3764
+ default: components["responses"]["Error"];
3765
+ };
3766
+ };
3767
+ logout: {
3768
+ parameters: {
3769
+ query?: never;
3770
+ header: {
3771
+ Origin: components["parameters"]["Origin"];
3772
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3773
+ };
3774
+ path?: never;
3775
+ cookie?: never;
3776
+ };
3777
+ requestBody?: never;
3778
+ responses: {
3779
+ 200: components["responses"]["Ok"];
3780
+ default: components["responses"]["Error"];
3781
+ };
3782
+ };
3783
+ changePassword: {
3784
+ parameters: {
3785
+ query?: never;
3786
+ header: {
3787
+ Origin: components["parameters"]["Origin"];
3788
+ "X-CSRF-Token": components["parameters"]["Csrf"];
3789
+ };
3790
+ path?: never;
3791
+ cookie?: never;
3792
+ };
3793
+ requestBody: {
3794
+ content: {
3795
+ "application/json": {
3796
+ currentPassword: string;
3797
+ newPassword: string;
3798
+ };
3799
+ };
3800
+ };
3801
+ responses: {
3802
+ 200: components["responses"]["Ok"];
3803
+ default: components["responses"]["Error"];
3804
+ };
3805
+ };
3806
+ readSetupState: {
3807
+ parameters: {
3808
+ query?: never;
3809
+ header?: never;
3810
+ path?: never;
3811
+ cookie?: never;
3812
+ };
3813
+ requestBody?: never;
3814
+ responses: {
3815
+ /** @description Whether the first administrator must be created */
3816
+ 200: {
3817
+ headers: {
3818
+ [name: string]: unknown;
3819
+ };
3820
+ content: {
3821
+ "application/json": {
3822
+ required: boolean;
3823
+ organization: string;
3824
+ };
3825
+ };
3826
+ };
3827
+ default: components["responses"]["Error"];
3828
+ };
3829
+ };
3830
+ initializeHub: {
3831
+ parameters: {
3832
+ query?: never;
3833
+ header: {
3834
+ Origin: components["parameters"]["Origin"];
3835
+ };
3836
+ path?: never;
3837
+ cookie?: never;
3838
+ };
3839
+ requestBody: components["requestBodies"]["Enrollment"];
3840
+ responses: {
3841
+ 200: components["responses"]["Session"];
3842
+ default: components["responses"]["Error"];
3843
+ };
3844
+ };
3845
+ registerMember: {
3846
+ parameters: {
3847
+ query?: never;
3848
+ header: {
3849
+ Origin: components["parameters"]["Origin"];
3850
+ };
3851
+ path?: never;
3852
+ cookie?: never;
3853
+ };
3854
+ requestBody: components["requestBodies"]["Enrollment"];
3855
+ responses: {
3856
+ 200: components["responses"]["Session"];
3857
+ default: components["responses"]["Error"];
3858
+ };
3859
+ };
3860
+ exchangeCnbToken: {
3861
+ parameters: {
3862
+ query?: never;
3863
+ header?: never;
3864
+ path?: never;
3865
+ cookie?: never;
3866
+ };
3867
+ requestBody: {
3868
+ content: {
3869
+ "application/json": {
3870
+ token: string;
3871
+ };
3872
+ };
3873
+ };
3874
+ responses: {
3875
+ /** @description Short-lived user token bound to the verified CNB identity; no browser session */
3876
+ 200: {
3877
+ headers: {
3878
+ [name: string]: unknown;
3879
+ };
3880
+ content: {
3881
+ "application/json": {
3882
+ user: components["schemas"]["User"];
3883
+ token: string;
3884
+ };
3885
+ };
3886
+ };
3887
+ default: components["responses"]["Error"];
3888
+ };
3889
+ };
3890
+ activateAccount: {
3891
+ parameters: {
3892
+ query?: never;
3893
+ header: {
3894
+ Origin: components["parameters"]["Origin"];
3895
+ };
3896
+ path?: never;
3897
+ cookie?: never;
3898
+ };
3899
+ requestBody: {
3900
+ content: {
3901
+ "application/json": {
3902
+ username: string;
3903
+ code: string;
3904
+ password: string;
3905
+ cnbToken?: string;
3906
+ };
3907
+ };
3908
+ };
3909
+ responses: {
3910
+ /** @description Activated account; all existing sessions are revoked */
3911
+ 200: {
3912
+ headers: {
3913
+ [name: string]: unknown;
3914
+ };
3915
+ content: {
3916
+ "application/json": {
3917
+ user: components["schemas"]["User"];
3918
+ };
3919
+ };
3920
+ };
3921
+ default: components["responses"]["Error"];
3922
+ };
3923
+ };
3924
+ }