@wevion/cli 1.0.3240 → 1.0.3252

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 (2) hide show
  1. package/openapi.json +900 -181
  2. package/package.json +1 -1
package/openapi.json CHANGED
@@ -104316,7 +104316,7 @@
104316
104316
  "tags": [
104317
104317
  "creative-hub"
104318
104318
  ],
104319
- "description": "Returns library and user avatars available for Creative Hub UGC generation flows.",
104319
+ "description": "Returns library and user avatars available for Creative Hub UGC generation flows. The estimated_credits field is the text-to-avatar cost only, kept for backward compatibility: price a specific mode with GET /creative-hub/avatars/estimate.",
104320
104320
  "parameters": [
104321
104321
  {
104322
104322
  "schema": {
@@ -104991,6 +104991,137 @@
104991
104991
  }
104992
104992
  }
104993
104993
  },
104994
+ "/api/v1/creative-hub/avatars/estimate": {
104995
+ "get": {
104996
+ "operationId": "creativeHubEstimateAvatar",
104997
+ "summary": "Estimate avatar creation credits",
104998
+ "tags": [
104999
+ "creative-hub",
105000
+ "creative-generation"
105001
+ ],
105002
+ "description": "Returns the deterministic credit hold estimate for creating a custom avatar in the requested mode. text prices the photorealistic still generation; photo prices the re-host of the uploaded still. It is the same amount POST /creative-hub/avatars holds and the generation worker settles.",
105003
+ "parameters": [
105004
+ {
105005
+ "schema": {
105006
+ "anyOf": [
105007
+ {
105008
+ "type": "string",
105009
+ "enum": [
105010
+ "text"
105011
+ ]
105012
+ },
105013
+ {
105014
+ "type": "string",
105015
+ "enum": [
105016
+ "photo"
105017
+ ]
105018
+ }
105019
+ ]
105020
+ },
105021
+ "in": "query",
105022
+ "name": "mode",
105023
+ "required": true
105024
+ }
105025
+ ],
105026
+ "security": [
105027
+ {
105028
+ "bearerAuth": []
105029
+ },
105030
+ {
105031
+ "apiKeyAuth": []
105032
+ }
105033
+ ],
105034
+ "responses": {
105035
+ "200": {
105036
+ "description": "Successful response",
105037
+ "content": {
105038
+ "application/json": {
105039
+ "schema": {
105040
+ "additionalProperties": false,
105041
+ "type": "object",
105042
+ "required": [
105043
+ "mode",
105044
+ "estimated_credits"
105045
+ ],
105046
+ "properties": {
105047
+ "mode": {
105048
+ "anyOf": [
105049
+ {
105050
+ "type": "string",
105051
+ "enum": [
105052
+ "text"
105053
+ ]
105054
+ },
105055
+ {
105056
+ "type": "string",
105057
+ "enum": [
105058
+ "photo"
105059
+ ]
105060
+ }
105061
+ ]
105062
+ },
105063
+ "estimated_credits": {
105064
+ "minimum": 0,
105065
+ "type": "integer"
105066
+ }
105067
+ }
105068
+ }
105069
+ }
105070
+ }
105071
+ },
105072
+ "400": {
105073
+ "description": "Invalid request - schema validation failed",
105074
+ "content": {
105075
+ "application/json": {
105076
+ "schema": {
105077
+ "additionalProperties": false,
105078
+ "type": "object",
105079
+ "required": [
105080
+ "error"
105081
+ ],
105082
+ "properties": {
105083
+ "code": {
105084
+ "type": "string"
105085
+ },
105086
+ "error": {
105087
+ "type": "string"
105088
+ },
105089
+ "message": {
105090
+ "type": "string"
105091
+ }
105092
+ }
105093
+ }
105094
+ }
105095
+ }
105096
+ },
105097
+ "401": {
105098
+ "description": "Unauthorized - missing or invalid bearer token",
105099
+ "content": {
105100
+ "application/json": {
105101
+ "schema": {
105102
+ "additionalProperties": false,
105103
+ "type": "object",
105104
+ "required": [
105105
+ "error"
105106
+ ],
105107
+ "properties": {
105108
+ "code": {
105109
+ "type": "string"
105110
+ },
105111
+ "error": {
105112
+ "type": "string"
105113
+ },
105114
+ "message": {
105115
+ "type": "string"
105116
+ }
105117
+ }
105118
+ }
105119
+ }
105120
+ }
105121
+ }
105122
+ }
105123
+ }
105124
+ },
104994
105125
  "/api/v1/creative-hub/avatars/{id}": {
104995
105126
  "patch": {
104996
105127
  "operationId": "patchApiV1CreativeHubAvatarsById",
@@ -118747,8 +118878,17 @@
118747
118878
  "creative-hub",
118748
118879
  "creative-generation"
118749
118880
  ],
118750
- "description": "Returns the credit estimate for burning subtitles into a video of the given duration (transcription is billed per second).",
118881
+ "description": "Returns the credit estimate for burning subtitles into a video (transcription is billed per second). Pass asset_id to price an uploaded team video asset: when that asset carries a recorded duration the estimate reads it, which is the same value the generation hold uses. Otherwise the estimate echoes the declared duration_seconds — asset_id never turns a successful estimate into an error.",
118751
118882
  "parameters": [
118883
+ {
118884
+ "schema": {
118885
+ "format": "uuid",
118886
+ "type": "string"
118887
+ },
118888
+ "in": "query",
118889
+ "name": "asset_id",
118890
+ "required": false
118891
+ },
118752
118892
  {
118753
118893
  "schema": {
118754
118894
  "minimum": 1,
@@ -160416,6 +160556,7 @@
160416
160556
  "clocks",
160417
160557
  "collection_mode",
160418
160558
  "coupon",
160559
+ "credit",
160419
160560
  "frozen",
160420
160561
  "kyc_level",
160421
160562
  "lane",
@@ -160425,6 +160566,7 @@
160425
160566
  "payout_ready",
160426
160567
  "primary_link",
160427
160568
  "public_profile",
160569
+ "reconsent",
160428
160570
  "redirector_origin",
160429
160571
  "slug_changes_remaining",
160430
160572
  "status",
@@ -160520,6 +160662,70 @@
160520
160662
  }
160521
160663
  ]
160522
160664
  },
160665
+ "credit": {
160666
+ "description": "Credito di fatturazione del Binario A, `null` per chi non è un cliente-referrer.",
160667
+ "anyOf": [
160668
+ {
160669
+ "additionalProperties": false,
160670
+ "type": "object",
160671
+ "required": [
160672
+ "applied_invoices",
160673
+ "available_minor",
160674
+ "currency",
160675
+ "locked_minor",
160676
+ "next_expiry_at",
160677
+ "pending_review_minor",
160678
+ "reserved_minor"
160679
+ ],
160680
+ "properties": {
160681
+ "applied_invoices": {
160682
+ "description": "Fatture DISTINTE che hanno ricevuto il credito. ⚠️ Non è il numero di clienti portati: il pannello mostrava quello, e un cliente con credito 0 leggeva «applicato a 2 fatture».",
160683
+ "minimum": 0,
160684
+ "type": "integer"
160685
+ },
160686
+ "available_minor": {
160687
+ "description": "Spendibile ORA sulla prossima fattura. Minor units (centesimi) come stringa decimale.",
160688
+ "pattern": "^-?[0-9]+$",
160689
+ "type": "string"
160690
+ },
160691
+ "currency": {
160692
+ "description": "Valuta del credito. Il libro del Binario A è EUR.",
160693
+ "type": "string"
160694
+ },
160695
+ "locked_minor": {
160696
+ "description": "Maturato ma non spendibile: nessun abbonamento capace di consumarlo (§2.6). Minor units (centesimi) come stringa decimale.",
160697
+ "pattern": "^-?[0-9]+$",
160698
+ "type": "string"
160699
+ },
160700
+ "next_expiry_at": {
160701
+ "description": "Prima scadenza utile fra le maturazioni ancora coperte dal residuo.",
160702
+ "anyOf": [
160703
+ {
160704
+ "format": "date-time",
160705
+ "type": "string"
160706
+ },
160707
+ {
160708
+ "type": "null"
160709
+ }
160710
+ ]
160711
+ },
160712
+ "pending_review_minor": {
160713
+ "description": "Maturato, non revocato, fermo in revisione umana (§6.4 A3). Minor units (centesimi) come stringa decimale.",
160714
+ "pattern": "^-?[0-9]+$",
160715
+ "type": "string"
160716
+ },
160717
+ "reserved_minor": {
160718
+ "description": "Già spinto sul saldo Stripe, non ancora riconciliato. Minor units (centesimi) come stringa decimale.",
160719
+ "pattern": "^-?[0-9]+$",
160720
+ "type": "string"
160721
+ }
160722
+ }
160723
+ },
160724
+ {
160725
+ "type": "null"
160726
+ }
160727
+ ]
160728
+ },
160523
160729
  "frozen": {
160524
160730
  "description": "Kill-switch armato: il denaro è congelato, il tracking no.",
160525
160731
  "type": "boolean"
@@ -160716,6 +160922,118 @@
160716
160922
  }
160717
160923
  }
160718
160924
  },
160925
+ "reconsent": {
160926
+ "additionalProperties": false,
160927
+ "description": "Stato del ri-consenso ai termini di programma: cosa manca e se è esigibile.",
160928
+ "type": "object",
160929
+ "required": [
160930
+ "accepted_documents",
160931
+ "accepted_program_version",
160932
+ "current_program_version",
160933
+ "outstanding_documents",
160934
+ "reasons",
160935
+ "required"
160936
+ ],
160937
+ "properties": {
160938
+ "accepted_documents": {
160939
+ "additionalProperties": false,
160940
+ "description": "Versione accettata per ciascun documento di programma. Input di `outstandingPartnerDocuments()`.",
160941
+ "type": "object",
160942
+ "properties": {
160943
+ "partnerContentAddendum": {
160944
+ "description": "Versione accettata di partnerContentAddendum. Assente = mai accettato.",
160945
+ "type": "string"
160946
+ },
160947
+ "partnerSelfBilling": {
160948
+ "description": "Versione accettata di partnerSelfBilling. Assente = mai accettato.",
160949
+ "type": "string"
160950
+ },
160951
+ "partnerTerms": {
160952
+ "description": "Versione accettata di partnerTerms. Assente = mai accettato.",
160953
+ "type": "string"
160954
+ },
160955
+ "referralTerms": {
160956
+ "description": "Versione accettata di referralTerms. Assente = mai accettato.",
160957
+ "type": "string"
160958
+ }
160959
+ }
160960
+ },
160961
+ "accepted_program_version": {
160962
+ "description": "Riferimento a una `partner_program_version`, `null` quando non ne esiste una.",
160963
+ "anyOf": [
160964
+ {
160965
+ "additionalProperties": false,
160966
+ "type": "object",
160967
+ "required": [
160968
+ "id",
160969
+ "version"
160970
+ ],
160971
+ "properties": {
160972
+ "id": {
160973
+ "description": "Id della versione di programma.",
160974
+ "format": "uuid",
160975
+ "type": "string"
160976
+ },
160977
+ "version": {
160978
+ "description": "Etichetta di versione, es. `1.0`.",
160979
+ "type": "string"
160980
+ }
160981
+ }
160982
+ },
160983
+ {
160984
+ "type": "null"
160985
+ }
160986
+ ]
160987
+ },
160988
+ "current_program_version": {
160989
+ "description": "Riferimento a una `partner_program_version`, `null` quando non ne esiste una.",
160990
+ "anyOf": [
160991
+ {
160992
+ "additionalProperties": false,
160993
+ "type": "object",
160994
+ "required": [
160995
+ "id",
160996
+ "version"
160997
+ ],
160998
+ "properties": {
160999
+ "id": {
161000
+ "description": "Id della versione di programma.",
161001
+ "format": "uuid",
161002
+ "type": "string"
161003
+ },
161004
+ "version": {
161005
+ "description": "Etichetta di versione, es. `1.0`.",
161006
+ "type": "string"
161007
+ }
161008
+ }
161009
+ },
161010
+ {
161011
+ "type": "null"
161012
+ }
161013
+ ]
161014
+ },
161015
+ "outstanding_documents": {
161016
+ "description": "Documenti la cui versione accettata differisce dalla corrente. Rilevamento puro: comprende anche i documenti il cui testo non esiste ancora, perché non accettati lo sono comunque.",
161017
+ "type": "array",
161018
+ "items": {
161019
+ "description": "Id del documento di programma.",
161020
+ "type": "string"
161021
+ }
161022
+ },
161023
+ "reasons": {
161024
+ "description": "Perché il ri-consenso è dovuto. Vuoto quando `required` è false.",
161025
+ "type": "array",
161026
+ "items": {
161027
+ "description": "never_enrolled | program_version_superseded | documents_outdated.",
161028
+ "type": "string"
161029
+ }
161030
+ },
161031
+ "required": {
161032
+ "description": "true solo quando esiste qualcosa che il partner può DAVVERO riaccettare (vedi `reasons`).",
161033
+ "type": "boolean"
161034
+ }
161035
+ }
161036
+ },
160719
161037
  "redirector_origin": {
160720
161038
  "description": "Origine pubblica del redirector, così stage e produzione non divergono per un build flag (§12.2).",
160721
161039
  "type": "string"
@@ -161259,152 +161577,495 @@
161259
161577
  }
161260
161578
  }
161261
161579
  }
161262
- }
161263
- }
161264
- }
161265
- },
161266
- "/api/v1/partner/calculator": {
161267
- "get": {
161268
- "operationId": "getPartnerCalculator",
161269
- "summary": "Ingredienti del calcolatore guadagni",
161270
- "tags": [
161271
- "partner"
161272
- ],
161273
- "description": "Listino pubblico e aliquota corrente del partner: sono gli ingredienti con cui il pannello mostra «3 clienti Pro = X €/mese». Il calcolo vive nel frontend perché è una stima, e una stima calcolata dal server somiglia troppo a una promessa.",
161274
- "security": [
161275
- {
161276
- "bearerAuth": []
161277
- }
161278
- ],
161279
- "responses": {
161280
- "200": {
161281
- "description": "Ingredienti del calcolatore. Il server non calcola la proiezione: manda listino, aliquota e la SCOMPOSIZIONE della finestra, e il frontend mostra la stima con il disclaimer obbligatorio — «non è una previsione di guadagno». La scomposizione esiste perché la promessa a schermo (24 mesi a piena aliquota) valeva il doppio di quanto il motore matura (12): con `full_months`/`tail_months`/`tail_rate_bp` la stessa schermata resta vera in entrambi gli stati del flag della coda.",
161282
- "content": {
161283
- "application/json": {
161284
- "schema": {
161285
- "additionalProperties": false,
161286
- "description": "Ingredienti del calcolatore. Il server non calcola la proiezione: manda listino, aliquota e la SCOMPOSIZIONE della finestra, e il frontend mostra la stima con il disclaimer obbligatorio — «non è una previsione di guadagno». La scomposizione esiste perché la promessa a schermo (24 mesi a piena aliquota) valeva il doppio di quanto il motore matura (12): con `full_months`/`tail_months`/`tail_rate_bp` la stessa schermata resta vera in entrambi gli stati del flag della coda.",
161287
- "type": "object",
161288
- "required": [
161289
- "attribution_window_months",
161290
- "full_months",
161291
- "plans",
161292
- "rate_available",
161293
- "rate_bp",
161294
- "tail_months",
161295
- "tail_rate_bp",
161296
- "window_months"
161297
- ],
161298
- "properties": {
161299
- "attribution_window_months": {
161300
- "description": "Mesi entro cui un incasso resta riconducibile al referral. NON è l’orizzonte della proiezione: l’attribuzione dura più a lungo di quanto la commissione maturi.",
161301
- "minimum": 1,
161302
- "type": "integer"
161303
- },
161304
- "full_months": {
161305
- "description": "Mesi che maturano a piena aliquota.",
161306
- "minimum": 1,
161307
- "type": "integer"
161308
- },
161309
- "plans": {
161310
- "description": "Piani attivi del listino pubblico.",
161311
- "type": "array",
161312
- "items": {
161313
- "additionalProperties": false,
161314
- "type": "object",
161315
- "required": [
161316
- "currency",
161317
- "id",
161318
- "monthly_price_minor",
161319
- "name"
161320
- ],
161321
- "properties": {
161322
- "currency": {
161323
- "description": "Valuta del listino.",
161324
- "type": "string"
161325
- },
161326
- "id": {
161327
- "description": "Id del piano.",
161328
- "format": "uuid",
161329
- "type": "string"
161330
- },
161331
- "monthly_price_minor": {
161332
- "description": "Prezzo mensile di listino. Minor units (centesimi) come stringa decimale.",
161333
- "pattern": "^-?[0-9]+$",
161334
- "type": "string"
161335
- },
161336
- "name": {
161337
- "description": "Nome commerciale del piano.",
161338
- "type": "string"
161339
- }
161340
- }
161341
- }
161342
- },
161343
- "rate_available": {
161344
- "description": "`false` quando nessuna versione di programma è pubblicata: `rate_bp` vale 0 perché non è ancora stata congelata, non perché il partner guadagni zero. Il pannello deve dirlo, non mostrare «0,00 €».",
161345
- "type": "boolean"
161346
- },
161347
- "rate_bp": {
161348
- "description": "Aliquota corrente del partner in basis point interi.",
161349
- "minimum": 0,
161350
- "type": "integer"
161351
- },
161352
- "tail_months": {
161353
- "description": "Mesi che maturano a metà aliquota. `0` con `partner_tail_accrual_enabled` spento.",
161354
- "minimum": 0,
161355
- "type": "integer"
161356
- },
161357
- "tail_rate_bp": {
161358
- "description": "Aliquota effettiva nei mesi di coda. `0` quando `tail_months` è `0`.",
161359
- "minimum": 0,
161360
- "type": "integer"
161361
- },
161362
- "window_months": {
161363
- "description": "Mesi che maturano DAVVERO: `full_months + tail_months`. È l’orizzonte della proiezione.",
161364
- "minimum": 1,
161365
- "type": "integer"
161366
- }
161367
- }
161368
- }
161369
- }
161370
- }
161371
- },
161372
- "401": {
161373
- "description": "Errore standard del backend.",
161374
- "content": {
161375
- "application/json": {
161376
- "schema": {
161377
- "additionalProperties": false,
161378
- "description": "Errore standard del backend.",
161379
- "type": "object",
161380
- "required": [
161381
- "error",
161382
- "message",
161383
- "statusCode"
161384
- ],
161385
- "properties": {
161386
- "code": {
161387
- "description": "Codice macchina dell’errore, quando disponibile.",
161388
- "type": "string"
161389
- },
161390
- "error": {
161391
- "description": "Etichetta breve dell’errore.",
161392
- "type": "string"
161393
- },
161394
- "message": {
161395
- "description": "Messaggio leggibile.",
161396
- "type": "string"
161397
- },
161398
- "statusCode": {
161399
- "description": "Codice di stato HTTP ripetuto nel corpo.",
161400
- "type": "integer"
161401
- }
161402
- }
161403
- }
161404
- }
161405
- }
161580
+ }
161581
+ }
161582
+ }
161583
+ },
161584
+ "/api/v1/partner/calculator": {
161585
+ "get": {
161586
+ "operationId": "getPartnerCalculator",
161587
+ "summary": "Ingredienti del calcolatore guadagni",
161588
+ "tags": [
161589
+ "partner"
161590
+ ],
161591
+ "description": "Listino pubblico e aliquota corrente del partner: sono gli ingredienti con cui il pannello mostra «3 clienti Pro = X €/mese». Il calcolo vive nel frontend perché è una stima, e una stima calcolata dal server somiglia troppo a una promessa.",
161592
+ "security": [
161593
+ {
161594
+ "bearerAuth": []
161595
+ }
161596
+ ],
161597
+ "responses": {
161598
+ "200": {
161599
+ "description": "Ingredienti del calcolatore. Il server non calcola la proiezione: manda listino, aliquota e la SCOMPOSIZIONE della finestra, e il frontend mostra la stima con il disclaimer obbligatorio — «non è una previsione di guadagno». La scomposizione esiste perché la promessa a schermo (24 mesi a piena aliquota) valeva il doppio di quanto il motore matura (12): con `full_months`/`tail_months`/`tail_rate_bp` la stessa schermata resta vera in entrambi gli stati del flag della coda.",
161600
+ "content": {
161601
+ "application/json": {
161602
+ "schema": {
161603
+ "additionalProperties": false,
161604
+ "description": "Ingredienti del calcolatore. Il server non calcola la proiezione: manda listino, aliquota e la SCOMPOSIZIONE della finestra, e il frontend mostra la stima con il disclaimer obbligatorio — «non è una previsione di guadagno». La scomposizione esiste perché la promessa a schermo (24 mesi a piena aliquota) valeva il doppio di quanto il motore matura (12): con `full_months`/`tail_months`/`tail_rate_bp` la stessa schermata resta vera in entrambi gli stati del flag della coda.",
161605
+ "type": "object",
161606
+ "required": [
161607
+ "attribution_window_months",
161608
+ "full_months",
161609
+ "plans",
161610
+ "rate_available",
161611
+ "rate_bp",
161612
+ "tail_months",
161613
+ "tail_rate_bp",
161614
+ "window_months"
161615
+ ],
161616
+ "properties": {
161617
+ "attribution_window_months": {
161618
+ "description": "Mesi entro cui un incasso resta riconducibile al referral. NON è l’orizzonte della proiezione: l’attribuzione dura più a lungo di quanto la commissione maturi.",
161619
+ "minimum": 1,
161620
+ "type": "integer"
161621
+ },
161622
+ "full_months": {
161623
+ "description": "Mesi che maturano a piena aliquota.",
161624
+ "minimum": 1,
161625
+ "type": "integer"
161626
+ },
161627
+ "plans": {
161628
+ "description": "Piani attivi del listino pubblico.",
161629
+ "type": "array",
161630
+ "items": {
161631
+ "additionalProperties": false,
161632
+ "type": "object",
161633
+ "required": [
161634
+ "currency",
161635
+ "id",
161636
+ "monthly_price_minor",
161637
+ "name"
161638
+ ],
161639
+ "properties": {
161640
+ "currency": {
161641
+ "description": "Valuta del listino.",
161642
+ "type": "string"
161643
+ },
161644
+ "id": {
161645
+ "description": "Id del piano.",
161646
+ "format": "uuid",
161647
+ "type": "string"
161648
+ },
161649
+ "monthly_price_minor": {
161650
+ "description": "Prezzo mensile di listino. Minor units (centesimi) come stringa decimale.",
161651
+ "pattern": "^-?[0-9]+$",
161652
+ "type": "string"
161653
+ },
161654
+ "name": {
161655
+ "description": "Nome commerciale del piano.",
161656
+ "type": "string"
161657
+ }
161658
+ }
161659
+ }
161660
+ },
161661
+ "rate_available": {
161662
+ "description": "`false` quando nessuna versione di programma è pubblicata: `rate_bp` vale 0 perché non è ancora stata congelata, non perché il partner guadagni zero. Il pannello deve dirlo, non mostrare «0,00 €».",
161663
+ "type": "boolean"
161664
+ },
161665
+ "rate_bp": {
161666
+ "description": "Aliquota corrente del partner in basis point interi.",
161667
+ "minimum": 0,
161668
+ "type": "integer"
161669
+ },
161670
+ "tail_months": {
161671
+ "description": "Mesi che maturano a metà aliquota. `0` con `partner_tail_accrual_enabled` spento.",
161672
+ "minimum": 0,
161673
+ "type": "integer"
161674
+ },
161675
+ "tail_rate_bp": {
161676
+ "description": "Aliquota effettiva nei mesi di coda. `0` quando `tail_months` è `0`.",
161677
+ "minimum": 0,
161678
+ "type": "integer"
161679
+ },
161680
+ "window_months": {
161681
+ "description": "Mesi che maturano DAVVERO: `full_months + tail_months`. È l’orizzonte della proiezione.",
161682
+ "minimum": 1,
161683
+ "type": "integer"
161684
+ }
161685
+ }
161686
+ }
161687
+ }
161688
+ }
161689
+ },
161690
+ "401": {
161691
+ "description": "Errore standard del backend.",
161692
+ "content": {
161693
+ "application/json": {
161694
+ "schema": {
161695
+ "additionalProperties": false,
161696
+ "description": "Errore standard del backend.",
161697
+ "type": "object",
161698
+ "required": [
161699
+ "error",
161700
+ "message",
161701
+ "statusCode"
161702
+ ],
161703
+ "properties": {
161704
+ "code": {
161705
+ "description": "Codice macchina dell’errore, quando disponibile.",
161706
+ "type": "string"
161707
+ },
161708
+ "error": {
161709
+ "description": "Etichetta breve dell’errore.",
161710
+ "type": "string"
161711
+ },
161712
+ "message": {
161713
+ "description": "Messaggio leggibile.",
161714
+ "type": "string"
161715
+ },
161716
+ "statusCode": {
161717
+ "description": "Codice di stato HTTP ripetuto nel corpo.",
161718
+ "type": "integer"
161719
+ }
161720
+ }
161721
+ }
161722
+ }
161723
+ }
161724
+ },
161725
+ "403": {
161726
+ "description": "Errore standard del backend.",
161727
+ "content": {
161728
+ "application/json": {
161729
+ "schema": {
161730
+ "additionalProperties": false,
161731
+ "description": "Errore standard del backend.",
161732
+ "type": "object",
161733
+ "required": [
161734
+ "error",
161735
+ "message",
161736
+ "statusCode"
161737
+ ],
161738
+ "properties": {
161739
+ "code": {
161740
+ "description": "Codice macchina dell’errore, quando disponibile.",
161741
+ "type": "string"
161742
+ },
161743
+ "error": {
161744
+ "description": "Etichetta breve dell’errore.",
161745
+ "type": "string"
161746
+ },
161747
+ "message": {
161748
+ "description": "Messaggio leggibile.",
161749
+ "type": "string"
161750
+ },
161751
+ "statusCode": {
161752
+ "description": "Codice di stato HTTP ripetuto nel corpo.",
161753
+ "type": "integer"
161754
+ }
161755
+ }
161756
+ }
161757
+ }
161758
+ }
161759
+ }
161760
+ }
161761
+ }
161762
+ },
161763
+ "/api/v1/partner/consent": {
161764
+ "post": {
161765
+ "operationId": "recordPartnerConsent",
161766
+ "summary": "Accetta i documenti di programma alla loro versione corrente",
161767
+ "tags": [
161768
+ "partner"
161769
+ ],
161770
+ "description": "Registra l’accettazione dei documenti di programma da parte del partner autenticato: una riga `legal_consent` per documento e, quando esiste una versione di programma pubblicata per il suo binario, una riga `partner_program_enrollment`. L’adesione è APPEND-ONLY (`trg_ppe_append_only`) e unica per versione (`uq_ppe_partner_version`): riaccettare la stessa versione è idempotente e restituisce `enrolled: false`. Una versione di documento diversa da quella corrente è `409`: un client fermo su un testo vecchio si dichiarerebbe in pari senza aver mai visto quello nuovo.",
161771
+ "requestBody": {
161772
+ "required": true,
161773
+ "content": {
161774
+ "application/json": {
161775
+ "schema": {
161776
+ "additionalProperties": false,
161777
+ "type": "object",
161778
+ "required": [
161779
+ "documents"
161780
+ ],
161781
+ "properties": {
161782
+ "documents": {
161783
+ "description": "I documenti che il partner dichiara di accettare, ciascuno con la versione che ha letto.",
161784
+ "maxItems": 16,
161785
+ "minItems": 1,
161786
+ "type": "array",
161787
+ "items": {
161788
+ "additionalProperties": false,
161789
+ "type": "object",
161790
+ "required": [
161791
+ "document",
161792
+ "version"
161793
+ ],
161794
+ "properties": {
161795
+ "document": {
161796
+ "description": "Id del documento di programma.",
161797
+ "maxLength": 40,
161798
+ "minLength": 1,
161799
+ "type": "string"
161800
+ },
161801
+ "version": {
161802
+ "description": "Versione accettata. Deve essere quella corrente.",
161803
+ "maxLength": 20,
161804
+ "type": "string"
161805
+ }
161806
+ }
161807
+ }
161808
+ }
161809
+ }
161810
+ }
161811
+ }
161812
+ }
161813
+ },
161814
+ "security": [
161815
+ {
161816
+ "bearerAuth": []
161817
+ }
161818
+ ],
161819
+ "responses": {
161820
+ "200": {
161821
+ "description": "Esito dell’accettazione, con lo stato di ri-consenso aggiornato.",
161822
+ "content": {
161823
+ "application/json": {
161824
+ "schema": {
161825
+ "additionalProperties": false,
161826
+ "description": "Esito dell’accettazione, con lo stato di ri-consenso aggiornato.",
161827
+ "type": "object",
161828
+ "required": [
161829
+ "enrolled",
161830
+ "recorded",
161831
+ "reconsent"
161832
+ ],
161833
+ "properties": {
161834
+ "enrolled": {
161835
+ "description": "true se è nata una riga `partner_program_enrollment`. false quando il partner aveva già aderito a quella versione (idempotenza) o quando nessuna versione di programma è pubblicata.",
161836
+ "type": "boolean"
161837
+ },
161838
+ "recorded": {
161839
+ "description": "I documenti per cui è nata una riga `legal_consent`.",
161840
+ "type": "array",
161841
+ "items": {
161842
+ "description": "Id del documento registrato.",
161843
+ "type": "string"
161844
+ }
161845
+ },
161846
+ "reconsent": {
161847
+ "additionalProperties": false,
161848
+ "description": "Stato del ri-consenso ai termini di programma: cosa manca e se è esigibile.",
161849
+ "type": "object",
161850
+ "required": [
161851
+ "accepted_documents",
161852
+ "accepted_program_version",
161853
+ "current_program_version",
161854
+ "outstanding_documents",
161855
+ "reasons",
161856
+ "required"
161857
+ ],
161858
+ "properties": {
161859
+ "accepted_documents": {
161860
+ "additionalProperties": false,
161861
+ "description": "Versione accettata per ciascun documento di programma. Input di `outstandingPartnerDocuments()`.",
161862
+ "type": "object",
161863
+ "properties": {
161864
+ "partnerContentAddendum": {
161865
+ "description": "Versione accettata di partnerContentAddendum. Assente = mai accettato.",
161866
+ "type": "string"
161867
+ },
161868
+ "partnerSelfBilling": {
161869
+ "description": "Versione accettata di partnerSelfBilling. Assente = mai accettato.",
161870
+ "type": "string"
161871
+ },
161872
+ "partnerTerms": {
161873
+ "description": "Versione accettata di partnerTerms. Assente = mai accettato.",
161874
+ "type": "string"
161875
+ },
161876
+ "referralTerms": {
161877
+ "description": "Versione accettata di referralTerms. Assente = mai accettato.",
161878
+ "type": "string"
161879
+ }
161880
+ }
161881
+ },
161882
+ "accepted_program_version": {
161883
+ "description": "Riferimento a una `partner_program_version`, `null` quando non ne esiste una.",
161884
+ "anyOf": [
161885
+ {
161886
+ "additionalProperties": false,
161887
+ "type": "object",
161888
+ "required": [
161889
+ "id",
161890
+ "version"
161891
+ ],
161892
+ "properties": {
161893
+ "id": {
161894
+ "description": "Id della versione di programma.",
161895
+ "format": "uuid",
161896
+ "type": "string"
161897
+ },
161898
+ "version": {
161899
+ "description": "Etichetta di versione, es. `1.0`.",
161900
+ "type": "string"
161901
+ }
161902
+ }
161903
+ },
161904
+ {
161905
+ "type": "null"
161906
+ }
161907
+ ]
161908
+ },
161909
+ "current_program_version": {
161910
+ "description": "Riferimento a una `partner_program_version`, `null` quando non ne esiste una.",
161911
+ "anyOf": [
161912
+ {
161913
+ "additionalProperties": false,
161914
+ "type": "object",
161915
+ "required": [
161916
+ "id",
161917
+ "version"
161918
+ ],
161919
+ "properties": {
161920
+ "id": {
161921
+ "description": "Id della versione di programma.",
161922
+ "format": "uuid",
161923
+ "type": "string"
161924
+ },
161925
+ "version": {
161926
+ "description": "Etichetta di versione, es. `1.0`.",
161927
+ "type": "string"
161928
+ }
161929
+ }
161930
+ },
161931
+ {
161932
+ "type": "null"
161933
+ }
161934
+ ]
161935
+ },
161936
+ "outstanding_documents": {
161937
+ "description": "Documenti la cui versione accettata differisce dalla corrente. Rilevamento puro: comprende anche i documenti il cui testo non esiste ancora, perché non accettati lo sono comunque.",
161938
+ "type": "array",
161939
+ "items": {
161940
+ "description": "Id del documento di programma.",
161941
+ "type": "string"
161942
+ }
161943
+ },
161944
+ "reasons": {
161945
+ "description": "Perché il ri-consenso è dovuto. Vuoto quando `required` è false.",
161946
+ "type": "array",
161947
+ "items": {
161948
+ "description": "never_enrolled | program_version_superseded | documents_outdated.",
161949
+ "type": "string"
161950
+ }
161951
+ },
161952
+ "required": {
161953
+ "description": "true solo quando esiste qualcosa che il partner può DAVVERO riaccettare (vedi `reasons`).",
161954
+ "type": "boolean"
161955
+ }
161956
+ }
161957
+ }
161958
+ }
161959
+ }
161960
+ }
161961
+ }
161962
+ },
161963
+ "400": {
161964
+ "description": "Errore standard del backend.",
161965
+ "content": {
161966
+ "application/json": {
161967
+ "schema": {
161968
+ "additionalProperties": false,
161969
+ "description": "Errore standard del backend.",
161970
+ "type": "object",
161971
+ "required": [
161972
+ "error",
161973
+ "message",
161974
+ "statusCode"
161975
+ ],
161976
+ "properties": {
161977
+ "code": {
161978
+ "description": "Codice macchina dell’errore, quando disponibile.",
161979
+ "type": "string"
161980
+ },
161981
+ "error": {
161982
+ "description": "Etichetta breve dell’errore.",
161983
+ "type": "string"
161984
+ },
161985
+ "message": {
161986
+ "description": "Messaggio leggibile.",
161987
+ "type": "string"
161988
+ },
161989
+ "statusCode": {
161990
+ "description": "Codice di stato HTTP ripetuto nel corpo.",
161991
+ "type": "integer"
161992
+ }
161993
+ }
161994
+ }
161995
+ }
161996
+ }
161997
+ },
161998
+ "401": {
161999
+ "description": "Errore standard del backend.",
162000
+ "content": {
162001
+ "application/json": {
162002
+ "schema": {
162003
+ "additionalProperties": false,
162004
+ "description": "Errore standard del backend.",
162005
+ "type": "object",
162006
+ "required": [
162007
+ "error",
162008
+ "message",
162009
+ "statusCode"
162010
+ ],
162011
+ "properties": {
162012
+ "code": {
162013
+ "description": "Codice macchina dell’errore, quando disponibile.",
162014
+ "type": "string"
162015
+ },
162016
+ "error": {
162017
+ "description": "Etichetta breve dell’errore.",
162018
+ "type": "string"
162019
+ },
162020
+ "message": {
162021
+ "description": "Messaggio leggibile.",
162022
+ "type": "string"
162023
+ },
162024
+ "statusCode": {
162025
+ "description": "Codice di stato HTTP ripetuto nel corpo.",
162026
+ "type": "integer"
162027
+ }
162028
+ }
162029
+ }
162030
+ }
162031
+ }
162032
+ },
162033
+ "403": {
162034
+ "description": "Errore standard del backend.",
162035
+ "content": {
162036
+ "application/json": {
162037
+ "schema": {
162038
+ "additionalProperties": false,
162039
+ "description": "Errore standard del backend.",
162040
+ "type": "object",
162041
+ "required": [
162042
+ "error",
162043
+ "message",
162044
+ "statusCode"
162045
+ ],
162046
+ "properties": {
162047
+ "code": {
162048
+ "description": "Codice macchina dell’errore, quando disponibile.",
162049
+ "type": "string"
162050
+ },
162051
+ "error": {
162052
+ "description": "Etichetta breve dell’errore.",
162053
+ "type": "string"
162054
+ },
162055
+ "message": {
162056
+ "description": "Messaggio leggibile.",
162057
+ "type": "string"
162058
+ },
162059
+ "statusCode": {
162060
+ "description": "Codice di stato HTTP ripetuto nel corpo.",
162061
+ "type": "integer"
162062
+ }
162063
+ }
162064
+ }
162065
+ }
162066
+ }
161406
162067
  },
161407
- "403": {
162068
+ "409": {
161408
162069
  "description": "Errore standard del backend.",
161409
162070
  "content": {
161410
162071
  "application/json": {
@@ -179214,28 +179875,57 @@
179214
179875
  }
179215
179876
  },
179216
179877
  "503": {
179217
- "description": "Scheduled reports are not enabled for this account.",
179878
+ "description": "Service unavailable",
179218
179879
  "content": {
179219
179880
  "application/json": {
179220
179881
  "schema": {
179221
- "additionalProperties": false,
179222
- "description": "Scheduled reports are not enabled for this account.",
179223
- "type": "object",
179224
- "required": [
179225
- "error",
179226
- "code"
179227
- ],
179228
- "properties": {
179229
- "error": {
179230
- "type": "string"
179882
+ "anyOf": [
179883
+ {
179884
+ "additionalProperties": false,
179885
+ "description": "Scheduled reports are not enabled for this account.",
179886
+ "type": "object",
179887
+ "required": [
179888
+ "error",
179889
+ "code"
179890
+ ],
179891
+ "properties": {
179892
+ "error": {
179893
+ "type": "string"
179894
+ },
179895
+ "code": {
179896
+ "type": "string",
179897
+ "enum": [
179898
+ "FEATURE_DISABLED"
179899
+ ]
179900
+ }
179901
+ }
179231
179902
  },
179232
- "code": {
179233
- "type": "string",
179234
- "enum": [
179235
- "FEATURE_DISABLED"
179236
- ]
179903
+ {
179904
+ "additionalProperties": false,
179905
+ "description": "The caller’s plan could not be verified. Retry.",
179906
+ "type": "object",
179907
+ "required": [
179908
+ "error",
179909
+ "code",
179910
+ "retry_after_seconds"
179911
+ ],
179912
+ "properties": {
179913
+ "error": {
179914
+ "type": "string"
179915
+ },
179916
+ "code": {
179917
+ "type": "string",
179918
+ "enum": [
179919
+ "SCHEDULED_REPORT_PLAN_UNAVAILABLE"
179920
+ ]
179921
+ },
179922
+ "retry_after_seconds": {
179923
+ "minimum": 1,
179924
+ "type": "integer"
179925
+ }
179926
+ }
179237
179927
  }
179238
- }
179928
+ ]
179239
179929
  }
179240
179930
  }
179241
179931
  }
@@ -180150,28 +180840,57 @@
180150
180840
  }
180151
180841
  },
180152
180842
  "503": {
180153
- "description": "Scheduled reports are not enabled for this account.",
180843
+ "description": "Service unavailable",
180154
180844
  "content": {
180155
180845
  "application/json": {
180156
180846
  "schema": {
180157
- "additionalProperties": false,
180158
- "description": "Scheduled reports are not enabled for this account.",
180159
- "type": "object",
180160
- "required": [
180161
- "error",
180162
- "code"
180163
- ],
180164
- "properties": {
180165
- "error": {
180166
- "type": "string"
180847
+ "anyOf": [
180848
+ {
180849
+ "additionalProperties": false,
180850
+ "description": "Scheduled reports are not enabled for this account.",
180851
+ "type": "object",
180852
+ "required": [
180853
+ "error",
180854
+ "code"
180855
+ ],
180856
+ "properties": {
180857
+ "error": {
180858
+ "type": "string"
180859
+ },
180860
+ "code": {
180861
+ "type": "string",
180862
+ "enum": [
180863
+ "FEATURE_DISABLED"
180864
+ ]
180865
+ }
180866
+ }
180167
180867
  },
180168
- "code": {
180169
- "type": "string",
180170
- "enum": [
180171
- "FEATURE_DISABLED"
180172
- ]
180868
+ {
180869
+ "additionalProperties": false,
180870
+ "description": "The caller’s plan could not be verified. Retry.",
180871
+ "type": "object",
180872
+ "required": [
180873
+ "error",
180874
+ "code",
180875
+ "retry_after_seconds"
180876
+ ],
180877
+ "properties": {
180878
+ "error": {
180879
+ "type": "string"
180880
+ },
180881
+ "code": {
180882
+ "type": "string",
180883
+ "enum": [
180884
+ "SCHEDULED_REPORT_PLAN_UNAVAILABLE"
180885
+ ]
180886
+ },
180887
+ "retry_after_seconds": {
180888
+ "minimum": 1,
180889
+ "type": "integer"
180890
+ }
180891
+ }
180173
180892
  }
180174
- }
180893
+ ]
180175
180894
  }
180176
180895
  }
180177
180896
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wevion/cli",
3
- "version": "1.0.3240",
3
+ "version": "1.0.3252",
4
4
  "description": "Wevion API command-line interface — generated from the public OpenAPI spec",
5
5
  "type": "module",
6
6
  "bin": {