@homespot-sdk/core 0.0.365 → 0.0.367

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 (59) hide show
  1. package/dist/property/index.d.ts +2 -2
  2. package/dist/property/index.d.ts.map +1 -1
  3. package/dist/property/index.js +1 -1
  4. package/dist/property/index.js.map +1 -1
  5. package/dist/property/schemas.gen.d.ts +157 -1
  6. package/dist/property/schemas.gen.d.ts.map +1 -1
  7. package/dist/property/schemas.gen.js +173 -0
  8. package/dist/property/schemas.gen.js.map +1 -1
  9. package/dist/property/sdk.gen.d.ts +11 -3
  10. package/dist/property/sdk.gen.d.ts.map +1 -1
  11. package/dist/property/sdk.gen.js +61 -3
  12. package/dist/property/sdk.gen.js.map +1 -1
  13. package/dist/property/transformers.gen.d.ts +3 -1
  14. package/dist/property/transformers.gen.d.ts.map +1 -1
  15. package/dist/property/transformers.gen.js +12 -0
  16. package/dist/property/transformers.gen.js.map +1 -1
  17. package/dist/property/types.gen.d.ts +227 -0
  18. package/dist/property/types.gen.d.ts.map +1 -1
  19. package/dist/property/zod.gen.d.ts +249 -0
  20. package/dist/property/zod.gen.d.ts.map +1 -1
  21. package/dist/property/zod.gen.js +166 -0
  22. package/dist/property/zod.gen.js.map +1 -1
  23. package/dist/rem/index.d.ts +2 -2
  24. package/dist/rem/index.d.ts.map +1 -1
  25. package/dist/rem/index.js +1 -1
  26. package/dist/rem/index.js.map +1 -1
  27. package/dist/rem/schemas.gen.d.ts +230 -20
  28. package/dist/rem/schemas.gen.d.ts.map +1 -1
  29. package/dist/rem/schemas.gen.js +267 -18
  30. package/dist/rem/schemas.gen.js.map +1 -1
  31. package/dist/rem/sdk.gen.d.ts +5 -2
  32. package/dist/rem/sdk.gen.d.ts.map +1 -1
  33. package/dist/rem/sdk.gen.js +20 -1
  34. package/dist/rem/sdk.gen.js.map +1 -1
  35. package/dist/rem/types.gen.d.ts +197 -10
  36. package/dist/rem/types.gen.d.ts.map +1 -1
  37. package/dist/rem/zod.gen.d.ts +295 -12
  38. package/dist/rem/zod.gen.d.ts.map +1 -1
  39. package/dist/rem/zod.gen.js +212 -4
  40. package/dist/rem/zod.gen.js.map +1 -1
  41. package/dist/utils/index.d.ts +2 -2
  42. package/dist/utils/index.d.ts.map +1 -1
  43. package/dist/utils/index.js +1 -1
  44. package/dist/utils/index.js.map +1 -1
  45. package/dist/utils/schemas.gen.d.ts +37 -0
  46. package/dist/utils/schemas.gen.d.ts.map +1 -1
  47. package/dist/utils/schemas.gen.js +37 -0
  48. package/dist/utils/schemas.gen.js.map +1 -1
  49. package/dist/utils/sdk.gen.d.ts +2 -1
  50. package/dist/utils/sdk.gen.d.ts.map +1 -1
  51. package/dist/utils/sdk.gen.js +8 -0
  52. package/dist/utils/sdk.gen.js.map +1 -1
  53. package/dist/utils/types.gen.d.ts +24 -0
  54. package/dist/utils/types.gen.d.ts.map +1 -1
  55. package/dist/utils/zod.gen.d.ts +29 -0
  56. package/dist/utils/zod.gen.d.ts.map +1 -1
  57. package/dist/utils/zod.gen.js +34 -0
  58. package/dist/utils/zod.gen.js.map +1 -1
  59. package/package.json +1 -1
@@ -290,6 +290,51 @@ export const RenameTodoRequestSchema = {
290
290
  },
291
291
  required: ['title'],
292
292
  };
293
+ export const SaveSocialPostTemplateRequestSchema = {
294
+ type: 'object',
295
+ properties: {
296
+ text: {
297
+ type: 'string',
298
+ description: 'Lines with {{key}} placeholders',
299
+ },
300
+ version: {
301
+ type: 'integer',
302
+ format: 'int32',
303
+ description: "The version the text was read at; null while the group had HomeSpot's text",
304
+ },
305
+ },
306
+ required: ['text'],
307
+ };
308
+ export const PostTemplateViewSchema = {
309
+ type: 'object',
310
+ properties: {
311
+ group: {
312
+ type: 'string',
313
+ enum: [
314
+ 'HOUSE_GROUP',
315
+ 'APARTMENT_GROUP',
316
+ 'HOSPITALITY_GROUP',
317
+ 'LAND_GROUP',
318
+ 'BUSINESS_GROUP',
319
+ 'STORAGE_GROUP',
320
+ ],
321
+ },
322
+ text: {
323
+ type: 'string',
324
+ description: 'Lines with {{key}} placeholders',
325
+ },
326
+ customized: {
327
+ type: 'boolean',
328
+ description: "False while the group has HomeSpot's text",
329
+ },
330
+ version: {
331
+ type: 'integer',
332
+ format: 'int32',
333
+ description: "Sent back when saving; null while the group has HomeSpot's text",
334
+ },
335
+ },
336
+ required: ['customized', 'group', 'text'],
337
+ };
293
338
  export const RolesRequestSchema = {
294
339
  type: 'object',
295
340
  properties: {
@@ -2016,24 +2061,25 @@ export const PublishSocialPostRequestSchema = {
2016
2061
  caption: {
2017
2062
  type: 'string',
2018
2063
  },
2064
+ media: {
2065
+ type: 'string',
2066
+ description: "PHOTOS (the default) or VIDEO: the property's video, which takes no photos and no ratio",
2067
+ enum: ['PHOTOS', 'VIDEO'],
2068
+ },
2019
2069
  ratio: {
2020
2070
  type: 'string',
2021
- description: 'Instagram only; defaults to LANDSCAPE',
2071
+ description: 'Instagram photo posts only; defaults to LANDSCAPE',
2022
2072
  enum: ['LANDSCAPE', 'SQUARE', 'PORTRAIT'],
2023
2073
  },
2024
2074
  photos: {
2025
2075
  type: 'array',
2026
- description: 'In post order',
2076
+ description: 'In post order; none for a video post',
2027
2077
  items: {
2028
2078
  $ref: '#/components/schemas/Photo',
2029
2079
  },
2030
2080
  },
2031
- templateId: {
2032
- type: 'string',
2033
- format: 'uuid',
2034
- },
2035
2081
  },
2036
- required: ['caption', 'channel', 'photos'],
2082
+ required: ['caption', 'channel'],
2037
2083
  };
2038
2084
  export const FocusViewSchema = {
2039
2085
  type: 'object',
@@ -2081,24 +2127,25 @@ export const SocialPostViewSchema = {
2081
2127
  type: 'string',
2082
2128
  enum: ['PUBLISHING', 'PUBLISHED', 'FAILED', 'REMOVED'],
2083
2129
  },
2130
+ media: {
2131
+ type: 'string',
2132
+ enum: ['PHOTOS', 'VIDEO'],
2133
+ },
2084
2134
  caption: {
2085
2135
  type: 'string',
2086
2136
  },
2087
2137
  ratio: {
2088
2138
  type: 'string',
2089
- description: 'Instagram only',
2139
+ description: 'Instagram photo posts only',
2090
2140
  enum: ['LANDSCAPE', 'SQUARE', 'PORTRAIT'],
2091
2141
  },
2092
2142
  photos: {
2093
2143
  type: 'array',
2144
+ description: 'Empty for a video post',
2094
2145
  items: {
2095
2146
  $ref: '#/components/schemas/PhotoView',
2096
2147
  },
2097
2148
  },
2098
- templateId: {
2099
- type: 'string',
2100
- format: 'uuid',
2101
- },
2102
2149
  failureReason: {
2103
2150
  type: 'string',
2104
2151
  enum: [
@@ -2137,6 +2184,7 @@ export const SocialPostViewSchema = {
2137
2184
  'createdAt',
2138
2185
  'createdBy',
2139
2186
  'id',
2187
+ 'media',
2140
2188
  'photos',
2141
2189
  'status',
2142
2190
  ],
@@ -4411,6 +4459,81 @@ export const ContactAcquisitionResponseSchema = {
4411
4459
  },
4412
4460
  required: ['buckets', 'from', 'granularity', 'series', 'to', 'total'],
4413
4461
  };
4462
+ export const PostTemplatesSchema = {
4463
+ type: 'object',
4464
+ properties: {
4465
+ templates: {
4466
+ type: 'array',
4467
+ description: 'One per property group',
4468
+ items: {
4469
+ $ref: '#/components/schemas/PostTemplateView',
4470
+ },
4471
+ },
4472
+ facts: {
4473
+ type: 'array',
4474
+ description: 'What a text can hold as {{key}}, with the groups each fact applies to',
4475
+ items: {
4476
+ $ref: '#/components/schemas/TemplateFact',
4477
+ },
4478
+ },
4479
+ limits: {
4480
+ $ref: '#/components/schemas/TemplateLimits',
4481
+ },
4482
+ },
4483
+ required: ['facts', 'limits', 'templates'],
4484
+ };
4485
+ export const TemplateFactSchema = {
4486
+ type: 'object',
4487
+ properties: {
4488
+ key: {
4489
+ type: 'string',
4490
+ description: 'Written in a text as {{key}}',
4491
+ },
4492
+ label: {
4493
+ type: 'string',
4494
+ description: 'In Georgian',
4495
+ },
4496
+ example: {
4497
+ type: 'string',
4498
+ description: 'A value as a listing fills it in, in Georgian',
4499
+ },
4500
+ groups: {
4501
+ type: 'array',
4502
+ items: {
4503
+ type: 'string',
4504
+ enum: [
4505
+ 'HOUSE_GROUP',
4506
+ 'APARTMENT_GROUP',
4507
+ 'HOSPITALITY_GROUP',
4508
+ 'LAND_GROUP',
4509
+ 'BUSINESS_GROUP',
4510
+ 'STORAGE_GROUP',
4511
+ ],
4512
+ },
4513
+ },
4514
+ },
4515
+ required: ['example', 'groups', 'key', 'label'],
4516
+ };
4517
+ export const TemplateLimitsSchema = {
4518
+ type: 'object',
4519
+ properties: {
4520
+ maxLength: {
4521
+ type: 'integer',
4522
+ format: 'int32',
4523
+ description: 'In code points, as the composer counts',
4524
+ },
4525
+ maxHashtags: {
4526
+ type: 'integer',
4527
+ format: 'int32',
4528
+ },
4529
+ maxTags: {
4530
+ type: 'integer',
4531
+ format: 'int32',
4532
+ description: '@ tags',
4533
+ },
4534
+ },
4535
+ required: ['maxHashtags', 'maxLength', 'maxTags'],
4536
+ };
4414
4537
  export const PageMetadataSchema = {
4415
4538
  type: 'object',
4416
4539
  properties: {
@@ -5783,6 +5906,10 @@ export const PropertyPageResponseSchema = {
5783
5906
  details: {
5784
5907
  $ref: '#/components/schemas/PropertyDetailsResponse',
5785
5908
  },
5909
+ video: {
5910
+ $ref: '#/components/schemas/PropertyVideoResponse',
5911
+ description: "The property's video; null when it has none",
5912
+ },
5786
5913
  agreement: {
5787
5914
  $ref: '#/components/schemas/AgreementResponse',
5788
5915
  },
@@ -5816,6 +5943,34 @@ export const PropertyPageResponseSchema = {
5816
5943
  'updatedAt',
5817
5944
  ],
5818
5945
  };
5946
+ export const PropertyVideoResponseSchema = {
5947
+ type: 'object',
5948
+ properties: {
5949
+ url: {
5950
+ type: 'string',
5951
+ description: 'An MP4 with its index first: a player can start before it has the file',
5952
+ },
5953
+ posterUrl: {
5954
+ type: 'string',
5955
+ description: 'A JPEG frame from the video, to show before it plays',
5956
+ },
5957
+ durationMs: {
5958
+ type: 'integer',
5959
+ format: 'int32',
5960
+ },
5961
+ width: {
5962
+ type: 'integer',
5963
+ format: 'int32',
5964
+ description: "As the video is shown, after the phone's rotation",
5965
+ },
5966
+ height: {
5967
+ type: 'integer',
5968
+ format: 'int32',
5969
+ description: "As the video is shown, after the phone's rotation",
5970
+ },
5971
+ },
5972
+ required: ['durationMs', 'height', 'posterUrl', 'url', 'width'],
5973
+ };
5819
5974
  export const SocialPostResponseSchema = {
5820
5975
  type: 'object',
5821
5976
  properties: {
@@ -5832,13 +5987,17 @@ export const SocialPostResponseSchema = {
5832
5987
  type: 'string',
5833
5988
  enum: ['PUBLISHING', 'PUBLISHED', 'FAILED', 'REMOVED'],
5834
5989
  },
5990
+ media: {
5991
+ type: 'string',
5992
+ enum: ['PHOTOS', 'VIDEO'],
5993
+ },
5835
5994
  caption: {
5836
5995
  type: 'string',
5837
5996
  description: 'Exactly as published',
5838
5997
  },
5839
5998
  thumbnailUrl: {
5840
5999
  type: 'string',
5841
- description: "The post's first photo, as uploaded to the gallery (not the Instagram crop)",
6000
+ description: "The post's first photo, as uploaded to the gallery (not the Instagram crop), or the poster of its video",
5842
6001
  },
5843
6002
  permalink: {
5844
6003
  type: 'string',
@@ -5878,6 +6037,7 @@ export const SocialPostResponseSchema = {
5878
6037
  'caption',
5879
6038
  'channel',
5880
6039
  'createdBy',
6040
+ 'media',
5881
6041
  'postId',
5882
6042
  'status',
5883
6043
  'unansweredComments',
@@ -7647,6 +7807,16 @@ export const ComposerLimitsSchema = {
7647
7807
  format: 'int32',
7648
7808
  description: 'In Unicode code points: an emoji counts once, as [...text].length counts in JavaScript (text.length counts it twice)',
7649
7809
  },
7810
+ maxHashtags: {
7811
+ type: 'integer',
7812
+ format: 'int32',
7813
+ description: 'Null where the channel caps none (Facebook)',
7814
+ },
7815
+ maxTags: {
7816
+ type: 'integer',
7817
+ format: 'int32',
7818
+ description: '@ tags; null where the channel caps none (Facebook)',
7819
+ },
7650
7820
  },
7651
7821
  required: ['maxCaptionLength', 'maxPhotos'],
7652
7822
  };
@@ -7686,12 +7856,26 @@ export const ComposerPreviewSchema = {
7686
7856
  },
7687
7857
  caption: {
7688
7858
  type: 'string',
7689
- description: 'The built-in Georgian template filled in from the listing; a line with nothing to fill it is left out',
7859
+ description: "The agency's text for the property's group (HomeSpot's until it writes one), filled in from the listing; a line with a fact the listing lacks is left out",
7690
7860
  },
7691
- templateId: {
7861
+ group: {
7692
7862
  type: 'string',
7693
- format: 'uuid',
7694
- description: 'The template the text came from, sent back on publish; null for the built-in one',
7863
+ description: 'The property group whose template the caption came from: the one an Edit template opens',
7864
+ enum: [
7865
+ 'HOUSE_GROUP',
7866
+ 'APARTMENT_GROUP',
7867
+ 'HOSPITALITY_GROUP',
7868
+ 'LAND_GROUP',
7869
+ 'BUSINESS_GROUP',
7870
+ 'STORAGE_GROUP',
7871
+ ],
7872
+ },
7873
+ leftOut: {
7874
+ type: 'array',
7875
+ description: "The facts whose lines were left out because the listing doesn't have them; the agent can fill them in on the property",
7876
+ items: {
7877
+ $ref: '#/components/schemas/LeftOutFact',
7878
+ },
7695
7879
  },
7696
7880
  limits: {
7697
7881
  $ref: '#/components/schemas/ComposerLimits',
@@ -7716,13 +7900,78 @@ export const ComposerPreviewSchema = {
7716
7900
  $ref: '#/components/schemas/ComposerPhoto',
7717
7901
  },
7718
7902
  },
7903
+ video: {
7904
+ $ref: '#/components/schemas/ComposerVideo',
7905
+ description: "The property's video, which a post may show instead of photos; null when it has none",
7906
+ },
7719
7907
  access: {
7720
7908
  type: 'string',
7721
7909
  description: 'Whether the agency can post to the channel now; publishing refuses anything but ALLOWED',
7722
7910
  enum: ['ALLOWED', 'NOT_CONNECTED', 'RECONNECT_REQUIRED'],
7723
7911
  },
7724
7912
  },
7725
- required: ['access', 'caption', 'channel', 'limits', 'photos', 'ratios'],
7913
+ required: [
7914
+ 'access',
7915
+ 'caption',
7916
+ 'channel',
7917
+ 'group',
7918
+ 'leftOut',
7919
+ 'limits',
7920
+ 'photos',
7921
+ 'ratios',
7922
+ ],
7923
+ };
7924
+ export const ComposerVideoSchema = {
7925
+ type: 'object',
7926
+ properties: {
7927
+ url: {
7928
+ type: 'string',
7929
+ },
7930
+ posterUrl: {
7931
+ type: 'string',
7932
+ description: "A frame of the video: Instagram's cover for the Reel",
7933
+ },
7934
+ durationMs: {
7935
+ type: 'integer',
7936
+ format: 'int32',
7937
+ },
7938
+ width: {
7939
+ type: 'integer',
7940
+ format: 'int32',
7941
+ description: 'As the video is shown, in pixels',
7942
+ },
7943
+ height: {
7944
+ type: 'integer',
7945
+ format: 'int32',
7946
+ description: 'As the video is shown, in pixels',
7947
+ },
7948
+ transcoding: {
7949
+ type: 'boolean',
7950
+ description: 'A copy that Instagram takes is being made to replace a 4K, slow-motion or very high-bitrate video, for a few minutes after the upload. Until it is done the video cannot be posted (409 video-processing); ask for the preview again to see when it is',
7951
+ },
7952
+ },
7953
+ required: [
7954
+ 'durationMs',
7955
+ 'height',
7956
+ 'posterUrl',
7957
+ 'transcoding',
7958
+ 'url',
7959
+ 'width',
7960
+ ],
7961
+ };
7962
+ export const LeftOutFactSchema = {
7963
+ type: 'object',
7964
+ properties: {
7965
+ key: {
7966
+ type: 'string',
7967
+ description: 'As the template writes it, e.g. property.bedrooms',
7968
+ },
7969
+ label: {
7970
+ type: 'string',
7971
+ description: 'In Georgian',
7972
+ },
7973
+ },
7974
+ required: ['key', 'label'],
7726
7975
  };
7727
7976
  export const CursorPageSocialCommentThreadResponseSchema = {
7728
7977
  type: 'object',