@solibo/solibo-sdk 1.10.5 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/KmLogging-logging.mjs +98 -98
  2. package/KotlinBigInteger-bignum.mjs +1127 -1127
  3. package/MultiplatformSettings-multiplatform-settings-test.mjs +18 -18
  4. package/MultiplatformSettings-multiplatform-settings.mjs +16 -16
  5. package/Stately-stately-concurrency.mjs +3 -3
  6. package/bitops-library-bits.mjs +33 -33
  7. package/bitops-library-endian.mjs +3 -3
  8. package/client.d.mts +183 -43
  9. package/client.mjs +434 -22
  10. package/core-library-digest.mjs +29 -29
  11. package/cryptography-kotlin-cryptography-bigint.mjs +28 -28
  12. package/cryptography-kotlin-cryptography-core.mjs +47 -47
  13. package/cryptography-kotlin-cryptography-provider-base.mjs +8 -8
  14. package/cryptography-kotlin-cryptography-provider-webcrypto.mjs +136 -136
  15. package/cryptography-kotlin-cryptography-random.mjs +15 -15
  16. package/cryptography-kotlin-cryptography-serialization-asn1-modules.mjs +118 -118
  17. package/cryptography-kotlin-cryptography-serialization-asn1.mjs +250 -250
  18. package/cryptography-kotlin-cryptography-serialization-pem.mjs +15 -15
  19. package/hash-library-md.mjs +30 -30
  20. package/index.mjs +6 -0
  21. package/kotlin-kotlin-stdlib.mjs +11 -11
  22. package/kotlin-kotlin-stdlib.mjs.map +1 -1
  23. package/kotlinx-coroutines-core.mjs +7 -7
  24. package/kotlinx-coroutines-core.mjs.map +1 -1
  25. package/kotlinx-serialization-kotlinx-serialization-json.mjs +1072 -1072
  26. package/ktor-ktor-client-auth.mjs +245 -245
  27. package/ktor-ktor-client-content-negotiation.mjs +125 -125
  28. package/ktor-ktor-client-core.mjs +2627 -2627
  29. package/ktor-ktor-client-encoding.mjs +120 -120
  30. package/ktor-ktor-client-logging.mjs +600 -600
  31. package/ktor-ktor-client-mock.mjs +48 -48
  32. package/ktor-ktor-http-cio.mjs +300 -300
  33. package/ktor-ktor-http.mjs +1077 -1027
  34. package/ktor-ktor-http.mjs.map +1 -1
  35. package/ktor-ktor-serialization-kotlinx-json.mjs +7 -7
  36. package/ktor-ktor-serialization-kotlinx.mjs +110 -110
  37. package/ktor-ktor-serialization.mjs +50 -50
  38. package/ktor-ktor-websockets.mjs +322 -322
  39. package/package.json +1 -1
  40. package/solibo-sdk-sdk-home-api.mjs +49641 -46771
  41. package/solibo-sdk-sdk-home-api.mjs.map +1 -1
  42. package/solibo-sdk-sdk.d.mts +346 -6
  43. package/solibo-sdk-sdk.mjs +7197 -5827
  44. package/solibo-sdk-sdk.mjs.map +1 -1
package/client.mjs CHANGED
@@ -3008,7 +3008,13 @@ const DESCRIPTORS = {
3008
3008
  }
3009
3009
  ],
3010
3010
  "body": null,
3011
- "bodyType": null
3011
+ "bodyType": null,
3012
+ "requiredProjectionFields": [
3013
+ "classification",
3014
+ "companyId",
3015
+ "id",
3016
+ "isBusiness"
3017
+ ]
3012
3018
  },
3013
3019
  "indexSectionFractions": {
3014
3020
  "args": [
@@ -3108,7 +3114,13 @@ const DESCRIPTORS = {
3108
3114
  }
3109
3115
  ],
3110
3116
  "body": null,
3111
- "bodyType": null
3117
+ "bodyType": null,
3118
+ "requiredProjectionFields": [
3119
+ "classification",
3120
+ "companyId",
3121
+ "id",
3122
+ "isBusiness"
3123
+ ]
3112
3124
  },
3113
3125
  "indexTagsOnSection": {
3114
3126
  "args": [
@@ -3272,6 +3284,30 @@ const DESCRIPTORS = {
3272
3284
  "body": "sectionTagCommand",
3273
3285
  "bodyType": "KtList<SectionTagCommand>"
3274
3286
  },
3287
+ "showSection": {
3288
+ "args": [
3289
+ {
3290
+ "name": "companyId",
3291
+ "type": "bigint"
3292
+ },
3293
+ {
3294
+ "name": "sectionId",
3295
+ "type": "bigint"
3296
+ },
3297
+ {
3298
+ "name": "fields",
3299
+ "type": "string | null | undefined"
3300
+ }
3301
+ ],
3302
+ "body": null,
3303
+ "bodyType": null,
3304
+ "requiredProjectionFields": [
3305
+ "classification",
3306
+ "companyId",
3307
+ "id",
3308
+ "isBusiness"
3309
+ ]
3310
+ },
3275
3311
  "showSectionResidentHistory": {
3276
3312
  "args": [
3277
3313
  {
@@ -6124,6 +6160,28 @@ const DESCRIPTORS = {
6124
6160
  "body": null,
6125
6161
  "bodyType": null
6126
6162
  },
6163
+ "postCompanyInvoiceDirectSend": {
6164
+ "args": [
6165
+ {
6166
+ "name": "companyId",
6167
+ "type": "bigint"
6168
+ },
6169
+ {
6170
+ "name": "invoiceId",
6171
+ "type": "string"
6172
+ },
6173
+ {
6174
+ "name": "directSendInvoiceCommand",
6175
+ "type": "DirectSendInvoiceCommand"
6176
+ },
6177
+ {
6178
+ "name": "idempotencyKey",
6179
+ "type": "string | null | undefined"
6180
+ }
6181
+ ],
6182
+ "body": "directSendInvoiceCommand",
6183
+ "bodyType": "DirectSendInvoiceCommand"
6184
+ },
6127
6185
  "putCompanyInvoiceClose": {
6128
6186
  "args": [
6129
6187
  {
@@ -7672,6 +7730,20 @@ const DESCRIPTORS = {
7672
7730
  "body": null,
7673
7731
  "bodyType": null
7674
7732
  },
7733
+ "exportSelectedResidents": {
7734
+ "args": [
7735
+ {
7736
+ "name": "companyId",
7737
+ "type": "bigint"
7738
+ },
7739
+ {
7740
+ "name": "exportResidentsCommand",
7741
+ "type": "ExportResidentsCommand"
7742
+ }
7743
+ ],
7744
+ "body": "exportResidentsCommand",
7745
+ "bodyType": "ExportResidentsCommand"
7746
+ },
7675
7747
  "importResidentsForOnboardingCompany": {
7676
7748
  "args": [
7677
7749
  {
@@ -7686,6 +7758,72 @@ const DESCRIPTORS = {
7686
7758
  "body": "body",
7687
7759
  "bodyType": "string"
7688
7760
  },
7761
+ "indexFutureResidents": {
7762
+ "args": [
7763
+ {
7764
+ "name": "companyId",
7765
+ "type": "bigint"
7766
+ },
7767
+ {
7768
+ "name": "fields",
7769
+ "type": "string | null | undefined"
7770
+ },
7771
+ {
7772
+ "name": "pageToken",
7773
+ "type": "string | null | undefined"
7774
+ },
7775
+ {
7776
+ "name": "autoPaginate",
7777
+ "type": "boolean | null | undefined"
7778
+ },
7779
+ {
7780
+ "name": "count",
7781
+ "type": "number | null | undefined"
7782
+ }
7783
+ ],
7784
+ "body": null,
7785
+ "bodyType": null,
7786
+ "requiredProjectionFields": [
7787
+ "country",
7788
+ "id",
7789
+ "nationality",
7790
+ "type",
7791
+ "name"
7792
+ ]
7793
+ },
7794
+ "indexHistoricResidents": {
7795
+ "args": [
7796
+ {
7797
+ "name": "companyId",
7798
+ "type": "bigint"
7799
+ },
7800
+ {
7801
+ "name": "fields",
7802
+ "type": "string | null | undefined"
7803
+ },
7804
+ {
7805
+ "name": "pageToken",
7806
+ "type": "string | null | undefined"
7807
+ },
7808
+ {
7809
+ "name": "autoPaginate",
7810
+ "type": "boolean | null | undefined"
7811
+ },
7812
+ {
7813
+ "name": "count",
7814
+ "type": "number | null | undefined"
7815
+ }
7816
+ ],
7817
+ "body": null,
7818
+ "bodyType": null,
7819
+ "requiredProjectionFields": [
7820
+ "country",
7821
+ "id",
7822
+ "nationality",
7823
+ "type",
7824
+ "name"
7825
+ ]
7826
+ },
7689
7827
  "indexResident": {
7690
7828
  "args": [
7691
7829
  {
@@ -7714,7 +7852,14 @@ const DESCRIPTORS = {
7714
7852
  }
7715
7853
  ],
7716
7854
  "body": null,
7717
- "bodyType": null
7855
+ "bodyType": null,
7856
+ "requiredProjectionFields": [
7857
+ "country",
7858
+ "id",
7859
+ "nationality",
7860
+ "type",
7861
+ "name"
7862
+ ]
7718
7863
  },
7719
7864
  "indexResidentTypes": {
7720
7865
  "args": [
@@ -7808,6 +7953,35 @@ const DESCRIPTORS = {
7808
7953
  "body": null,
7809
7954
  "bodyType": null
7810
7955
  },
7956
+ "showResident": {
7957
+ "args": [
7958
+ {
7959
+ "name": "companyId",
7960
+ "type": "bigint"
7961
+ },
7962
+ {
7963
+ "name": "residentType",
7964
+ "type": "string"
7965
+ },
7966
+ {
7967
+ "name": "residentId",
7968
+ "type": "bigint"
7969
+ },
7970
+ {
7971
+ "name": "fields",
7972
+ "type": "string | null | undefined"
7973
+ }
7974
+ ],
7975
+ "body": null,
7976
+ "bodyType": null,
7977
+ "requiredProjectionFields": [
7978
+ "country",
7979
+ "id",
7980
+ "nationality",
7981
+ "type",
7982
+ "name"
7983
+ ]
7984
+ },
7811
7985
  "showResidentByOrgNr": {
7812
7986
  "args": [
7813
7987
  {
@@ -7875,14 +8049,6 @@ const DESCRIPTORS = {
7875
8049
  {
7876
8050
  "name": "updateResidentCommand",
7877
8051
  "type": "UpdateResidentCommand"
7878
- },
7879
- {
7880
- "name": "removeBods",
7881
- "type": "boolean | null | undefined"
7882
- },
7883
- {
7884
- "name": "removeParkeringsplass",
7885
- "type": "boolean | null | undefined"
7886
8052
  }
7887
8053
  ],
7888
8054
  "body": "updateResidentCommand",
@@ -7939,6 +8105,104 @@ const DESCRIPTORS = {
7939
8105
  ],
7940
8106
  "body": "updateNotatCommand",
7941
8107
  "bodyType": "UpdateNotatCommand"
8108
+ },
8109
+ "createPersonResident": {
8110
+ "args": [
8111
+ {
8112
+ "name": "companyId",
8113
+ "type": "bigint"
8114
+ },
8115
+ {
8116
+ "name": "input",
8117
+ "type": "CreatePersonResidentCommand"
8118
+ }
8119
+ ],
8120
+ "body": null,
8121
+ "bodyType": null,
8122
+ "direct": true
8123
+ },
8124
+ "createOrganizationResident": {
8125
+ "args": [
8126
+ {
8127
+ "name": "companyId",
8128
+ "type": "bigint"
8129
+ },
8130
+ {
8131
+ "name": "input",
8132
+ "type": "CreateOrganizationResidentCommand"
8133
+ }
8134
+ ],
8135
+ "body": null,
8136
+ "bodyType": null,
8137
+ "direct": true
8138
+ },
8139
+ "updatePersonResident": {
8140
+ "args": [
8141
+ {
8142
+ "name": "companyId",
8143
+ "type": "bigint"
8144
+ },
8145
+ {
8146
+ "name": "residentId",
8147
+ "type": "bigint"
8148
+ },
8149
+ {
8150
+ "name": "input",
8151
+ "type": "UpdatePersonResidentCommand"
8152
+ }
8153
+ ],
8154
+ "body": null,
8155
+ "bodyType": null,
8156
+ "direct": true
8157
+ },
8158
+ "updateOrganizationResident": {
8159
+ "args": [
8160
+ {
8161
+ "name": "companyId",
8162
+ "type": "bigint"
8163
+ },
8164
+ {
8165
+ "name": "residentId",
8166
+ "type": "bigint"
8167
+ },
8168
+ {
8169
+ "name": "input",
8170
+ "type": "UpdateOrganizationResidentCommand"
8171
+ }
8172
+ ],
8173
+ "body": null,
8174
+ "bodyType": null,
8175
+ "direct": true
8176
+ },
8177
+ "exportResidentsFile": {
8178
+ "args": [
8179
+ {
8180
+ "name": "companyId",
8181
+ "type": "bigint"
8182
+ },
8183
+ {
8184
+ "name": "includePnr",
8185
+ "type": "boolean"
8186
+ }
8187
+ ],
8188
+ "body": null,
8189
+ "bodyType": null,
8190
+ "direct": true
8191
+ },
8192
+ "exportSelectedResidentsFile": {
8193
+ "args": [
8194
+ {
8195
+ "name": "companyId",
8196
+ "type": "bigint"
8197
+ },
8198
+ {
8199
+ "name": "input",
8200
+ "type": "ExportResidentsCommand"
8201
+ }
8202
+ ],
8203
+ "body": null,
8204
+ "bodyType": null,
8205
+ "direct": true
7942
8206
  }
7943
8207
  },
7944
8208
  "person": {
@@ -8090,7 +8354,10 @@ const DESCRIPTORS = {
8090
8354
  }
8091
8355
  ],
8092
8356
  "body": null,
8093
- "bodyType": null
8357
+ "bodyType": null,
8358
+ "requiredProjectionFields": [
8359
+ "id"
8360
+ ]
8094
8361
  },
8095
8362
  "showPersonByEmail": {
8096
8363
  "args": [
@@ -8727,7 +8994,14 @@ const DESCRIPTORS = {
8727
8994
  }
8728
8995
  ],
8729
8996
  "body": null,
8730
- "bodyType": null
8997
+ "bodyType": null,
8998
+ "requiredProjectionFields": [
8999
+ "classification",
9000
+ "country",
9001
+ "id",
9002
+ "name",
9003
+ "nationality"
9004
+ ]
8731
9005
  },
8732
9006
  "showOrganizationByOrganizationnummer": {
8733
9007
  "args": [
@@ -9449,7 +9723,11 @@ const DESCRIPTORS = {
9449
9723
  }
9450
9724
  ],
9451
9725
  "body": null,
9452
- "bodyType": null
9726
+ "bodyType": null,
9727
+ "requiredProjectionFields": [
9728
+ "id",
9729
+ "identifier"
9730
+ ]
9453
9731
  },
9454
9732
  "listVacantStorageRooms": {
9455
9733
  "args": [
@@ -9467,7 +9745,11 @@ const DESCRIPTORS = {
9467
9745
  }
9468
9746
  ],
9469
9747
  "body": null,
9470
- "bodyType": null
9748
+ "bodyType": null,
9749
+ "requiredProjectionFields": [
9750
+ "id",
9751
+ "identifier"
9752
+ ]
9471
9753
  },
9472
9754
  "showStorageRoom": {
9473
9755
  "args": [
@@ -9503,7 +9785,16 @@ const DESCRIPTORS = {
9503
9785
  }
9504
9786
  ],
9505
9787
  "body": null,
9506
- "bodyType": null
9788
+ "bodyType": null,
9789
+ "requiredProjectionFields": [
9790
+ "assigned",
9791
+ "byOwnerType",
9792
+ "companyId",
9793
+ "items",
9794
+ "searchDate",
9795
+ "total",
9796
+ "unassigned"
9797
+ ]
9507
9798
  },
9508
9799
  "storageRoomVacancy": {
9509
9800
  "args": [
@@ -9525,7 +9816,12 @@ const DESCRIPTORS = {
9525
9816
  }
9526
9817
  ],
9527
9818
  "body": null,
9528
- "bodyType": null
9819
+ "bodyType": null,
9820
+ "requiredProjectionFields": [
9821
+ "searchDate",
9822
+ "storageRoomId",
9823
+ "vacantAtSearchDate"
9824
+ ]
9529
9825
  },
9530
9826
  "unAssignStorageRoomToOrganization": {
9531
9827
  "args": [
@@ -11739,7 +12035,11 @@ const DESCRIPTORS = {
11739
12035
  }
11740
12036
  ],
11741
12037
  "body": null,
11742
- "bodyType": null
12038
+ "bodyType": null,
12039
+ "requiredProjectionFields": [
12040
+ "id",
12041
+ "identifier"
12042
+ ]
11743
12043
  },
11744
12044
  "listVacantParkingSpaces": {
11745
12045
  "args": [
@@ -11757,7 +12057,11 @@ const DESCRIPTORS = {
11757
12057
  }
11758
12058
  ],
11759
12059
  "body": null,
11760
- "bodyType": null
12060
+ "bodyType": null,
12061
+ "requiredProjectionFields": [
12062
+ "id",
12063
+ "identifier"
12064
+ ]
11761
12065
  },
11762
12066
  "parkingSpaceAllocationOverview": {
11763
12067
  "args": [
@@ -11775,7 +12079,16 @@ const DESCRIPTORS = {
11775
12079
  }
11776
12080
  ],
11777
12081
  "body": null,
11778
- "bodyType": null
12082
+ "bodyType": null,
12083
+ "requiredProjectionFields": [
12084
+ "assigned",
12085
+ "byOwnerType",
12086
+ "companyId",
12087
+ "items",
12088
+ "searchDate",
12089
+ "total",
12090
+ "unassigned"
12091
+ ]
11779
12092
  },
11780
12093
  "parkingSpaceVacancy": {
11781
12094
  "args": [
@@ -11797,7 +12110,12 @@ const DESCRIPTORS = {
11797
12110
  }
11798
12111
  ],
11799
12112
  "body": null,
11800
- "bodyType": null
12113
+ "bodyType": null,
12114
+ "requiredProjectionFields": [
12115
+ "parkingSpaceId",
12116
+ "searchDate",
12117
+ "vacantAtSearchDate"
12118
+ ]
11801
12119
  },
11802
12120
  "showParkingSpace": {
11803
12121
  "args": [
@@ -15211,6 +15529,18 @@ const PROPS = {
15211
15529
  "session": "string",
15212
15530
  "timestamp": "string"
15213
15531
  },
15532
+ "DirectSendInvoiceCommandProps": {
15533
+ "channel": "DirectSendInvoiceChannel",
15534
+ "document": "DirectSendInvoiceDocument",
15535
+ "email": "string | null | undefined",
15536
+ "printRecipient": "DirectSendPrintRecipientProps | null | undefined"
15537
+ },
15538
+ "DirectSendPrintRecipientProps": {
15539
+ "area": "string",
15540
+ "name": "string",
15541
+ "streetAddress": "string",
15542
+ "zipCode": "string"
15543
+ },
15214
15544
  "DocumentProps": {
15215
15545
  "belongsToId": "bigint | null | undefined",
15216
15546
  "children": "DocumentProps[] | null | undefined",
@@ -15300,6 +15630,10 @@ const PROPS = {
15300
15630
  "participantId": "bigint",
15301
15631
  "employee": "OrganizationEmployeeProps | null | undefined"
15302
15632
  },
15633
+ "ErrorJsonProps": {
15634
+ "error": "Errors | null | undefined",
15635
+ "message": "string"
15636
+ },
15303
15637
  "ExpenseProps": {
15304
15638
  "account": "string",
15305
15639
  "amount": "number",
@@ -15333,6 +15667,11 @@ const PROPS = {
15333
15667
  "name": "string",
15334
15668
  "tripletexId": "string | null | undefined"
15335
15669
  },
15670
+ "ExportResidentsCommandProps": {
15671
+ "filter": "ResidentExportFilterProps | null | undefined",
15672
+ "includePnr": "boolean | null | undefined",
15673
+ "selection": "ResidentIdentityProps[] | null | undefined"
15674
+ },
15336
15675
  "ExternalConversationParticipantProps": {
15337
15676
  "email": "string"
15338
15677
  },
@@ -16548,6 +16887,7 @@ const PROPS = {
16548
16887
  "employees": "OrganizationEmployeeProps[] | null | undefined",
16549
16888
  "name": "string",
16550
16889
  "orgNr": "string | null | undefined",
16890
+ "relationships": "ResidentRelationshipAggregateProps | null | undefined",
16551
16891
  "reservations": "Map<string, OrganizationReservationsProps | null | undefined> | null | undefined"
16552
16892
  },
16553
16893
  "OrganizationRoleInputProps": {
@@ -17292,6 +17632,7 @@ const PROPS = {
17292
17632
  "passportNumberId": "string | null | undefined",
17293
17633
  "personnummerId": "string | null | undefined",
17294
17634
  "personnummerTwoId": "string | null | undefined",
17635
+ "relationships": "ResidentRelationshipAggregateProps | null | undefined",
17295
17636
  "title": "string | null | undefined"
17296
17637
  },
17297
17638
  "PersonRoadProps": {
@@ -17500,6 +17841,23 @@ const PROPS = {
17500
17841
  "ReorderIssueInMeetingCommandProps": {
17501
17842
  "beforeIndex": "bigint"
17502
17843
  },
17844
+ "ResidentExportFilterProps": {
17845
+ "query": "string | null | undefined",
17846
+ "residentTypes": "ResidentType[] | null | undefined"
17847
+ },
17848
+ "ResidentIdentityProps": {
17849
+ "residentId": "bigint",
17850
+ "residentType": "ResidentType"
17851
+ },
17852
+ "ResidentRelationshipAggregateProps": {
17853
+ "current": "ResidentRelationshipPeriodProps",
17854
+ "future": "ResidentRelationshipPeriodProps",
17855
+ "historic": "ResidentRelationshipPeriodProps"
17856
+ },
17857
+ "ResidentRelationshipPeriodProps": {
17858
+ "occupancies": "AttendanceProps[]",
17859
+ "roles": "RoleProps[]"
17860
+ },
17503
17861
  "ResidentRoleProps": {
17504
17862
  "companyId": "bigint | null | undefined",
17505
17863
  "id": "bigint",
@@ -17699,6 +18057,8 @@ const PROPS = {
17699
18057
  "classification": "SectionType",
17700
18058
  "companyClassification": "string | null | undefined",
17701
18059
  "companyId": "bigint",
18060
+ "currentOccupancies": "AttendanceProps[] | null | undefined",
18061
+ "currentResidentRoles": "ResidentRoleProps[] | null | undefined",
17702
18062
  "deletedAt": "SoliboInstant /* Instant */ | null | undefined",
17703
18063
  "deletionReason": "SectionDeletionReason | null | undefined",
17704
18064
  "floor": "BuildingFloorProps | null | undefined",
@@ -19089,6 +19449,11 @@ const PROPS = {
19089
19449
  "MockBackendProps": {
19090
19450
  "userIdProvider": "() => string | null | undefined, prefill?: boolean"
19091
19451
  },
19452
+ "ResidentExportFileProps": {
19453
+ "bytes": "Int8Array",
19454
+ "contentType": "string | null | undefined",
19455
+ "fileName": "string | null | undefined"
19456
+ },
19092
19457
  "CredentialsProps": {
19093
19458
  "login": "string",
19094
19459
  "pwd": "string"
@@ -19128,6 +19493,10 @@ const PROPS = {
19128
19493
  "scopes": "Array<string> | null | undefined"
19129
19494
  }
19130
19495
  };
19496
+ const RESIDENT_DISCRIMINATORS = {
19497
+ "OrganizationResident": "solibo.residents.query.domain.OrganizationResident",
19498
+ "PersonResident": "solibo.residents.query.domain.PersonResident"
19499
+ };
19131
19500
  const CLIENT = Symbol.for('@solibo/solibo-sdk/client');
19132
19501
  const converted = new WeakSet();
19133
19502
  const convertedMaps = new WeakMap();
@@ -19169,6 +19538,17 @@ function readonlyMap(map) {
19169
19538
  });
19170
19539
  }
19171
19540
 
19541
+ function addResidentDiscriminator(value) {
19542
+ for (const [className, wireName] of Object.entries(RESIDENT_DISCRIMINATORS)) {
19543
+ const ResidentClass = sdk[className];
19544
+ if (typeof ResidentClass !== 'function' || !(value instanceof ResidentClass)) continue;
19545
+ try {
19546
+ Object.defineProperty(value, 'type', { enumerable: true, value: wireName, writable: false });
19547
+ } catch (_) { /* retain a non-configurable generated discriminator */ }
19548
+ return;
19549
+ }
19550
+ }
19551
+
19172
19552
  export function normalizeSdkResult(value) {
19173
19553
  if (value == null || typeof value !== 'object') return value;
19174
19554
  if (converted.has(value)) return value;
@@ -19188,6 +19568,7 @@ export function normalizeSdkResult(value) {
19188
19568
  }
19189
19569
  if (Array.isArray(value)) return Object.freeze(value.map(normalizeSdkResult));
19190
19570
  if (value instanceof Date || ArrayBuffer.isView(value) || value instanceof ArrayBuffer) return value;
19571
+ addResidentDiscriminator(value);
19191
19572
  converted.add(value);
19192
19573
  const keys = new Set(Object.keys(value));
19193
19574
  for (let prototype = Object.getPrototypeOf(value); prototype && prototype !== Object.prototype; prototype = Object.getPrototypeOf(prototype)) {
@@ -19303,10 +19684,41 @@ function prepareBody(value, type) {
19303
19684
  return prepare(value, type);
19304
19685
  }
19305
19686
 
19687
+ function topLevelProjectionNames(fields) {
19688
+ const names = new Set();
19689
+ let start = 0;
19690
+ let depth = 0;
19691
+ const add = (end) => {
19692
+ const entry = fields.slice(start, end).trim();
19693
+ const name = entry.slice(0, entry.indexOf('(') < 0 ? entry.length : entry.indexOf('(')).trim();
19694
+ if (name) names.add(name);
19695
+ };
19696
+ for (let index = 0; index <= fields.length; index += 1) {
19697
+ const char = fields[index];
19698
+ if (char === '(') depth += 1;
19699
+ else if (char === ')') depth = Math.max(0, depth - 1);
19700
+ else if ((char === ',' && depth === 0) || index === fields.length) {
19701
+ add(index);
19702
+ start = index + 1;
19703
+ }
19704
+ }
19705
+ return names;
19706
+ }
19707
+
19708
+ function ensureProjectionFields(fields, required) {
19709
+ if (typeof fields !== 'string') return fields;
19710
+ const names = topLevelProjectionNames(fields);
19711
+ const missing = required.filter((name) => !names.has(name));
19712
+ return [fields.trim(), ...missing].filter(Boolean).join(',');
19713
+ }
19714
+
19306
19715
  function invoke(rawDomain, descriptor, params) {
19307
19716
  const input = params ?? {};
19308
19717
  const args = descriptor.args.map(({ name, type }) => {
19309
- const value = name === descriptor.body ? input.input : input[name];
19718
+ const rawValue = name === descriptor.body ? input.input : input[name];
19719
+ const value = name === 'fields' && descriptor.requiredProjectionFields
19720
+ ? ensureProjectionFields(rawValue, descriptor.requiredProjectionFields)
19721
+ : rawValue;
19310
19722
  return name === descriptor.body ? prepareBody(value, descriptor.bodyType) : prepare(value, type);
19311
19723
  });
19312
19724
  return Promise.resolve(rawDomain[descriptor.method](...args)).then(async (response) => {