@andamio/db-api-types 1.2.0 → 1.3.1

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.
package/dist/api.d.ts CHANGED
@@ -2939,7 +2939,7 @@ export interface paths {
2939
2939
  put?: never;
2940
2940
  /**
2941
2941
  * Create project on minting tx
2942
- * @description Creates a new project in database when minting transaction is submitted
2942
+ * @description Creates a new project and default escrow in database when minting transaction is submitted. The escrow is required for task creation.
2943
2943
  */
2944
2944
  post: {
2945
2945
  parameters: {
@@ -3025,6 +3025,92 @@ export interface paths {
3025
3025
  patch?: never;
3026
3026
  trace?: never;
3027
3027
  };
3028
+ "/project/owner/treasury/sync-managers": {
3029
+ parameters: {
3030
+ query?: never;
3031
+ header?: never;
3032
+ path?: never;
3033
+ cookie?: never;
3034
+ };
3035
+ get?: never;
3036
+ put?: never;
3037
+ /**
3038
+ * Sync project managers from on-chain
3039
+ * @description Syncs project managers from AndamioScan on-chain data to the database. Similar to course sync-teachers, this grants the 'ContributionManager' role to users who are managers on-chain.
3040
+ */
3041
+ post: {
3042
+ parameters: {
3043
+ query?: never;
3044
+ header?: never;
3045
+ path?: never;
3046
+ cookie?: never;
3047
+ };
3048
+ requestBody: {
3049
+ content: {
3050
+ "application/json": {
3051
+ /** @description 56-character hex policy ID of the treasury/project */
3052
+ treasury_nft_policy_id: string;
3053
+ };
3054
+ };
3055
+ };
3056
+ responses: {
3057
+ /** @description Managers synced successfully */
3058
+ 200: {
3059
+ headers: {
3060
+ [name: string]: unknown;
3061
+ };
3062
+ content: {
3063
+ "application/json": {
3064
+ treasury_nft_policy_id?: string;
3065
+ /** @description Access token aliases of managers synced */
3066
+ managers_synced?: string[];
3067
+ success?: boolean;
3068
+ };
3069
+ };
3070
+ };
3071
+ /** @description Bad request - missing treasury_nft_policy_id */
3072
+ 400: {
3073
+ headers: {
3074
+ [name: string]: unknown;
3075
+ };
3076
+ content?: never;
3077
+ };
3078
+ /** @description Unauthorized - Treasury Owner role required */
3079
+ 401: {
3080
+ headers: {
3081
+ [name: string]: unknown;
3082
+ };
3083
+ content?: never;
3084
+ };
3085
+ /** @description Forbidden - not owner or on-chain manager */
3086
+ 403: {
3087
+ headers: {
3088
+ [name: string]: unknown;
3089
+ };
3090
+ content?: never;
3091
+ };
3092
+ /** @description Treasury not found */
3093
+ 404: {
3094
+ headers: {
3095
+ [name: string]: unknown;
3096
+ };
3097
+ content?: never;
3098
+ };
3099
+ /** @description Bad gateway - failed to fetch from AndamioScan */
3100
+ 502: {
3101
+ headers: {
3102
+ [name: string]: unknown;
3103
+ };
3104
+ content?: never;
3105
+ };
3106
+ };
3107
+ };
3108
+ delete?: never;
3109
+ options?: never;
3110
+ head?: never;
3111
+ patch?: never;
3112
+ trace?: never;
3113
+ };
3028
3114
  "/project/public/task/list/{treasury_nft_policy_id}": {
3029
3115
  parameters: {
3030
3116
  query?: never;
@@ -3713,102 +3799,1732 @@ export interface paths {
3713
3799
  patch?: never;
3714
3800
  trace?: never;
3715
3801
  };
3716
- }
3717
- export type webhooks = Record<string, never>;
3718
- export interface components {
3719
- schemas: {
3720
- HealthResponse: {
3721
- /** @example ok */
3722
- status?: string;
3723
- /** @example 1.0.0 */
3724
- version?: string;
3725
- build_time?: string;
3726
- /** @example 2h30m15s */
3727
- uptime?: string;
3728
- /** @example connected */
3729
- database?: string;
3730
- /** @example false */
3731
- read_only?: boolean;
3732
- /** @example go1.21.0 */
3733
- go_version?: string;
3734
- };
3735
- LoginSessionResponse: {
3736
- id?: string;
3737
- nonce?: string;
3738
- /** Format: date-time */
3739
- expires_at?: string;
3802
+ "/project-v2/public/projects/list": {
3803
+ parameters: {
3804
+ query?: never;
3805
+ header?: never;
3806
+ path?: never;
3807
+ cookie?: never;
3740
3808
  };
3741
- ValidateSignatureRequest: {
3742
- /** @description Session ID from login/session */
3743
- id: string;
3744
- signature: {
3745
- /** @description CIP-30 COSE_Sign1 signature */
3746
- signature?: string;
3747
- /** @description CIP-30 COSE_Key */
3748
- key?: string;
3809
+ /**
3810
+ * List published projects
3811
+ * @description Returns all ON_CHAIN projects with their managers and states
3812
+ */
3813
+ get: {
3814
+ parameters: {
3815
+ query?: never;
3816
+ header?: never;
3817
+ path?: never;
3818
+ cookie?: never;
3749
3819
  };
3750
- /** @description Cardano address (hex or bech32) */
3751
- address: string;
3752
- andamio_access_token_unit?: string;
3753
- /** @default false */
3754
- convert_utf8: boolean;
3755
- wallet_preference?: string;
3756
- };
3757
- ValidateSignatureResponse: {
3758
- /** @description JWT token */
3759
- jwt?: string;
3760
- user?: {
3761
- id?: string;
3762
- cardano_bech32_addr?: string;
3763
- access_token_alias?: string;
3820
+ requestBody?: never;
3821
+ responses: {
3822
+ /** @description List of projects */
3823
+ 200: {
3824
+ headers: {
3825
+ [name: string]: unknown;
3826
+ };
3827
+ content: {
3828
+ "application/json": components["schemas"]["ProjectV2Output"][];
3829
+ };
3830
+ };
3764
3831
  };
3765
3832
  };
3766
- CreateCourseRequest: {
3767
- course_code: string;
3768
- title: string;
3769
- description?: string;
3770
- image_url?: string;
3771
- video_url?: string;
3772
- };
3773
- UpdateCourseRequest: {
3774
- course_code: string;
3775
- title?: string;
3776
- description?: string;
3777
- image_url?: string;
3778
- video_url?: string;
3779
- };
3780
- CreateModuleRequest: {
3781
- policy_id: string;
3782
- module_code: string;
3783
- title: string;
3784
- description?: string;
3833
+ put?: never;
3834
+ post?: never;
3835
+ delete?: never;
3836
+ options?: never;
3837
+ head?: never;
3838
+ patch?: never;
3839
+ trace?: never;
3840
+ };
3841
+ "/project-v2/public/project/{project_id}": {
3842
+ parameters: {
3843
+ query?: never;
3844
+ header?: never;
3845
+ path?: never;
3846
+ cookie?: never;
3785
3847
  };
3786
- BatchUpdateModuleStatusRequest: {
3787
- policy_id: string;
3788
- course_modules: {
3789
- module_code: string;
3790
- /** @enum {string} */
3791
- status: "DRAFT" | "PENDING_TX" | "ON_CHAIN";
3792
- module_hash?: string;
3793
- pending_tx_hash?: string;
3794
- }[];
3848
+ /**
3849
+ * Get project by ID
3850
+ * @description Returns a project with its managers and states
3851
+ */
3852
+ get: {
3853
+ parameters: {
3854
+ query?: never;
3855
+ header?: never;
3856
+ path: {
3857
+ /** @description The project's unique identifier (from on-chain) */
3858
+ project_id: string;
3859
+ };
3860
+ cookie?: never;
3861
+ };
3862
+ requestBody?: never;
3863
+ responses: {
3864
+ /** @description Project found */
3865
+ 200: {
3866
+ headers: {
3867
+ [name: string]: unknown;
3868
+ };
3869
+ content: {
3870
+ "application/json": components["schemas"]["ProjectV2Output"];
3871
+ };
3872
+ };
3873
+ /** @description Project not found */
3874
+ 404: {
3875
+ headers: {
3876
+ [name: string]: unknown;
3877
+ };
3878
+ content?: never;
3879
+ };
3880
+ };
3795
3881
  };
3796
- BatchConfirmModuleTransactionRequest: {
3797
- policy_id: string;
3798
- tx_hash: string;
3799
- course_modules: {
3800
- module_code: string;
3801
- module_hash?: string;
3802
- }[];
3882
+ put?: never;
3883
+ post?: never;
3884
+ delete?: never;
3885
+ options?: never;
3886
+ head?: never;
3887
+ patch?: never;
3888
+ trace?: never;
3889
+ };
3890
+ "/project-v2/public/project-state/{project_state_policy_id}": {
3891
+ parameters: {
3892
+ query?: never;
3893
+ header?: never;
3894
+ path?: never;
3895
+ cookie?: never;
3803
3896
  };
3804
- CreateSLTRequest: {
3805
- policy_id: string;
3806
- module_code: string;
3807
- module_index: number;
3808
- slt_text: string;
3897
+ /**
3898
+ * Get project state by policy ID
3899
+ * @description Returns a project state with prerequisites and tasks
3900
+ */
3901
+ get: {
3902
+ parameters: {
3903
+ query?: never;
3904
+ header?: never;
3905
+ path: {
3906
+ /** @description The project state's policy ID */
3907
+ project_state_policy_id: string;
3908
+ };
3909
+ cookie?: never;
3910
+ };
3911
+ requestBody?: never;
3912
+ responses: {
3913
+ /** @description Project state found */
3914
+ 200: {
3915
+ headers: {
3916
+ [name: string]: unknown;
3917
+ };
3918
+ content: {
3919
+ "application/json": components["schemas"]["ProjectStateOutput"];
3920
+ };
3921
+ };
3922
+ /** @description Project state not found */
3923
+ 404: {
3924
+ headers: {
3925
+ [name: string]: unknown;
3926
+ };
3927
+ content?: never;
3928
+ };
3929
+ };
3809
3930
  };
3810
- CreateLessonRequest: {
3811
- policy_id: string;
3931
+ put?: never;
3932
+ post?: never;
3933
+ delete?: never;
3934
+ options?: never;
3935
+ head?: never;
3936
+ patch?: never;
3937
+ trace?: never;
3938
+ };
3939
+ "/project-v2/public/tasks/{project_state_policy_id}": {
3940
+ parameters: {
3941
+ query?: never;
3942
+ header?: never;
3943
+ path?: never;
3944
+ cookie?: never;
3945
+ };
3946
+ /**
3947
+ * List tasks for a project state
3948
+ * @description Returns all ON_CHAIN tasks for a project state
3949
+ */
3950
+ get: {
3951
+ parameters: {
3952
+ query?: never;
3953
+ header?: never;
3954
+ path: {
3955
+ /** @description The project state's policy ID */
3956
+ project_state_policy_id: string;
3957
+ };
3958
+ cookie?: never;
3959
+ };
3960
+ requestBody?: never;
3961
+ responses: {
3962
+ /** @description List of tasks */
3963
+ 200: {
3964
+ headers: {
3965
+ [name: string]: unknown;
3966
+ };
3967
+ content: {
3968
+ "application/json": components["schemas"]["ProjectTaskV2Output"][];
3969
+ };
3970
+ };
3971
+ /** @description Project state not found */
3972
+ 404: {
3973
+ headers: {
3974
+ [name: string]: unknown;
3975
+ };
3976
+ content?: never;
3977
+ };
3978
+ };
3979
+ };
3980
+ put?: never;
3981
+ post?: never;
3982
+ delete?: never;
3983
+ options?: never;
3984
+ head?: never;
3985
+ patch?: never;
3986
+ trace?: never;
3987
+ };
3988
+ "/project-v2/public/task/{task_hash}": {
3989
+ parameters: {
3990
+ query?: never;
3991
+ header?: never;
3992
+ path?: never;
3993
+ cookie?: never;
3994
+ };
3995
+ /**
3996
+ * Get task by hash
3997
+ * @description Returns a task with its tokens
3998
+ */
3999
+ get: {
4000
+ parameters: {
4001
+ query?: never;
4002
+ header?: never;
4003
+ path: {
4004
+ /** @description The task's unique hash */
4005
+ task_hash: string;
4006
+ };
4007
+ cookie?: never;
4008
+ };
4009
+ requestBody?: never;
4010
+ responses: {
4011
+ /** @description Task found */
4012
+ 200: {
4013
+ headers: {
4014
+ [name: string]: unknown;
4015
+ };
4016
+ content: {
4017
+ "application/json": components["schemas"]["ProjectTaskV2Output"];
4018
+ };
4019
+ };
4020
+ /** @description Task not found */
4021
+ 404: {
4022
+ headers: {
4023
+ [name: string]: unknown;
4024
+ };
4025
+ content?: never;
4026
+ };
4027
+ };
4028
+ };
4029
+ put?: never;
4030
+ post?: never;
4031
+ delete?: never;
4032
+ options?: never;
4033
+ head?: never;
4034
+ patch?: never;
4035
+ trace?: never;
4036
+ };
4037
+ "/project-v2/admin/project/create": {
4038
+ parameters: {
4039
+ query?: never;
4040
+ header?: never;
4041
+ path?: never;
4042
+ cookie?: never;
4043
+ };
4044
+ get?: never;
4045
+ put?: never;
4046
+ /**
4047
+ * Create a new project
4048
+ * @description Creates a project in PENDING_TX status (admin only)
4049
+ */
4050
+ post: {
4051
+ parameters: {
4052
+ query?: never;
4053
+ header?: never;
4054
+ path?: never;
4055
+ cookie?: never;
4056
+ };
4057
+ requestBody: {
4058
+ content: {
4059
+ "application/json": components["schemas"]["CreateProjectV2Request"];
4060
+ };
4061
+ };
4062
+ responses: {
4063
+ /** @description Project created */
4064
+ 201: {
4065
+ headers: {
4066
+ [name: string]: unknown;
4067
+ };
4068
+ content: {
4069
+ "application/json": components["schemas"]["ProjectV2Output"];
4070
+ };
4071
+ };
4072
+ /** @description Invalid request */
4073
+ 400: {
4074
+ headers: {
4075
+ [name: string]: unknown;
4076
+ };
4077
+ content?: never;
4078
+ };
4079
+ /** @description Unauthorized */
4080
+ 401: {
4081
+ headers: {
4082
+ [name: string]: unknown;
4083
+ };
4084
+ content?: never;
4085
+ };
4086
+ /** @description Project ID already exists */
4087
+ 409: {
4088
+ headers: {
4089
+ [name: string]: unknown;
4090
+ };
4091
+ content?: never;
4092
+ };
4093
+ };
4094
+ };
4095
+ delete?: never;
4096
+ options?: never;
4097
+ head?: never;
4098
+ patch?: never;
4099
+ trace?: never;
4100
+ };
4101
+ "/project-v2/admin/project/update": {
4102
+ parameters: {
4103
+ query?: never;
4104
+ header?: never;
4105
+ path?: never;
4106
+ cookie?: never;
4107
+ };
4108
+ get?: never;
4109
+ put?: never;
4110
+ /**
4111
+ * Update a project
4112
+ * @description Updates project metadata (admin only)
4113
+ */
4114
+ post: {
4115
+ parameters: {
4116
+ query?: never;
4117
+ header?: never;
4118
+ path?: never;
4119
+ cookie?: never;
4120
+ };
4121
+ requestBody: {
4122
+ content: {
4123
+ "application/json": components["schemas"]["UpdateProjectV2Request"];
4124
+ };
4125
+ };
4126
+ responses: {
4127
+ /** @description Project updated */
4128
+ 200: {
4129
+ headers: {
4130
+ [name: string]: unknown;
4131
+ };
4132
+ content: {
4133
+ "application/json": components["schemas"]["ProjectV2Output"];
4134
+ };
4135
+ };
4136
+ /** @description Invalid request */
4137
+ 400: {
4138
+ headers: {
4139
+ [name: string]: unknown;
4140
+ };
4141
+ content?: never;
4142
+ };
4143
+ /** @description Unauthorized */
4144
+ 401: {
4145
+ headers: {
4146
+ [name: string]: unknown;
4147
+ };
4148
+ content?: never;
4149
+ };
4150
+ /** @description Forbidden - not the admin */
4151
+ 403: {
4152
+ headers: {
4153
+ [name: string]: unknown;
4154
+ };
4155
+ content?: never;
4156
+ };
4157
+ /** @description Project not found */
4158
+ 404: {
4159
+ headers: {
4160
+ [name: string]: unknown;
4161
+ };
4162
+ content?: never;
4163
+ };
4164
+ };
4165
+ };
4166
+ delete?: never;
4167
+ options?: never;
4168
+ head?: never;
4169
+ patch?: never;
4170
+ trace?: never;
4171
+ };
4172
+ "/project-v2/admin/project/confirm-tx": {
4173
+ parameters: {
4174
+ query?: never;
4175
+ header?: never;
4176
+ path?: never;
4177
+ cookie?: never;
4178
+ };
4179
+ get?: never;
4180
+ put?: never;
4181
+ /**
4182
+ * Confirm project transaction
4183
+ * @description Confirms the project creation transaction and sets status to ON_CHAIN
4184
+ */
4185
+ post: {
4186
+ parameters: {
4187
+ query?: never;
4188
+ header?: never;
4189
+ path?: never;
4190
+ cookie?: never;
4191
+ };
4192
+ requestBody: {
4193
+ content: {
4194
+ "application/json": components["schemas"]["ConfirmProjectV2TxRequest"];
4195
+ };
4196
+ };
4197
+ responses: {
4198
+ /** @description Transaction confirmed */
4199
+ 200: {
4200
+ headers: {
4201
+ [name: string]: unknown;
4202
+ };
4203
+ content: {
4204
+ "application/json": components["schemas"]["ProjectV2Output"];
4205
+ };
4206
+ };
4207
+ /** @description Invalid status transition */
4208
+ 400: {
4209
+ headers: {
4210
+ [name: string]: unknown;
4211
+ };
4212
+ content?: never;
4213
+ };
4214
+ /** @description Unauthorized */
4215
+ 401: {
4216
+ headers: {
4217
+ [name: string]: unknown;
4218
+ };
4219
+ content?: never;
4220
+ };
4221
+ /** @description Forbidden */
4222
+ 403: {
4223
+ headers: {
4224
+ [name: string]: unknown;
4225
+ };
4226
+ content?: never;
4227
+ };
4228
+ /** @description Project not found */
4229
+ 404: {
4230
+ headers: {
4231
+ [name: string]: unknown;
4232
+ };
4233
+ content?: never;
4234
+ };
4235
+ };
4236
+ };
4237
+ delete?: never;
4238
+ options?: never;
4239
+ head?: never;
4240
+ patch?: never;
4241
+ trace?: never;
4242
+ };
4243
+ "/project-v2/admin/project/register": {
4244
+ parameters: {
4245
+ query?: never;
4246
+ header?: never;
4247
+ path?: never;
4248
+ cookie?: never;
4249
+ };
4250
+ get?: never;
4251
+ put?: never;
4252
+ /**
4253
+ * Register existing on-chain project
4254
+ * @description Registers an existing on-chain project into the database with metadata. Verifies the user is the on-chain admin via AndamioScan.
4255
+ */
4256
+ post: {
4257
+ parameters: {
4258
+ query?: never;
4259
+ header?: never;
4260
+ path?: never;
4261
+ cookie?: never;
4262
+ };
4263
+ requestBody: {
4264
+ content: {
4265
+ "application/json": components["schemas"]["RegisterProjectV2Request"];
4266
+ };
4267
+ };
4268
+ responses: {
4269
+ /** @description Project registered */
4270
+ 201: {
4271
+ headers: {
4272
+ [name: string]: unknown;
4273
+ };
4274
+ content: {
4275
+ "application/json": components["schemas"]["ProjectV2Output"];
4276
+ };
4277
+ };
4278
+ /** @description Invalid request (missing project_id or title) */
4279
+ 400: {
4280
+ headers: {
4281
+ [name: string]: unknown;
4282
+ };
4283
+ content?: never;
4284
+ };
4285
+ /** @description Unauthorized */
4286
+ 401: {
4287
+ headers: {
4288
+ [name: string]: unknown;
4289
+ };
4290
+ content?: never;
4291
+ };
4292
+ /** @description User is not the on-chain admin */
4293
+ 403: {
4294
+ headers: {
4295
+ [name: string]: unknown;
4296
+ };
4297
+ content?: never;
4298
+ };
4299
+ /** @description Project not found on-chain */
4300
+ 404: {
4301
+ headers: {
4302
+ [name: string]: unknown;
4303
+ };
4304
+ content?: never;
4305
+ };
4306
+ /** @description Project already registered in database */
4307
+ 409: {
4308
+ headers: {
4309
+ [name: string]: unknown;
4310
+ };
4311
+ content?: never;
4312
+ };
4313
+ /** @description Failed to fetch on-chain data */
4314
+ 502: {
4315
+ headers: {
4316
+ [name: string]: unknown;
4317
+ };
4318
+ content?: never;
4319
+ };
4320
+ };
4321
+ };
4322
+ delete?: never;
4323
+ options?: never;
4324
+ head?: never;
4325
+ patch?: never;
4326
+ trace?: never;
4327
+ };
4328
+ "/project-v2/admin/project/sync": {
4329
+ parameters: {
4330
+ query?: never;
4331
+ header?: never;
4332
+ path?: never;
4333
+ cookie?: never;
4334
+ };
4335
+ get?: never;
4336
+ put?: never;
4337
+ /**
4338
+ * Sync project from chain
4339
+ * @description Syncs project data from AndamioScan API
4340
+ */
4341
+ post: {
4342
+ parameters: {
4343
+ query?: never;
4344
+ header?: never;
4345
+ path?: never;
4346
+ cookie?: never;
4347
+ };
4348
+ requestBody: {
4349
+ content: {
4350
+ "application/json": {
4351
+ project_id: string;
4352
+ };
4353
+ };
4354
+ };
4355
+ responses: {
4356
+ /** @description Project synced */
4357
+ 200: {
4358
+ headers: {
4359
+ [name: string]: unknown;
4360
+ };
4361
+ content?: never;
4362
+ };
4363
+ /** @description Unauthorized */
4364
+ 401: {
4365
+ headers: {
4366
+ [name: string]: unknown;
4367
+ };
4368
+ content?: never;
4369
+ };
4370
+ /** @description Forbidden */
4371
+ 403: {
4372
+ headers: {
4373
+ [name: string]: unknown;
4374
+ };
4375
+ content?: never;
4376
+ };
4377
+ };
4378
+ };
4379
+ delete?: never;
4380
+ options?: never;
4381
+ head?: never;
4382
+ patch?: never;
4383
+ trace?: never;
4384
+ };
4385
+ "/project-v2/admin/managers/sync": {
4386
+ parameters: {
4387
+ query?: never;
4388
+ header?: never;
4389
+ path?: never;
4390
+ cookie?: never;
4391
+ };
4392
+ get?: never;
4393
+ put?: never;
4394
+ /**
4395
+ * Sync managers from chain
4396
+ * @description Syncs project managers from AndamioScan API
4397
+ */
4398
+ post: {
4399
+ parameters: {
4400
+ query?: never;
4401
+ header?: never;
4402
+ path?: never;
4403
+ cookie?: never;
4404
+ };
4405
+ requestBody: {
4406
+ content: {
4407
+ "application/json": {
4408
+ project_id: string;
4409
+ };
4410
+ };
4411
+ };
4412
+ responses: {
4413
+ /** @description Managers synced */
4414
+ 200: {
4415
+ headers: {
4416
+ [name: string]: unknown;
4417
+ };
4418
+ content?: never;
4419
+ };
4420
+ /** @description Unauthorized */
4421
+ 401: {
4422
+ headers: {
4423
+ [name: string]: unknown;
4424
+ };
4425
+ content?: never;
4426
+ };
4427
+ /** @description Forbidden */
4428
+ 403: {
4429
+ headers: {
4430
+ [name: string]: unknown;
4431
+ };
4432
+ content?: never;
4433
+ };
4434
+ };
4435
+ };
4436
+ delete?: never;
4437
+ options?: never;
4438
+ head?: never;
4439
+ patch?: never;
4440
+ trace?: never;
4441
+ };
4442
+ "/project-v2/manager/task/create": {
4443
+ parameters: {
4444
+ query?: never;
4445
+ header?: never;
4446
+ path?: never;
4447
+ cookie?: never;
4448
+ };
4449
+ get?: never;
4450
+ put?: never;
4451
+ /**
4452
+ * Create task
4453
+ * @description Creates a new DRAFT task (requires admin or manager role)
4454
+ */
4455
+ post: {
4456
+ parameters: {
4457
+ query?: never;
4458
+ header?: never;
4459
+ path?: never;
4460
+ cookie?: never;
4461
+ };
4462
+ requestBody: {
4463
+ content: {
4464
+ "application/json": components["schemas"]["CreateTaskV2Request"];
4465
+ };
4466
+ };
4467
+ responses: {
4468
+ /** @description Task created */
4469
+ 201: {
4470
+ headers: {
4471
+ [name: string]: unknown;
4472
+ };
4473
+ content: {
4474
+ "application/json": components["schemas"]["ProjectTaskV2Output"];
4475
+ };
4476
+ };
4477
+ /** @description Invalid request */
4478
+ 400: {
4479
+ headers: {
4480
+ [name: string]: unknown;
4481
+ };
4482
+ content?: never;
4483
+ };
4484
+ /** @description Unauthorized */
4485
+ 401: {
4486
+ headers: {
4487
+ [name: string]: unknown;
4488
+ };
4489
+ content?: never;
4490
+ };
4491
+ /** @description Forbidden - not a manager */
4492
+ 403: {
4493
+ headers: {
4494
+ [name: string]: unknown;
4495
+ };
4496
+ content?: never;
4497
+ };
4498
+ /** @description Project state not found */
4499
+ 404: {
4500
+ headers: {
4501
+ [name: string]: unknown;
4502
+ };
4503
+ content?: never;
4504
+ };
4505
+ };
4506
+ };
4507
+ delete?: never;
4508
+ options?: never;
4509
+ head?: never;
4510
+ patch?: never;
4511
+ trace?: never;
4512
+ };
4513
+ "/project-v2/manager/task/update": {
4514
+ parameters: {
4515
+ query?: never;
4516
+ header?: never;
4517
+ path?: never;
4518
+ cookie?: never;
4519
+ };
4520
+ get?: never;
4521
+ put?: never;
4522
+ /**
4523
+ * Update task
4524
+ * @description Updates a DRAFT task (requires admin or manager role)
4525
+ */
4526
+ post: {
4527
+ parameters: {
4528
+ query?: never;
4529
+ header?: never;
4530
+ path?: never;
4531
+ cookie?: never;
4532
+ };
4533
+ requestBody: {
4534
+ content: {
4535
+ "application/json": components["schemas"]["UpdateTaskV2Request"];
4536
+ };
4537
+ };
4538
+ responses: {
4539
+ /** @description Task updated */
4540
+ 200: {
4541
+ headers: {
4542
+ [name: string]: unknown;
4543
+ };
4544
+ content: {
4545
+ "application/json": components["schemas"]["ProjectTaskV2Output"];
4546
+ };
4547
+ };
4548
+ /** @description Can only update DRAFT tasks */
4549
+ 400: {
4550
+ headers: {
4551
+ [name: string]: unknown;
4552
+ };
4553
+ content?: never;
4554
+ };
4555
+ /** @description Unauthorized */
4556
+ 401: {
4557
+ headers: {
4558
+ [name: string]: unknown;
4559
+ };
4560
+ content?: never;
4561
+ };
4562
+ /** @description Forbidden */
4563
+ 403: {
4564
+ headers: {
4565
+ [name: string]: unknown;
4566
+ };
4567
+ content?: never;
4568
+ };
4569
+ /** @description Task not found */
4570
+ 404: {
4571
+ headers: {
4572
+ [name: string]: unknown;
4573
+ };
4574
+ content?: never;
4575
+ };
4576
+ };
4577
+ };
4578
+ delete?: never;
4579
+ options?: never;
4580
+ head?: never;
4581
+ patch?: never;
4582
+ trace?: never;
4583
+ };
4584
+ "/project-v2/manager/task/delete": {
4585
+ parameters: {
4586
+ query?: never;
4587
+ header?: never;
4588
+ path?: never;
4589
+ cookie?: never;
4590
+ };
4591
+ get?: never;
4592
+ put?: never;
4593
+ /**
4594
+ * Delete task
4595
+ * @description Deletes a DRAFT task (requires admin or manager role)
4596
+ */
4597
+ post: {
4598
+ parameters: {
4599
+ query?: never;
4600
+ header?: never;
4601
+ path?: never;
4602
+ cookie?: never;
4603
+ };
4604
+ requestBody: {
4605
+ content: {
4606
+ "application/json": components["schemas"]["DeleteTaskV2Request"];
4607
+ };
4608
+ };
4609
+ responses: {
4610
+ /** @description Task deleted */
4611
+ 200: {
4612
+ headers: {
4613
+ [name: string]: unknown;
4614
+ };
4615
+ content?: never;
4616
+ };
4617
+ /** @description Can only delete DRAFT tasks */
4618
+ 400: {
4619
+ headers: {
4620
+ [name: string]: unknown;
4621
+ };
4622
+ content?: never;
4623
+ };
4624
+ /** @description Unauthorized */
4625
+ 401: {
4626
+ headers: {
4627
+ [name: string]: unknown;
4628
+ };
4629
+ content?: never;
4630
+ };
4631
+ /** @description Forbidden */
4632
+ 403: {
4633
+ headers: {
4634
+ [name: string]: unknown;
4635
+ };
4636
+ content?: never;
4637
+ };
4638
+ /** @description Task not found */
4639
+ 404: {
4640
+ headers: {
4641
+ [name: string]: unknown;
4642
+ };
4643
+ content?: never;
4644
+ };
4645
+ };
4646
+ };
4647
+ delete?: never;
4648
+ options?: never;
4649
+ head?: never;
4650
+ patch?: never;
4651
+ trace?: never;
4652
+ };
4653
+ "/project-v2/manager/tasks/batch-status": {
4654
+ parameters: {
4655
+ query?: never;
4656
+ header?: never;
4657
+ path?: never;
4658
+ cookie?: never;
4659
+ };
4660
+ get?: never;
4661
+ put?: never;
4662
+ /**
4663
+ * Batch update task status
4664
+ * @description Updates status for multiple tasks (e.g., DRAFT to APPROVED)
4665
+ */
4666
+ post: {
4667
+ parameters: {
4668
+ query?: never;
4669
+ header?: never;
4670
+ path?: never;
4671
+ cookie?: never;
4672
+ };
4673
+ requestBody: {
4674
+ content: {
4675
+ "application/json": components["schemas"]["BatchTaskV2StatusRequest"];
4676
+ };
4677
+ };
4678
+ responses: {
4679
+ /** @description Status updated for all tasks */
4680
+ 200: {
4681
+ headers: {
4682
+ [name: string]: unknown;
4683
+ };
4684
+ content?: never;
4685
+ };
4686
+ /** @description Partial success */
4687
+ 207: {
4688
+ headers: {
4689
+ [name: string]: unknown;
4690
+ };
4691
+ content?: never;
4692
+ };
4693
+ /** @description Unauthorized */
4694
+ 401: {
4695
+ headers: {
4696
+ [name: string]: unknown;
4697
+ };
4698
+ content?: never;
4699
+ };
4700
+ /** @description Forbidden */
4701
+ 403: {
4702
+ headers: {
4703
+ [name: string]: unknown;
4704
+ };
4705
+ content?: never;
4706
+ };
4707
+ };
4708
+ };
4709
+ delete?: never;
4710
+ options?: never;
4711
+ head?: never;
4712
+ patch?: never;
4713
+ trace?: never;
4714
+ };
4715
+ "/project-v2/manager/task/confirm-tx": {
4716
+ parameters: {
4717
+ query?: never;
4718
+ header?: never;
4719
+ path?: never;
4720
+ cookie?: never;
4721
+ };
4722
+ get?: never;
4723
+ put?: never;
4724
+ /**
4725
+ * Confirm task transaction
4726
+ * @description Confirms task transaction and updates status
4727
+ */
4728
+ post: {
4729
+ parameters: {
4730
+ query?: never;
4731
+ header?: never;
4732
+ path?: never;
4733
+ cookie?: never;
4734
+ };
4735
+ requestBody: {
4736
+ content: {
4737
+ "application/json": components["schemas"]["ConfirmTaskV2TxRequest"];
4738
+ };
4739
+ };
4740
+ responses: {
4741
+ /** @description Transaction confirmed */
4742
+ 200: {
4743
+ headers: {
4744
+ [name: string]: unknown;
4745
+ };
4746
+ content?: never;
4747
+ };
4748
+ /** @description Invalid status transition */
4749
+ 400: {
4750
+ headers: {
4751
+ [name: string]: unknown;
4752
+ };
4753
+ content?: never;
4754
+ };
4755
+ /** @description Unauthorized */
4756
+ 401: {
4757
+ headers: {
4758
+ [name: string]: unknown;
4759
+ };
4760
+ content?: never;
4761
+ };
4762
+ /** @description Forbidden */
4763
+ 403: {
4764
+ headers: {
4765
+ [name: string]: unknown;
4766
+ };
4767
+ content?: never;
4768
+ };
4769
+ };
4770
+ };
4771
+ delete?: never;
4772
+ options?: never;
4773
+ head?: never;
4774
+ patch?: never;
4775
+ trace?: never;
4776
+ };
4777
+ "/project-v2/manager/commitment/assess": {
4778
+ parameters: {
4779
+ query?: never;
4780
+ header?: never;
4781
+ path?: never;
4782
+ cookie?: never;
4783
+ };
4784
+ get?: never;
4785
+ put?: never;
4786
+ /**
4787
+ * Assess commitment
4788
+ * @description Assesses a submitted commitment (ACCEPTED, REFUSED, DENIED)
4789
+ */
4790
+ post: {
4791
+ parameters: {
4792
+ query?: never;
4793
+ header?: never;
4794
+ path?: never;
4795
+ cookie?: never;
4796
+ };
4797
+ requestBody: {
4798
+ content: {
4799
+ "application/json": components["schemas"]["AssessCommitmentV2Request"];
4800
+ };
4801
+ };
4802
+ responses: {
4803
+ /** @description Commitment assessed */
4804
+ 200: {
4805
+ headers: {
4806
+ [name: string]: unknown;
4807
+ };
4808
+ content?: never;
4809
+ };
4810
+ /** @description Invalid status */
4811
+ 400: {
4812
+ headers: {
4813
+ [name: string]: unknown;
4814
+ };
4815
+ content?: never;
4816
+ };
4817
+ /** @description Unauthorized */
4818
+ 401: {
4819
+ headers: {
4820
+ [name: string]: unknown;
4821
+ };
4822
+ content?: never;
4823
+ };
4824
+ /** @description Forbidden */
4825
+ 403: {
4826
+ headers: {
4827
+ [name: string]: unknown;
4828
+ };
4829
+ content?: never;
4830
+ };
4831
+ };
4832
+ };
4833
+ delete?: never;
4834
+ options?: never;
4835
+ head?: never;
4836
+ patch?: never;
4837
+ trace?: never;
4838
+ };
4839
+ "/project-v2/manager/commitment/confirm-assess": {
4840
+ parameters: {
4841
+ query?: never;
4842
+ header?: never;
4843
+ path?: never;
4844
+ cookie?: never;
4845
+ };
4846
+ get?: never;
4847
+ put?: never;
4848
+ /**
4849
+ * Confirm assess transaction
4850
+ * @description Confirms the assessment transaction
4851
+ */
4852
+ post: {
4853
+ parameters: {
4854
+ query?: never;
4855
+ header?: never;
4856
+ path?: never;
4857
+ cookie?: never;
4858
+ };
4859
+ requestBody: {
4860
+ content: {
4861
+ "application/json": components["schemas"]["ConfirmAssessV2Request"];
4862
+ };
4863
+ };
4864
+ responses: {
4865
+ /** @description Transaction confirmed */
4866
+ 200: {
4867
+ headers: {
4868
+ [name: string]: unknown;
4869
+ };
4870
+ content?: never;
4871
+ };
4872
+ /** @description Unauthorized */
4873
+ 401: {
4874
+ headers: {
4875
+ [name: string]: unknown;
4876
+ };
4877
+ content?: never;
4878
+ };
4879
+ /** @description Forbidden */
4880
+ 403: {
4881
+ headers: {
4882
+ [name: string]: unknown;
4883
+ };
4884
+ content?: never;
4885
+ };
4886
+ };
4887
+ };
4888
+ delete?: never;
4889
+ options?: never;
4890
+ head?: never;
4891
+ patch?: never;
4892
+ trace?: never;
4893
+ };
4894
+ "/project-v2/contributor/commitment/create": {
4895
+ parameters: {
4896
+ query?: never;
4897
+ header?: never;
4898
+ path?: never;
4899
+ cookie?: never;
4900
+ };
4901
+ get?: never;
4902
+ put?: never;
4903
+ /**
4904
+ * Create commitment
4905
+ * @description Creates a DRAFT commitment for a task (requires Contributor role)
4906
+ */
4907
+ post: {
4908
+ parameters: {
4909
+ query?: never;
4910
+ header?: never;
4911
+ path?: never;
4912
+ cookie?: never;
4913
+ };
4914
+ requestBody: {
4915
+ content: {
4916
+ "application/json": components["schemas"]["CreateCommitmentV2Request"];
4917
+ };
4918
+ };
4919
+ responses: {
4920
+ /** @description Commitment created */
4921
+ 201: {
4922
+ headers: {
4923
+ [name: string]: unknown;
4924
+ };
4925
+ content: {
4926
+ "application/json": components["schemas"]["CommitmentV2Output"];
4927
+ };
4928
+ };
4929
+ /** @description Invalid request */
4930
+ 400: {
4931
+ headers: {
4932
+ [name: string]: unknown;
4933
+ };
4934
+ content?: never;
4935
+ };
4936
+ /** @description Unauthorized */
4937
+ 401: {
4938
+ headers: {
4939
+ [name: string]: unknown;
4940
+ };
4941
+ content?: never;
4942
+ };
4943
+ /** @description Task not found */
4944
+ 404: {
4945
+ headers: {
4946
+ [name: string]: unknown;
4947
+ };
4948
+ content?: never;
4949
+ };
4950
+ /** @description Commitment already exists */
4951
+ 409: {
4952
+ headers: {
4953
+ [name: string]: unknown;
4954
+ };
4955
+ content?: never;
4956
+ };
4957
+ };
4958
+ };
4959
+ delete?: never;
4960
+ options?: never;
4961
+ head?: never;
4962
+ patch?: never;
4963
+ trace?: never;
4964
+ };
4965
+ "/project-v2/contributor/commitment/update": {
4966
+ parameters: {
4967
+ query?: never;
4968
+ header?: never;
4969
+ path?: never;
4970
+ cookie?: never;
4971
+ };
4972
+ get?: never;
4973
+ put?: never;
4974
+ /**
4975
+ * Update commitment
4976
+ * @description Updates a DRAFT commitment (own commitments only)
4977
+ */
4978
+ post: {
4979
+ parameters: {
4980
+ query?: never;
4981
+ header?: never;
4982
+ path?: never;
4983
+ cookie?: never;
4984
+ };
4985
+ requestBody: {
4986
+ content: {
4987
+ "application/json": components["schemas"]["UpdateCommitmentV2Request"];
4988
+ };
4989
+ };
4990
+ responses: {
4991
+ /** @description Commitment updated */
4992
+ 200: {
4993
+ headers: {
4994
+ [name: string]: unknown;
4995
+ };
4996
+ content: {
4997
+ "application/json": components["schemas"]["CommitmentV2Output"];
4998
+ };
4999
+ };
5000
+ /** @description Can only update DRAFT commitments */
5001
+ 400: {
5002
+ headers: {
5003
+ [name: string]: unknown;
5004
+ };
5005
+ content?: never;
5006
+ };
5007
+ /** @description Unauthorized */
5008
+ 401: {
5009
+ headers: {
5010
+ [name: string]: unknown;
5011
+ };
5012
+ content?: never;
5013
+ };
5014
+ /** @description Commitment not found */
5015
+ 404: {
5016
+ headers: {
5017
+ [name: string]: unknown;
5018
+ };
5019
+ content?: never;
5020
+ };
5021
+ };
5022
+ };
5023
+ delete?: never;
5024
+ options?: never;
5025
+ head?: never;
5026
+ patch?: never;
5027
+ trace?: never;
5028
+ };
5029
+ "/project-v2/contributor/commitment/delete": {
5030
+ parameters: {
5031
+ query?: never;
5032
+ header?: never;
5033
+ path?: never;
5034
+ cookie?: never;
5035
+ };
5036
+ get?: never;
5037
+ put?: never;
5038
+ /**
5039
+ * Delete commitment
5040
+ * @description Deletes a DRAFT commitment (own commitments only)
5041
+ */
5042
+ post: {
5043
+ parameters: {
5044
+ query?: never;
5045
+ header?: never;
5046
+ path?: never;
5047
+ cookie?: never;
5048
+ };
5049
+ requestBody: {
5050
+ content: {
5051
+ "application/json": components["schemas"]["DeleteCommitmentV2Request"];
5052
+ };
5053
+ };
5054
+ responses: {
5055
+ /** @description Commitment deleted */
5056
+ 200: {
5057
+ headers: {
5058
+ [name: string]: unknown;
5059
+ };
5060
+ content?: never;
5061
+ };
5062
+ /** @description Can only delete DRAFT commitments */
5063
+ 400: {
5064
+ headers: {
5065
+ [name: string]: unknown;
5066
+ };
5067
+ content?: never;
5068
+ };
5069
+ /** @description Unauthorized */
5070
+ 401: {
5071
+ headers: {
5072
+ [name: string]: unknown;
5073
+ };
5074
+ content?: never;
5075
+ };
5076
+ /** @description Commitment not found */
5077
+ 404: {
5078
+ headers: {
5079
+ [name: string]: unknown;
5080
+ };
5081
+ content?: never;
5082
+ };
5083
+ };
5084
+ };
5085
+ delete?: never;
5086
+ options?: never;
5087
+ head?: never;
5088
+ patch?: never;
5089
+ trace?: never;
5090
+ };
5091
+ "/project-v2/contributor/commitment/submit": {
5092
+ parameters: {
5093
+ query?: never;
5094
+ header?: never;
5095
+ path?: never;
5096
+ cookie?: never;
5097
+ };
5098
+ get?: never;
5099
+ put?: never;
5100
+ /**
5101
+ * Submit commitment
5102
+ * @description Submits a DRAFT commitment with evidence for review
5103
+ */
5104
+ post: {
5105
+ parameters: {
5106
+ query?: never;
5107
+ header?: never;
5108
+ path?: never;
5109
+ cookie?: never;
5110
+ };
5111
+ requestBody: {
5112
+ content: {
5113
+ "application/json": components["schemas"]["SubmitCommitmentV2Request"];
5114
+ };
5115
+ };
5116
+ responses: {
5117
+ /** @description Commitment submitted */
5118
+ 200: {
5119
+ headers: {
5120
+ [name: string]: unknown;
5121
+ };
5122
+ content: {
5123
+ "application/json": components["schemas"]["CommitmentV2Output"];
5124
+ };
5125
+ };
5126
+ /** @description Can only submit DRAFT commitments */
5127
+ 400: {
5128
+ headers: {
5129
+ [name: string]: unknown;
5130
+ };
5131
+ content?: never;
5132
+ };
5133
+ /** @description Unauthorized */
5134
+ 401: {
5135
+ headers: {
5136
+ [name: string]: unknown;
5137
+ };
5138
+ content?: never;
5139
+ };
5140
+ /** @description Commitment not found */
5141
+ 404: {
5142
+ headers: {
5143
+ [name: string]: unknown;
5144
+ };
5145
+ content?: never;
5146
+ };
5147
+ };
5148
+ };
5149
+ delete?: never;
5150
+ options?: never;
5151
+ head?: never;
5152
+ patch?: never;
5153
+ trace?: never;
5154
+ };
5155
+ "/project-v2/contributor/commitment/claim": {
5156
+ parameters: {
5157
+ query?: never;
5158
+ header?: never;
5159
+ path?: never;
5160
+ cookie?: never;
5161
+ };
5162
+ get?: never;
5163
+ put?: never;
5164
+ /**
5165
+ * Claim reward
5166
+ * @description Claims reward for an ACCEPTED commitment
5167
+ */
5168
+ post: {
5169
+ parameters: {
5170
+ query?: never;
5171
+ header?: never;
5172
+ path?: never;
5173
+ cookie?: never;
5174
+ };
5175
+ requestBody: {
5176
+ content: {
5177
+ "application/json": components["schemas"]["ClaimCommitmentV2Request"];
5178
+ };
5179
+ };
5180
+ responses: {
5181
+ /** @description Claim initiated */
5182
+ 200: {
5183
+ headers: {
5184
+ [name: string]: unknown;
5185
+ };
5186
+ content?: never;
5187
+ };
5188
+ /** @description Can only claim ACCEPTED commitments */
5189
+ 400: {
5190
+ headers: {
5191
+ [name: string]: unknown;
5192
+ };
5193
+ content?: never;
5194
+ };
5195
+ /** @description Unauthorized */
5196
+ 401: {
5197
+ headers: {
5198
+ [name: string]: unknown;
5199
+ };
5200
+ content?: never;
5201
+ };
5202
+ /** @description Commitment not found */
5203
+ 404: {
5204
+ headers: {
5205
+ [name: string]: unknown;
5206
+ };
5207
+ content?: never;
5208
+ };
5209
+ };
5210
+ };
5211
+ delete?: never;
5212
+ options?: never;
5213
+ head?: never;
5214
+ patch?: never;
5215
+ trace?: never;
5216
+ };
5217
+ "/project-v2/contributor/commitment/leave": {
5218
+ parameters: {
5219
+ query?: never;
5220
+ header?: never;
5221
+ path?: never;
5222
+ cookie?: never;
5223
+ };
5224
+ get?: never;
5225
+ put?: never;
5226
+ /**
5227
+ * Leave commitment
5228
+ * @description Abandons a commitment
5229
+ */
5230
+ post: {
5231
+ parameters: {
5232
+ query?: never;
5233
+ header?: never;
5234
+ path?: never;
5235
+ cookie?: never;
5236
+ };
5237
+ requestBody: {
5238
+ content: {
5239
+ "application/json": components["schemas"]["LeaveCommitmentV2Request"];
5240
+ };
5241
+ };
5242
+ responses: {
5243
+ /** @description Leave initiated */
5244
+ 200: {
5245
+ headers: {
5246
+ [name: string]: unknown;
5247
+ };
5248
+ content?: never;
5249
+ };
5250
+ /** @description Unauthorized */
5251
+ 401: {
5252
+ headers: {
5253
+ [name: string]: unknown;
5254
+ };
5255
+ content?: never;
5256
+ };
5257
+ /** @description Commitment not found */
5258
+ 404: {
5259
+ headers: {
5260
+ [name: string]: unknown;
5261
+ };
5262
+ content?: never;
5263
+ };
5264
+ };
5265
+ };
5266
+ delete?: never;
5267
+ options?: never;
5268
+ head?: never;
5269
+ patch?: never;
5270
+ trace?: never;
5271
+ };
5272
+ "/project-v2/contributor/commitment/confirm-tx": {
5273
+ parameters: {
5274
+ query?: never;
5275
+ header?: never;
5276
+ path?: never;
5277
+ cookie?: never;
5278
+ };
5279
+ get?: never;
5280
+ put?: never;
5281
+ /**
5282
+ * Confirm commitment transaction
5283
+ * @description Confirms a commitment-related transaction
5284
+ */
5285
+ post: {
5286
+ parameters: {
5287
+ query?: never;
5288
+ header?: never;
5289
+ path?: never;
5290
+ cookie?: never;
5291
+ };
5292
+ requestBody: {
5293
+ content: {
5294
+ "application/json": components["schemas"]["ConfirmCommitmentV2TxRequest"];
5295
+ };
5296
+ };
5297
+ responses: {
5298
+ /** @description Transaction confirmed */
5299
+ 200: {
5300
+ headers: {
5301
+ [name: string]: unknown;
5302
+ };
5303
+ content?: never;
5304
+ };
5305
+ /** @description Unauthorized */
5306
+ 401: {
5307
+ headers: {
5308
+ [name: string]: unknown;
5309
+ };
5310
+ content?: never;
5311
+ };
5312
+ /** @description Commitment not found */
5313
+ 404: {
5314
+ headers: {
5315
+ [name: string]: unknown;
5316
+ };
5317
+ content?: never;
5318
+ };
5319
+ };
5320
+ };
5321
+ delete?: never;
5322
+ options?: never;
5323
+ head?: never;
5324
+ patch?: never;
5325
+ trace?: never;
5326
+ };
5327
+ "/project-v2/contributor/commitments/list": {
5328
+ parameters: {
5329
+ query?: never;
5330
+ header?: never;
5331
+ path?: never;
5332
+ cookie?: never;
5333
+ };
5334
+ get?: never;
5335
+ put?: never;
5336
+ /**
5337
+ * List own commitments
5338
+ * @description Lists all commitments belonging to the authenticated user
5339
+ */
5340
+ post: {
5341
+ parameters: {
5342
+ query?: never;
5343
+ header?: never;
5344
+ path?: never;
5345
+ cookie?: never;
5346
+ };
5347
+ requestBody?: never;
5348
+ responses: {
5349
+ /** @description List of commitments */
5350
+ 200: {
5351
+ headers: {
5352
+ [name: string]: unknown;
5353
+ };
5354
+ content: {
5355
+ "application/json": components["schemas"]["CommitmentV2Output"][];
5356
+ };
5357
+ };
5358
+ /** @description Unauthorized */
5359
+ 401: {
5360
+ headers: {
5361
+ [name: string]: unknown;
5362
+ };
5363
+ content?: never;
5364
+ };
5365
+ };
5366
+ };
5367
+ delete?: never;
5368
+ options?: never;
5369
+ head?: never;
5370
+ patch?: never;
5371
+ trace?: never;
5372
+ };
5373
+ "/project-v2/contributor/commitment/get": {
5374
+ parameters: {
5375
+ query?: never;
5376
+ header?: never;
5377
+ path?: never;
5378
+ cookie?: never;
5379
+ };
5380
+ get?: never;
5381
+ put?: never;
5382
+ /**
5383
+ * Get own commitment
5384
+ * @description Gets a specific commitment belonging to the authenticated user
5385
+ */
5386
+ post: {
5387
+ parameters: {
5388
+ query?: never;
5389
+ header?: never;
5390
+ path?: never;
5391
+ cookie?: never;
5392
+ };
5393
+ requestBody: {
5394
+ content: {
5395
+ "application/json": {
5396
+ task_hash: string;
5397
+ };
5398
+ };
5399
+ };
5400
+ responses: {
5401
+ /** @description Commitment found */
5402
+ 200: {
5403
+ headers: {
5404
+ [name: string]: unknown;
5405
+ };
5406
+ content: {
5407
+ "application/json": components["schemas"]["CommitmentV2Output"];
5408
+ };
5409
+ };
5410
+ /** @description Unauthorized */
5411
+ 401: {
5412
+ headers: {
5413
+ [name: string]: unknown;
5414
+ };
5415
+ content?: never;
5416
+ };
5417
+ /** @description Commitment not found */
5418
+ 404: {
5419
+ headers: {
5420
+ [name: string]: unknown;
5421
+ };
5422
+ content?: never;
5423
+ };
5424
+ };
5425
+ };
5426
+ delete?: never;
5427
+ options?: never;
5428
+ head?: never;
5429
+ patch?: never;
5430
+ trace?: never;
5431
+ };
5432
+ }
5433
+ export type webhooks = Record<string, never>;
5434
+ export interface components {
5435
+ schemas: {
5436
+ HealthResponse: {
5437
+ /** @example ok */
5438
+ status?: string;
5439
+ /** @example 1.0.0 */
5440
+ version?: string;
5441
+ build_time?: string;
5442
+ /** @example 2h30m15s */
5443
+ uptime?: string;
5444
+ /** @example connected */
5445
+ database?: string;
5446
+ /** @example false */
5447
+ read_only?: boolean;
5448
+ /** @example go1.21.0 */
5449
+ go_version?: string;
5450
+ };
5451
+ LoginSessionResponse: {
5452
+ id?: string;
5453
+ nonce?: string;
5454
+ /** Format: date-time */
5455
+ expires_at?: string;
5456
+ };
5457
+ ValidateSignatureRequest: {
5458
+ /** @description Session ID from login/session */
5459
+ id: string;
5460
+ signature: {
5461
+ /** @description CIP-30 COSE_Sign1 signature */
5462
+ signature?: string;
5463
+ /** @description CIP-30 COSE_Key */
5464
+ key?: string;
5465
+ };
5466
+ /** @description Cardano address (hex or bech32) */
5467
+ address: string;
5468
+ andamio_access_token_unit?: string;
5469
+ /** @default false */
5470
+ convert_utf8: boolean;
5471
+ wallet_preference?: string;
5472
+ };
5473
+ ValidateSignatureResponse: {
5474
+ /** @description JWT token */
5475
+ jwt?: string;
5476
+ user?: {
5477
+ id?: string;
5478
+ cardano_bech32_addr?: string;
5479
+ access_token_alias?: string;
5480
+ };
5481
+ };
5482
+ CreateCourseRequest: {
5483
+ course_code: string;
5484
+ title: string;
5485
+ description?: string;
5486
+ image_url?: string;
5487
+ video_url?: string;
5488
+ };
5489
+ UpdateCourseRequest: {
5490
+ course_code: string;
5491
+ title?: string;
5492
+ description?: string;
5493
+ image_url?: string;
5494
+ video_url?: string;
5495
+ };
5496
+ CreateModuleRequest: {
5497
+ policy_id: string;
5498
+ module_code: string;
5499
+ title: string;
5500
+ description?: string;
5501
+ };
5502
+ BatchUpdateModuleStatusRequest: {
5503
+ policy_id: string;
5504
+ course_modules: {
5505
+ module_code: string;
5506
+ /** @enum {string} */
5507
+ status: "DRAFT" | "PENDING_TX" | "ON_CHAIN";
5508
+ module_hash?: string;
5509
+ pending_tx_hash?: string;
5510
+ }[];
5511
+ };
5512
+ BatchConfirmModuleTransactionRequest: {
5513
+ policy_id: string;
5514
+ tx_hash: string;
5515
+ course_modules: {
5516
+ module_code: string;
5517
+ module_hash?: string;
5518
+ }[];
5519
+ };
5520
+ CreateSLTRequest: {
5521
+ policy_id: string;
5522
+ module_code: string;
5523
+ module_index: number;
5524
+ slt_text: string;
5525
+ };
5526
+ CreateLessonRequest: {
5527
+ policy_id: string;
3812
5528
  module_code: string;
3813
5529
  module_index: number;
3814
5530
  title?: string;
@@ -4045,6 +5761,185 @@ export interface components {
4045
5761
  updated_count: number;
4046
5762
  errors?: string[];
4047
5763
  };
5764
+ ProjectV2Output: {
5765
+ project_id: string;
5766
+ project_address?: string | null;
5767
+ treasury_address?: string | null;
5768
+ admin_alias: string;
5769
+ title?: string | null;
5770
+ description?: string | null;
5771
+ image_url?: string | null;
5772
+ /** @enum {string} */
5773
+ status: "DRAFT" | "PENDING_TX" | "ON_CHAIN" | "ARCHIVED";
5774
+ managers?: components["schemas"]["ProjectManagerOutput"][];
5775
+ states?: components["schemas"]["ProjectStateOutput"][];
5776
+ };
5777
+ ProjectManagerOutput: {
5778
+ alias: string;
5779
+ tx_hash?: string | null;
5780
+ };
5781
+ ProjectStateOutput: {
5782
+ project_state_policy_id?: string | null;
5783
+ title?: string | null;
5784
+ description?: string | null;
5785
+ /** @enum {string} */
5786
+ status: "DRAFT" | "PENDING_TX" | "ON_CHAIN" | "ARCHIVED";
5787
+ prerequisites?: components["schemas"]["ProjectPrerequisiteOutput"][];
5788
+ tasks?: components["schemas"]["ProjectTaskV2Output"][];
5789
+ };
5790
+ ProjectPrerequisiteOutput: {
5791
+ course_id: string;
5792
+ assignment_ids?: string[];
5793
+ };
5794
+ ProjectTaskV2Output: {
5795
+ task_hash?: string | null;
5796
+ index: number;
5797
+ title: string;
5798
+ content?: string | null;
5799
+ content_json?: Record<string, never> | null;
5800
+ lovelace: string;
5801
+ expiration_time: string;
5802
+ created_by: string;
5803
+ /** @enum {string} */
5804
+ status: "DRAFT" | "PENDING_TX" | "ON_CHAIN" | "EXPIRED" | "COMPLETE";
5805
+ tokens?: components["schemas"]["ProjectTaskTokenOutput"][];
5806
+ };
5807
+ ProjectTaskTokenOutput: {
5808
+ subject: string;
5809
+ quantity: string;
5810
+ policy_id?: string | null;
5811
+ asset_name?: string | null;
5812
+ asset_name_decoded?: string | null;
5813
+ name?: string | null;
5814
+ ticker?: string | null;
5815
+ decimals?: number | null;
5816
+ };
5817
+ CommitmentV2Output: {
5818
+ task_hash: string;
5819
+ contributor_alias: string;
5820
+ /** @enum {string} */
5821
+ status: "DRAFT" | "PENDING_TX_SUBMIT" | "SUBMITTED" | "PENDING_TX_ASSESS" | "ACCEPTED" | "REFUSED" | "DENIED" | "PENDING_TX_CLAIM" | "REWARDED" | "PENDING_TX_LEAVE" | "ABANDONED";
5822
+ pending_tx_hash?: string | null;
5823
+ evidence?: Record<string, never> | null;
5824
+ evidence_hash?: string | null;
5825
+ assessed_by?: string | null;
5826
+ assessment_decision?: string | null;
5827
+ commit_tx_hash?: string | null;
5828
+ submit_tx_hash?: string | null;
5829
+ assess_tx_hash?: string | null;
5830
+ claim_tx_hash?: string | null;
5831
+ };
5832
+ CreateProjectV2Request: {
5833
+ project_id: string;
5834
+ title?: string;
5835
+ description?: string;
5836
+ image_url?: string;
5837
+ pending_tx_hash?: string;
5838
+ };
5839
+ RegisterProjectV2Request: {
5840
+ /** @description The on-chain project identifier */
5841
+ project_id: string;
5842
+ /** @description Display title for the project */
5843
+ title: string;
5844
+ description?: string;
5845
+ image_url?: string;
5846
+ };
5847
+ UpdateProjectV2Request: {
5848
+ project_id: string;
5849
+ title?: string;
5850
+ description?: string;
5851
+ image_url?: string;
5852
+ };
5853
+ ConfirmProjectV2TxRequest: {
5854
+ project_id: string;
5855
+ tx_hash: string;
5856
+ project_address?: string;
5857
+ treasury_address?: string;
5858
+ slot?: number;
5859
+ };
5860
+ CreateTaskV2Request: {
5861
+ project_state_policy_id: string;
5862
+ title: string;
5863
+ content?: string;
5864
+ content_json?: Record<string, never>;
5865
+ lovelace: string;
5866
+ expiration_time: string;
5867
+ tokens?: {
5868
+ subject?: string;
5869
+ quantity?: string;
5870
+ }[];
5871
+ };
5872
+ UpdateTaskV2Request: {
5873
+ project_state_policy_id: string;
5874
+ index: number;
5875
+ title?: string;
5876
+ content?: string;
5877
+ content_json?: Record<string, never>;
5878
+ lovelace?: string;
5879
+ expiration_time?: string;
5880
+ tokens?: {
5881
+ subject?: string;
5882
+ quantity?: string;
5883
+ }[];
5884
+ };
5885
+ DeleteTaskV2Request: {
5886
+ project_state_policy_id: string;
5887
+ index: number;
5888
+ };
5889
+ BatchTaskV2StatusRequest: {
5890
+ project_state_policy_id: string;
5891
+ tasks: {
5892
+ index: number;
5893
+ status: string;
5894
+ pending_tx_hash?: string;
5895
+ }[];
5896
+ };
5897
+ ConfirmTaskV2TxRequest: {
5898
+ project_state_policy_id: string;
5899
+ index: number;
5900
+ tx_hash: string;
5901
+ task_hash?: string;
5902
+ };
5903
+ AssessCommitmentV2Request: {
5904
+ task_hash: string;
5905
+ contributor_alias: string;
5906
+ /** @enum {string} */
5907
+ decision: "ACCEPTED" | "REFUSED" | "DENIED";
5908
+ pending_tx_hash?: string;
5909
+ };
5910
+ ConfirmAssessV2Request: {
5911
+ task_hash: string;
5912
+ contributor_alias: string;
5913
+ tx_hash: string;
5914
+ };
5915
+ CreateCommitmentV2Request: {
5916
+ task_hash: string;
5917
+ };
5918
+ UpdateCommitmentV2Request: {
5919
+ task_hash: string;
5920
+ evidence?: Record<string, never>;
5921
+ };
5922
+ DeleteCommitmentV2Request: {
5923
+ task_hash: string;
5924
+ };
5925
+ SubmitCommitmentV2Request: {
5926
+ task_hash: string;
5927
+ evidence?: Record<string, never>;
5928
+ evidence_hash?: string;
5929
+ pending_tx_hash?: string;
5930
+ };
5931
+ ClaimCommitmentV2Request: {
5932
+ task_hash: string;
5933
+ pending_tx_hash?: string;
5934
+ };
5935
+ LeaveCommitmentV2Request: {
5936
+ task_hash: string;
5937
+ pending_tx_hash?: string;
5938
+ };
5939
+ ConfirmCommitmentV2TxRequest: {
5940
+ task_hash: string;
5941
+ tx_hash: string;
5942
+ };
4048
5943
  };
4049
5944
  responses: never;
4050
5945
  parameters: never;