@oxyhq/contracts 0.21.0 → 0.22.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.
@@ -142,9 +142,23 @@ export declare const userResponseSchema: z.ZodObject<{
142
142
  * entry; present only when the account has verified at least one domain.
143
143
  */
144
144
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
145
+ /**
146
+ * Account-graph classification — what KIND of account this is.
147
+ *
148
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
149
+ * which says where the account lives and how it is driven; the two
150
+ * coexist and neither substitutes for the other. A `channel` is a
151
+ * publishing identity nobody can act as, so a consumer that renders
152
+ * authored content reads THIS to tell a channel's post from a person's.
153
+ *
154
+ * Optional because a DTO produced from a source that never carried the
155
+ * column omits it; absent should be read as `personal`, the column's
156
+ * default, not as unknown.
157
+ */
158
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
145
159
  /**
146
160
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
147
- * Absent on personal, project, and bot accounts.
161
+ * Absent on personal, project, bot, and channel accounts.
148
162
  */
149
163
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
150
164
  /**
@@ -195,9 +209,23 @@ export declare const userResponseSchema: z.ZodObject<{
195
209
  * entry; present only when the account has verified at least one domain.
196
210
  */
197
211
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
212
+ /**
213
+ * Account-graph classification — what KIND of account this is.
214
+ *
215
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
216
+ * which says where the account lives and how it is driven; the two
217
+ * coexist and neither substitutes for the other. A `channel` is a
218
+ * publishing identity nobody can act as, so a consumer that renders
219
+ * authored content reads THIS to tell a channel's post from a person's.
220
+ *
221
+ * Optional because a DTO produced from a source that never carried the
222
+ * column omits it; absent should be read as `personal`, the column's
223
+ * default, not as unknown.
224
+ */
225
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
198
226
  /**
199
227
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
200
- * Absent on personal, project, and bot accounts.
228
+ * Absent on personal, project, bot, and channel accounts.
201
229
  */
202
230
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
203
231
  /**
@@ -248,9 +276,23 @@ export declare const userResponseSchema: z.ZodObject<{
248
276
  * entry; present only when the account has verified at least one domain.
249
277
  */
250
278
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
279
+ /**
280
+ * Account-graph classification — what KIND of account this is.
281
+ *
282
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
283
+ * which says where the account lives and how it is driven; the two
284
+ * coexist and neither substitutes for the other. A `channel` is a
285
+ * publishing identity nobody can act as, so a consumer that renders
286
+ * authored content reads THIS to tell a channel's post from a person's.
287
+ *
288
+ * Optional because a DTO produced from a source that never carried the
289
+ * column omits it; absent should be read as `personal`, the column's
290
+ * default, not as unknown.
291
+ */
292
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
251
293
  /**
252
294
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
253
- * Absent on personal, project, and bot accounts.
295
+ * Absent on personal, project, bot, and channel accounts.
254
296
  */
255
297
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
256
298
  /**
@@ -272,12 +314,20 @@ export declare const userProfileUpdateSchema: z.ZodObject<{
272
314
  name: z.ZodOptional<z.ZodObject<{
273
315
  first: z.ZodOptional<z.ZodString>;
274
316
  last: z.ZodOptional<z.ZodString>;
317
+ /**
318
+ * Explicit display name, stored rather than composed. Wins over
319
+ * `first`/`last` when set; send `''` to clear it and fall back
320
+ * to the composed pair.
321
+ */
322
+ displayName: z.ZodOptional<z.ZodString>;
275
323
  }, "strip", z.ZodTypeAny, {
276
324
  first?: string | undefined;
277
325
  last?: string | undefined;
326
+ displayName?: string | undefined;
278
327
  }, {
279
328
  first?: string | undefined;
280
329
  last?: string | undefined;
330
+ displayName?: string | undefined;
281
331
  }>>;
282
332
  username: z.ZodOptional<z.ZodString>;
283
333
  email: z.ZodOptional<z.ZodString>;
@@ -328,12 +378,20 @@ export declare const userProfileUpdateSchema: z.ZodObject<{
328
378
  name: z.ZodOptional<z.ZodObject<{
329
379
  first: z.ZodOptional<z.ZodString>;
330
380
  last: z.ZodOptional<z.ZodString>;
381
+ /**
382
+ * Explicit display name, stored rather than composed. Wins over
383
+ * `first`/`last` when set; send `''` to clear it and fall back
384
+ * to the composed pair.
385
+ */
386
+ displayName: z.ZodOptional<z.ZodString>;
331
387
  }, "strip", z.ZodTypeAny, {
332
388
  first?: string | undefined;
333
389
  last?: string | undefined;
390
+ displayName?: string | undefined;
334
391
  }, {
335
392
  first?: string | undefined;
336
393
  last?: string | undefined;
394
+ displayName?: string | undefined;
337
395
  }>>;
338
396
  username: z.ZodOptional<z.ZodString>;
339
397
  email: z.ZodOptional<z.ZodString>;
@@ -384,12 +442,20 @@ export declare const userProfileUpdateSchema: z.ZodObject<{
384
442
  name: z.ZodOptional<z.ZodObject<{
385
443
  first: z.ZodOptional<z.ZodString>;
386
444
  last: z.ZodOptional<z.ZodString>;
445
+ /**
446
+ * Explicit display name, stored rather than composed. Wins over
447
+ * `first`/`last` when set; send `''` to clear it and fall back
448
+ * to the composed pair.
449
+ */
450
+ displayName: z.ZodOptional<z.ZodString>;
387
451
  }, "strip", z.ZodTypeAny, {
388
452
  first?: string | undefined;
389
453
  last?: string | undefined;
454
+ displayName?: string | undefined;
390
455
  }, {
391
456
  first?: string | undefined;
392
457
  last?: string | undefined;
458
+ displayName?: string | undefined;
393
459
  }>>;
394
460
  username: z.ZodOptional<z.ZodString>;
395
461
  email: z.ZodOptional<z.ZodString>;
@@ -485,9 +551,23 @@ export declare const currentUserResponseSchema: z.ZodObject<{
485
551
  * entry; present only when the account has verified at least one domain.
486
552
  */
487
553
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
554
+ /**
555
+ * Account-graph classification — what KIND of account this is.
556
+ *
557
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
558
+ * which says where the account lives and how it is driven; the two
559
+ * coexist and neither substitutes for the other. A `channel` is a
560
+ * publishing identity nobody can act as, so a consumer that renders
561
+ * authored content reads THIS to tell a channel's post from a person's.
562
+ *
563
+ * Optional because a DTO produced from a source that never carried the
564
+ * column omits it; absent should be read as `personal`, the column's
565
+ * default, not as unknown.
566
+ */
567
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
488
568
  /**
489
569
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
490
- * Absent on personal, project, and bot accounts.
570
+ * Absent on personal, project, bot, and channel accounts.
491
571
  */
492
572
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
493
573
  /**
@@ -538,9 +618,23 @@ export declare const currentUserResponseSchema: z.ZodObject<{
538
618
  * entry; present only when the account has verified at least one domain.
539
619
  */
540
620
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
621
+ /**
622
+ * Account-graph classification — what KIND of account this is.
623
+ *
624
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
625
+ * which says where the account lives and how it is driven; the two
626
+ * coexist and neither substitutes for the other. A `channel` is a
627
+ * publishing identity nobody can act as, so a consumer that renders
628
+ * authored content reads THIS to tell a channel's post from a person's.
629
+ *
630
+ * Optional because a DTO produced from a source that never carried the
631
+ * column omits it; absent should be read as `personal`, the column's
632
+ * default, not as unknown.
633
+ */
634
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
541
635
  /**
542
636
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
543
- * Absent on personal, project, and bot accounts.
637
+ * Absent on personal, project, bot, and channel accounts.
544
638
  */
545
639
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
546
640
  /**
@@ -591,9 +685,23 @@ export declare const currentUserResponseSchema: z.ZodObject<{
591
685
  * entry; present only when the account has verified at least one domain.
592
686
  */
593
687
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
688
+ /**
689
+ * Account-graph classification — what KIND of account this is.
690
+ *
691
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
692
+ * which says where the account lives and how it is driven; the two
693
+ * coexist and neither substitutes for the other. A `channel` is a
694
+ * publishing identity nobody can act as, so a consumer that renders
695
+ * authored content reads THIS to tell a channel's post from a person's.
696
+ *
697
+ * Optional because a DTO produced from a source that never carried the
698
+ * column omits it; absent should be read as `personal`, the column's
699
+ * default, not as unknown.
700
+ */
701
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
594
702
  /**
595
703
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
596
- * Absent on personal, project, and bot accounts.
704
+ * Absent on personal, project, bot, and channel accounts.
597
705
  */
598
706
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
599
707
  /**
@@ -613,21 +721,22 @@ export declare const currentUserResponseSchema: z.ZodObject<{
613
721
  }, "strip", z.ZodTypeAny, {
614
722
  data: {
615
723
  name: UserNameResponse;
724
+ kind?: "personal" | "organization" | "project" | "bot" | "channel" | undefined;
616
725
  username?: string | undefined;
617
726
  avatar?: string | null | undefined;
618
727
  organizationCategory?: "agency" | "cooperative" | "landlord" | "other" | undefined;
619
728
  id?: string | undefined;
729
+ _id?: string | undefined;
620
730
  publicKey?: string | undefined;
621
- did?: string | undefined;
622
- verifiedDomains?: import("./identity").VerifiedDomain[] | undefined;
623
- verified?: boolean | undefined;
624
731
  email?: string | undefined;
625
- _id?: string | undefined;
626
732
  phone?: string | undefined;
627
733
  address?: string | undefined;
628
734
  birthday?: string | undefined;
629
735
  color?: string | null | undefined;
736
+ verified?: boolean | undefined;
630
737
  languages?: string[] | undefined;
738
+ did?: string | undefined;
739
+ verifiedDomains?: import("./identity").VerifiedDomain[] | undefined;
631
740
  relationship?: UserRelationship | undefined;
632
741
  themePreference?: ThemePreference | undefined;
633
742
  } & {
@@ -636,21 +745,22 @@ export declare const currentUserResponseSchema: z.ZodObject<{
636
745
  }, {
637
746
  data: {
638
747
  name: UserNameResponse;
748
+ kind?: "personal" | "organization" | "project" | "bot" | "channel" | undefined;
639
749
  username?: string | undefined;
640
750
  avatar?: string | null | undefined;
641
751
  organizationCategory?: "agency" | "cooperative" | "landlord" | "other" | undefined;
642
752
  id?: string | undefined;
753
+ _id?: string | undefined;
643
754
  publicKey?: string | undefined;
644
- did?: string | undefined;
645
- verifiedDomains?: import("./identity").VerifiedDomain[] | undefined;
646
- verified?: boolean | undefined;
647
755
  email?: string | undefined;
648
- _id?: string | undefined;
649
756
  phone?: string | undefined;
650
757
  address?: string | undefined;
651
758
  birthday?: string | undefined;
652
759
  color?: string | null | undefined;
760
+ verified?: boolean | undefined;
653
761
  languages?: string[] | undefined;
762
+ did?: string | undefined;
763
+ verifiedDomains?: import("./identity").VerifiedDomain[] | undefined;
654
764
  relationship?: UserRelationship | undefined;
655
765
  themePreference?: ThemePreference | undefined;
656
766
  } & {
@@ -702,9 +812,23 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
702
812
  * entry; present only when the account has verified at least one domain.
703
813
  */
704
814
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
815
+ /**
816
+ * Account-graph classification — what KIND of account this is.
817
+ *
818
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
819
+ * which says where the account lives and how it is driven; the two
820
+ * coexist and neither substitutes for the other. A `channel` is a
821
+ * publishing identity nobody can act as, so a consumer that renders
822
+ * authored content reads THIS to tell a channel's post from a person's.
823
+ *
824
+ * Optional because a DTO produced from a source that never carried the
825
+ * column omits it; absent should be read as `personal`, the column's
826
+ * default, not as unknown.
827
+ */
828
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
705
829
  /**
706
830
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
707
- * Absent on personal, project, and bot accounts.
831
+ * Absent on personal, project, bot, and channel accounts.
708
832
  */
709
833
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
710
834
  /**
@@ -755,9 +879,23 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
755
879
  * entry; present only when the account has verified at least one domain.
756
880
  */
757
881
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
882
+ /**
883
+ * Account-graph classification — what KIND of account this is.
884
+ *
885
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
886
+ * which says where the account lives and how it is driven; the two
887
+ * coexist and neither substitutes for the other. A `channel` is a
888
+ * publishing identity nobody can act as, so a consumer that renders
889
+ * authored content reads THIS to tell a channel's post from a person's.
890
+ *
891
+ * Optional because a DTO produced from a source that never carried the
892
+ * column omits it; absent should be read as `personal`, the column's
893
+ * default, not as unknown.
894
+ */
895
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
758
896
  /**
759
897
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
760
- * Absent on personal, project, and bot accounts.
898
+ * Absent on personal, project, bot, and channel accounts.
761
899
  */
762
900
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
763
901
  /**
@@ -808,9 +946,23 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
808
946
  * entry; present only when the account has verified at least one domain.
809
947
  */
810
948
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
949
+ /**
950
+ * Account-graph classification — what KIND of account this is.
951
+ *
952
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
953
+ * which says where the account lives and how it is driven; the two
954
+ * coexist and neither substitutes for the other. A `channel` is a
955
+ * publishing identity nobody can act as, so a consumer that renders
956
+ * authored content reads THIS to tell a channel's post from a person's.
957
+ *
958
+ * Optional because a DTO produced from a source that never carried the
959
+ * column omits it; absent should be read as `personal`, the column's
960
+ * default, not as unknown.
961
+ */
962
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
811
963
  /**
812
964
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
813
- * Absent on personal, project, and bot accounts.
965
+ * Absent on personal, project, bot, and channel accounts.
814
966
  */
815
967
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
816
968
  /**
@@ -829,6 +981,7 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
829
981
  }, z.ZodTypeAny, "passthrough">>>>;
830
982
  }, "strip", z.ZodTypeAny, {
831
983
  sessionId: string;
984
+ isCurrent?: boolean | undefined;
832
985
  user?: z.objectOutputType<{
833
986
  /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
834
987
  id: z.ZodOptional<z.ZodString>;
@@ -864,9 +1017,23 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
864
1017
  * entry; present only when the account has verified at least one domain.
865
1018
  */
866
1019
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
1020
+ /**
1021
+ * Account-graph classification — what KIND of account this is.
1022
+ *
1023
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
1024
+ * which says where the account lives and how it is driven; the two
1025
+ * coexist and neither substitutes for the other. A `channel` is a
1026
+ * publishing identity nobody can act as, so a consumer that renders
1027
+ * authored content reads THIS to tell a channel's post from a person's.
1028
+ *
1029
+ * Optional because a DTO produced from a source that never carried the
1030
+ * column omits it; absent should be read as `personal`, the column's
1031
+ * default, not as unknown.
1032
+ */
1033
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
867
1034
  /**
868
1035
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
869
- * Absent on personal, project, and bot accounts.
1036
+ * Absent on personal, project, bot, and channel accounts.
870
1037
  */
871
1038
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
872
1039
  /**
@@ -883,9 +1050,9 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
883
1050
  */
884
1051
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
885
1052
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
886
- isCurrent?: boolean | undefined;
887
1053
  }, {
888
1054
  sessionId: string;
1055
+ isCurrent?: boolean | undefined;
889
1056
  user?: z.objectInputType<{
890
1057
  /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
891
1058
  id: z.ZodOptional<z.ZodString>;
@@ -921,9 +1088,23 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
921
1088
  * entry; present only when the account has verified at least one domain.
922
1089
  */
923
1090
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
1091
+ /**
1092
+ * Account-graph classification — what KIND of account this is.
1093
+ *
1094
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
1095
+ * which says where the account lives and how it is driven; the two
1096
+ * coexist and neither substitutes for the other. A `channel` is a
1097
+ * publishing identity nobody can act as, so a consumer that renders
1098
+ * authored content reads THIS to tell a channel's post from a person's.
1099
+ *
1100
+ * Optional because a DTO produced from a source that never carried the
1101
+ * column omits it; absent should be read as `personal`, the column's
1102
+ * default, not as unknown.
1103
+ */
1104
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
924
1105
  /**
925
1106
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
926
- * Absent on personal, project, and bot accounts.
1107
+ * Absent on personal, project, bot, and channel accounts.
927
1108
  */
928
1109
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
929
1110
  /**
@@ -940,7 +1121,6 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
940
1121
  */
941
1122
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
942
1123
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
943
- isCurrent?: boolean | undefined;
944
1124
  }>;
945
1125
  export type DeviceLinkedSessionResponse = z.infer<typeof deviceLinkedSessionSchema>;
946
1126
  /** Wire shape of `GET /session/device/sessions/:sessionId` (an array). */
@@ -982,9 +1162,23 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
982
1162
  * entry; present only when the account has verified at least one domain.
983
1163
  */
984
1164
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
1165
+ /**
1166
+ * Account-graph classification — what KIND of account this is.
1167
+ *
1168
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
1169
+ * which says where the account lives and how it is driven; the two
1170
+ * coexist and neither substitutes for the other. A `channel` is a
1171
+ * publishing identity nobody can act as, so a consumer that renders
1172
+ * authored content reads THIS to tell a channel's post from a person's.
1173
+ *
1174
+ * Optional because a DTO produced from a source that never carried the
1175
+ * column omits it; absent should be read as `personal`, the column's
1176
+ * default, not as unknown.
1177
+ */
1178
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
985
1179
  /**
986
1180
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
987
- * Absent on personal, project, and bot accounts.
1181
+ * Absent on personal, project, bot, and channel accounts.
988
1182
  */
989
1183
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
990
1184
  /**
@@ -1035,9 +1229,23 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1035
1229
  * entry; present only when the account has verified at least one domain.
1036
1230
  */
1037
1231
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
1232
+ /**
1233
+ * Account-graph classification — what KIND of account this is.
1234
+ *
1235
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
1236
+ * which says where the account lives and how it is driven; the two
1237
+ * coexist and neither substitutes for the other. A `channel` is a
1238
+ * publishing identity nobody can act as, so a consumer that renders
1239
+ * authored content reads THIS to tell a channel's post from a person's.
1240
+ *
1241
+ * Optional because a DTO produced from a source that never carried the
1242
+ * column omits it; absent should be read as `personal`, the column's
1243
+ * default, not as unknown.
1244
+ */
1245
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
1038
1246
  /**
1039
1247
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
1040
- * Absent on personal, project, and bot accounts.
1248
+ * Absent on personal, project, bot, and channel accounts.
1041
1249
  */
1042
1250
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
1043
1251
  /**
@@ -1088,9 +1296,23 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1088
1296
  * entry; present only when the account has verified at least one domain.
1089
1297
  */
1090
1298
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
1299
+ /**
1300
+ * Account-graph classification — what KIND of account this is.
1301
+ *
1302
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
1303
+ * which says where the account lives and how it is driven; the two
1304
+ * coexist and neither substitutes for the other. A `channel` is a
1305
+ * publishing identity nobody can act as, so a consumer that renders
1306
+ * authored content reads THIS to tell a channel's post from a person's.
1307
+ *
1308
+ * Optional because a DTO produced from a source that never carried the
1309
+ * column omits it; absent should be read as `personal`, the column's
1310
+ * default, not as unknown.
1311
+ */
1312
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
1091
1313
  /**
1092
1314
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
1093
- * Absent on personal, project, and bot accounts.
1315
+ * Absent on personal, project, bot, and channel accounts.
1094
1316
  */
1095
1317
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
1096
1318
  /**
@@ -1109,6 +1331,7 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1109
1331
  }, z.ZodTypeAny, "passthrough">>>>;
1110
1332
  }, "strip", z.ZodTypeAny, {
1111
1333
  sessionId: string;
1334
+ isCurrent?: boolean | undefined;
1112
1335
  user?: z.objectOutputType<{
1113
1336
  /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1114
1337
  id: z.ZodOptional<z.ZodString>;
@@ -1144,9 +1367,23 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1144
1367
  * entry; present only when the account has verified at least one domain.
1145
1368
  */
1146
1369
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
1370
+ /**
1371
+ * Account-graph classification — what KIND of account this is.
1372
+ *
1373
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
1374
+ * which says where the account lives and how it is driven; the two
1375
+ * coexist and neither substitutes for the other. A `channel` is a
1376
+ * publishing identity nobody can act as, so a consumer that renders
1377
+ * authored content reads THIS to tell a channel's post from a person's.
1378
+ *
1379
+ * Optional because a DTO produced from a source that never carried the
1380
+ * column omits it; absent should be read as `personal`, the column's
1381
+ * default, not as unknown.
1382
+ */
1383
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
1147
1384
  /**
1148
1385
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
1149
- * Absent on personal, project, and bot accounts.
1386
+ * Absent on personal, project, bot, and channel accounts.
1150
1387
  */
1151
1388
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
1152
1389
  /**
@@ -1163,9 +1400,9 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1163
1400
  */
1164
1401
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1165
1402
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
1166
- isCurrent?: boolean | undefined;
1167
1403
  }, {
1168
1404
  sessionId: string;
1405
+ isCurrent?: boolean | undefined;
1169
1406
  user?: z.objectInputType<{
1170
1407
  /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1171
1408
  id: z.ZodOptional<z.ZodString>;
@@ -1201,9 +1438,23 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1201
1438
  * entry; present only when the account has verified at least one domain.
1202
1439
  */
1203
1440
  verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
1441
+ /**
1442
+ * Account-graph classification — what KIND of account this is.
1443
+ *
1444
+ * ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
1445
+ * which says where the account lives and how it is driven; the two
1446
+ * coexist and neither substitutes for the other. A `channel` is a
1447
+ * publishing identity nobody can act as, so a consumer that renders
1448
+ * authored content reads THIS to tell a channel's post from a person's.
1449
+ *
1450
+ * Optional because a DTO produced from a source that never carried the
1451
+ * column omits it; absent should be read as `personal`, the column's
1452
+ * default, not as unknown.
1453
+ */
1454
+ kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
1204
1455
  /**
1205
1456
  * Real-estate / team taxonomy for `kind: 'organization'` accounts.
1206
- * Absent on personal, project, and bot accounts.
1457
+ * Absent on personal, project, bot, and channel accounts.
1207
1458
  */
1208
1459
  organizationCategory: z.ZodOptional<z.ZodEnum<["agency", "cooperative", "landlord", "other"]>>;
1209
1460
  /**
@@ -1220,7 +1471,6 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1220
1471
  */
1221
1472
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1222
1473
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
1223
- isCurrent?: boolean | undefined;
1224
1474
  }>, "many">;
1225
1475
  export type DeviceLinkedSessionsResponseContract = z.infer<typeof deviceLinkedSessionsResponseSchema>;
1226
1476
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/contracts",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "OxyHQ API contracts — single source of truth for request/response Zod schemas and inferred types, shared by the backend and the client SDKs",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",