@oxy.so/contracts 4.10.0 → 4.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 (100) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/accountGraph.js +5 -3
  3. package/dist/cjs/agency.js +178 -96
  4. package/dist/cjs/agentKeys.js +80 -26
  5. package/dist/cjs/capabilityBindings.js +2 -2
  6. package/dist/cjs/capabilityInvocation.js +3 -1
  7. package/dist/cjs/commonsSignIn.js +2 -2
  8. package/dist/cjs/deviceSession.js +5 -1
  9. package/dist/cjs/email/messages.js +70 -4
  10. package/dist/cjs/emailAgentContext.js +16 -8
  11. package/dist/cjs/externalIdentity.js +30 -12
  12. package/dist/cjs/identity.js +14 -6
  13. package/dist/cjs/identityLink.js +7 -2
  14. package/dist/cjs/identityProof.js +2 -1
  15. package/dist/cjs/index.js +23 -15
  16. package/dist/cjs/inference/catalogue.js +2 -12
  17. package/dist/cjs/inference/decisions.js +102 -83
  18. package/dist/cjs/inference/economics.js +15 -5
  19. package/dist/cjs/inference/embeddings.js +44 -6
  20. package/dist/cjs/inference/inbox.js +33 -2
  21. package/dist/cjs/inference/providerConnection.js +21 -6
  22. package/dist/cjs/inference/realtime.js +114 -107
  23. package/dist/cjs/inference/scopedExecution.js +12 -12
  24. package/dist/cjs/inference/usage.js +2 -9
  25. package/dist/cjs/notifications.js +25 -5
  26. package/dist/cjs/oauth.js +30 -14
  27. package/dist/cjs/oxyRecordTypes.js +2 -2
  28. package/dist/cjs/products/access.js +161 -41
  29. package/dist/cjs/products/billing.js +71 -17
  30. package/dist/cjs/products/checkout.js +35 -0
  31. package/dist/cjs/products/plans.js +38 -0
  32. package/dist/cjs/recommendations.js +4 -6
  33. package/dist/cjs/reputation.js +3 -6
  34. package/dist/cjs/sessionStatus.js +1 -6
  35. package/dist/cjs/signIn.js +17 -4
  36. package/dist/cjs/transparency.js +3 -1
  37. package/dist/cjs/updates.js +2 -4
  38. package/dist/cjs/userResponse.js +32 -9
  39. package/dist/cjs/username.js +3 -1
  40. package/dist/esm/.tsbuildinfo +1 -1
  41. package/dist/esm/accountGraph.js +5 -3
  42. package/dist/esm/agency.js +178 -96
  43. package/dist/esm/agentKeys.js +80 -26
  44. package/dist/esm/capabilityBindings.js +2 -2
  45. package/dist/esm/capabilityInvocation.js +3 -1
  46. package/dist/esm/commonsSignIn.js +2 -2
  47. package/dist/esm/deviceSession.js +5 -1
  48. package/dist/esm/email/messages.js +69 -3
  49. package/dist/esm/emailAgentContext.js +16 -8
  50. package/dist/esm/externalIdentity.js +30 -12
  51. package/dist/esm/identity.js +14 -6
  52. package/dist/esm/identityLink.js +7 -2
  53. package/dist/esm/identityProof.js +2 -1
  54. package/dist/esm/index.js +10 -8
  55. package/dist/esm/inference/aliaModelRelease.js +1 -1
  56. package/dist/esm/inference/catalogue.js +3 -13
  57. package/dist/esm/inference/decisions.js +108 -89
  58. package/dist/esm/inference/economics.js +16 -6
  59. package/dist/esm/inference/embeddings.js +44 -6
  60. package/dist/esm/inference/inbox.js +32 -1
  61. package/dist/esm/inference/providerConnection.js +21 -6
  62. package/dist/esm/inference/realtime.js +123 -116
  63. package/dist/esm/inference/scopedExecution.js +15 -15
  64. package/dist/esm/inference/usage.js +2 -9
  65. package/dist/esm/notifications.js +25 -5
  66. package/dist/esm/oauth.js +30 -14
  67. package/dist/esm/oxyRecordTypes.js +2 -2
  68. package/dist/esm/products/access.js +160 -40
  69. package/dist/esm/products/billing.js +71 -17
  70. package/dist/esm/products/checkout.js +32 -0
  71. package/dist/esm/products/plans.js +35 -0
  72. package/dist/esm/recommendations.js +4 -6
  73. package/dist/esm/reputation.js +3 -6
  74. package/dist/esm/sessionStatus.js +1 -6
  75. package/dist/esm/signIn.js +17 -4
  76. package/dist/esm/transparency.js +3 -1
  77. package/dist/esm/updates.js +2 -4
  78. package/dist/esm/userResponse.js +28 -5
  79. package/dist/esm/username.js +3 -1
  80. package/dist/types/.tsbuildinfo +1 -1
  81. package/dist/types/accountGraph.d.ts +1 -1
  82. package/dist/types/commonsSignIn.d.ts +2 -2
  83. package/dist/types/email/messages.d.ts +208 -2
  84. package/dist/types/externalIdentity.d.ts +90 -0
  85. package/dist/types/identity.d.ts +1 -1
  86. package/dist/types/index.d.ts +12 -10
  87. package/dist/types/inference/decisions.d.ts +1 -1
  88. package/dist/types/inference/inbox.d.ts +129 -5
  89. package/dist/types/inference/realtime.d.ts +1 -1
  90. package/dist/types/inference/scopedExecution.d.ts +1 -1
  91. package/dist/types/moderationReputation.d.ts +1 -1
  92. package/dist/types/oxyRecordTypes.d.ts +2 -2
  93. package/dist/types/products/access.d.ts +405 -0
  94. package/dist/types/products/billing.d.ts +3 -0
  95. package/dist/types/products/checkout.d.ts +60 -0
  96. package/dist/types/products/plans.d.ts +319 -0
  97. package/dist/types/reputation.d.ts +4 -4
  98. package/dist/types/updates.d.ts +1 -1
  99. package/dist/types/userResponse.d.ts +388 -23
  100. package/package.json +1 -2
@@ -1,3 +1,5 @@
1
+ /** Canonical profile/theme preset identities accepted by Oxy writes. */
2
+ export declare const USER_PROFILE_COLOR_PRESETS: readonly ["teal", "blue", "green", "amber", "red", "purple", "pink", "sky", "orange", "mint", "mono", "oxy"];
1
3
  /**
2
4
  * Canonical API user-response contracts.
3
5
  *
@@ -20,10 +22,10 @@
20
22
  * Emits `id` (NOT `_id`), forwards `username` verbatim (may be absent), and
21
23
  * emits `name` as the structured `{ first, last, full, displayName }`
22
24
  * subdocument.
23
- * - `packages/api/src/models/User.ts` — `NameSchema` (`first`/`last` default
24
- * `''`; `full` and `displayName` are Mongoose VIRTUALS. Formatted API
25
- * responses compose both fields, while raw-document responses may omit the
26
- * virtuals if the query did not materialise them.
25
+ * - `packages/api/src/db/schema/users.ts` — the stored name (`first`/`last`);
26
+ * `full` and `displayName` have no column of their own. Formatted API
27
+ * responses compose both fields, while raw-document responses may omit
28
+ * them.
27
29
  *
28
30
  * Platform-agnostic — zod only, no react/react-native/expo. ESM-safe (no
29
31
  * `require()`).
@@ -32,9 +34,8 @@ import { z } from 'zod';
32
34
  /**
33
35
  * Structured human name subdocument. Mirrors `User.name` (`NameSchema`).
34
36
  *
35
- * - `first` / `last` default to `''` in Mongo, so they are optional on the wire.
36
- * - `full` is a Mongoose virtual — absent unless the query materialised
37
- * virtuals or the serializer composed it.
37
+ * - `first` / `last` may be absent, so they are optional on the wire.
38
+ * - `full` is derived — absent unless the serializer composed it.
38
39
  * - `displayName` is the canonical app-facing display string when present.
39
40
  * It is OPTIONAL on the wire: the API still synthesizes a default today, but
40
41
  * the contract no longer guarantees it, so consumers fall back to a handle
@@ -131,7 +132,7 @@ export declare const dateOfBirthSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z
131
132
  * identity/display fields are the ones we pin precisely.
132
133
  */
133
134
  export declare const userResponseSchema: z.ZodObject<{
134
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
135
+ /** The user id as a string. Present on `formatUserResponse` output. */
135
136
  id: z.ZodOptional<z.ZodString>;
136
137
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
137
138
  _id: z.ZodOptional<z.ZodString>;
@@ -231,8 +232,30 @@ export declare const userResponseSchema: z.ZodObject<{
231
232
  * `GET /session/user/:sessionId`) and absent until the user sets it.
232
233
  */
233
234
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
235
+ personalization: z.ZodOptional<z.ZodObject<{
236
+ mentionMono: z.ZodObject<{
237
+ allowed: z.ZodBoolean;
238
+ expiresAt: z.ZodNullable<z.ZodString>;
239
+ }, "strict", z.ZodTypeAny, {
240
+ expiresAt: string | null;
241
+ allowed: boolean;
242
+ }, {
243
+ expiresAt: string | null;
244
+ allowed: boolean;
245
+ }>;
246
+ }, "strict", z.ZodTypeAny, {
247
+ mentionMono: {
248
+ expiresAt: string | null;
249
+ allowed: boolean;
250
+ };
251
+ }, {
252
+ mentionMono: {
253
+ expiresAt: string | null;
254
+ allowed: boolean;
255
+ };
256
+ }>>;
234
257
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
235
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
258
+ /** The user id as a string. Present on `formatUserResponse` output. */
236
259
  id: z.ZodOptional<z.ZodString>;
237
260
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
238
261
  _id: z.ZodOptional<z.ZodString>;
@@ -332,8 +355,30 @@ export declare const userResponseSchema: z.ZodObject<{
332
355
  * `GET /session/user/:sessionId`) and absent until the user sets it.
333
356
  */
334
357
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
358
+ personalization: z.ZodOptional<z.ZodObject<{
359
+ mentionMono: z.ZodObject<{
360
+ allowed: z.ZodBoolean;
361
+ expiresAt: z.ZodNullable<z.ZodString>;
362
+ }, "strict", z.ZodTypeAny, {
363
+ expiresAt: string | null;
364
+ allowed: boolean;
365
+ }, {
366
+ expiresAt: string | null;
367
+ allowed: boolean;
368
+ }>;
369
+ }, "strict", z.ZodTypeAny, {
370
+ mentionMono: {
371
+ expiresAt: string | null;
372
+ allowed: boolean;
373
+ };
374
+ }, {
375
+ mentionMono: {
376
+ expiresAt: string | null;
377
+ allowed: boolean;
378
+ };
379
+ }>>;
335
380
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
336
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
381
+ /** The user id as a string. Present on `formatUserResponse` output. */
337
382
  id: z.ZodOptional<z.ZodString>;
338
383
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
339
384
  _id: z.ZodOptional<z.ZodString>;
@@ -433,6 +478,28 @@ export declare const userResponseSchema: z.ZodObject<{
433
478
  * `GET /session/user/:sessionId`) and absent until the user sets it.
434
479
  */
435
480
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
481
+ personalization: z.ZodOptional<z.ZodObject<{
482
+ mentionMono: z.ZodObject<{
483
+ allowed: z.ZodBoolean;
484
+ expiresAt: z.ZodNullable<z.ZodString>;
485
+ }, "strict", z.ZodTypeAny, {
486
+ expiresAt: string | null;
487
+ allowed: boolean;
488
+ }, {
489
+ expiresAt: string | null;
490
+ allowed: boolean;
491
+ }>;
492
+ }, "strict", z.ZodTypeAny, {
493
+ mentionMono: {
494
+ expiresAt: string | null;
495
+ allowed: boolean;
496
+ };
497
+ }, {
498
+ mentionMono: {
499
+ expiresAt: string | null;
500
+ allowed: boolean;
501
+ };
502
+ }>>;
436
503
  }, z.ZodTypeAny, "passthrough">>;
437
504
  export type UserResponse = z.infer<typeof userResponseSchema>;
438
505
  export declare const userProfileUpdateSchema: z.ZodObject<{
@@ -663,7 +730,7 @@ export declare function resolveUserId(user: UserResponse): string | undefined;
663
730
  */
664
731
  export declare const currentUserResponseSchema: z.ZodObject<{
665
732
  data: z.ZodObject<{
666
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
733
+ /** The user id as a string. Present on `formatUserResponse` output. */
667
734
  id: z.ZodOptional<z.ZodString>;
668
735
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
669
736
  _id: z.ZodOptional<z.ZodString>;
@@ -763,8 +830,30 @@ export declare const currentUserResponseSchema: z.ZodObject<{
763
830
  * `GET /session/user/:sessionId`) and absent until the user sets it.
764
831
  */
765
832
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
833
+ personalization: z.ZodOptional<z.ZodObject<{
834
+ mentionMono: z.ZodObject<{
835
+ allowed: z.ZodBoolean;
836
+ expiresAt: z.ZodNullable<z.ZodString>;
837
+ }, "strict", z.ZodTypeAny, {
838
+ expiresAt: string | null;
839
+ allowed: boolean;
840
+ }, {
841
+ expiresAt: string | null;
842
+ allowed: boolean;
843
+ }>;
844
+ }, "strict", z.ZodTypeAny, {
845
+ mentionMono: {
846
+ expiresAt: string | null;
847
+ allowed: boolean;
848
+ };
849
+ }, {
850
+ mentionMono: {
851
+ expiresAt: string | null;
852
+ allowed: boolean;
853
+ };
854
+ }>>;
766
855
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
767
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
856
+ /** The user id as a string. Present on `formatUserResponse` output. */
768
857
  id: z.ZodOptional<z.ZodString>;
769
858
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
770
859
  _id: z.ZodOptional<z.ZodString>;
@@ -864,8 +953,30 @@ export declare const currentUserResponseSchema: z.ZodObject<{
864
953
  * `GET /session/user/:sessionId`) and absent until the user sets it.
865
954
  */
866
955
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
956
+ personalization: z.ZodOptional<z.ZodObject<{
957
+ mentionMono: z.ZodObject<{
958
+ allowed: z.ZodBoolean;
959
+ expiresAt: z.ZodNullable<z.ZodString>;
960
+ }, "strict", z.ZodTypeAny, {
961
+ expiresAt: string | null;
962
+ allowed: boolean;
963
+ }, {
964
+ expiresAt: string | null;
965
+ allowed: boolean;
966
+ }>;
967
+ }, "strict", z.ZodTypeAny, {
968
+ mentionMono: {
969
+ expiresAt: string | null;
970
+ allowed: boolean;
971
+ };
972
+ }, {
973
+ mentionMono: {
974
+ expiresAt: string | null;
975
+ allowed: boolean;
976
+ };
977
+ }>>;
867
978
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
868
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
979
+ /** The user id as a string. Present on `formatUserResponse` output. */
869
980
  id: z.ZodOptional<z.ZodString>;
870
981
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
871
982
  _id: z.ZodOptional<z.ZodString>;
@@ -965,6 +1076,28 @@ export declare const currentUserResponseSchema: z.ZodObject<{
965
1076
  * `GET /session/user/:sessionId`) and absent until the user sets it.
966
1077
  */
967
1078
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1079
+ personalization: z.ZodOptional<z.ZodObject<{
1080
+ mentionMono: z.ZodObject<{
1081
+ allowed: z.ZodBoolean;
1082
+ expiresAt: z.ZodNullable<z.ZodString>;
1083
+ }, "strict", z.ZodTypeAny, {
1084
+ expiresAt: string | null;
1085
+ allowed: boolean;
1086
+ }, {
1087
+ expiresAt: string | null;
1088
+ allowed: boolean;
1089
+ }>;
1090
+ }, "strict", z.ZodTypeAny, {
1091
+ mentionMono: {
1092
+ expiresAt: string | null;
1093
+ allowed: boolean;
1094
+ };
1095
+ }, {
1096
+ mentionMono: {
1097
+ expiresAt: string | null;
1098
+ allowed: boolean;
1099
+ };
1100
+ }>>;
968
1101
  }, z.ZodTypeAny, "passthrough">>;
969
1102
  }, "strip", z.ZodTypeAny, {
970
1103
  data: {
@@ -989,6 +1122,12 @@ export declare const currentUserResponseSchema: z.ZodObject<{
989
1122
  languages?: string[] | undefined;
990
1123
  relationship?: UserRelationship | undefined;
991
1124
  themePreference?: ThemePreference | undefined;
1125
+ personalization?: {
1126
+ mentionMono: {
1127
+ expiresAt: string | null;
1128
+ allowed: boolean;
1129
+ };
1130
+ } | undefined;
992
1131
  } & {
993
1132
  [k: string]: unknown;
994
1133
  };
@@ -1015,6 +1154,12 @@ export declare const currentUserResponseSchema: z.ZodObject<{
1015
1154
  languages?: string[] | undefined;
1016
1155
  relationship?: UserRelationship | undefined;
1017
1156
  themePreference?: ThemePreference | undefined;
1157
+ personalization?: {
1158
+ mentionMono: {
1159
+ expiresAt: string | null;
1160
+ allowed: boolean;
1161
+ };
1162
+ } | undefined;
1018
1163
  } & {
1019
1164
  [k: string]: unknown;
1020
1165
  };
@@ -1030,7 +1175,7 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
1030
1175
  sessionId: z.ZodString;
1031
1176
  isCurrent: z.ZodOptional<z.ZodBoolean>;
1032
1177
  user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1033
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1178
+ /** The user id as a string. Present on `formatUserResponse` output. */
1034
1179
  id: z.ZodOptional<z.ZodString>;
1035
1180
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1036
1181
  _id: z.ZodOptional<z.ZodString>;
@@ -1130,8 +1275,30 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
1130
1275
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1131
1276
  */
1132
1277
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1278
+ personalization: z.ZodOptional<z.ZodObject<{
1279
+ mentionMono: z.ZodObject<{
1280
+ allowed: z.ZodBoolean;
1281
+ expiresAt: z.ZodNullable<z.ZodString>;
1282
+ }, "strict", z.ZodTypeAny, {
1283
+ expiresAt: string | null;
1284
+ allowed: boolean;
1285
+ }, {
1286
+ expiresAt: string | null;
1287
+ allowed: boolean;
1288
+ }>;
1289
+ }, "strict", z.ZodTypeAny, {
1290
+ mentionMono: {
1291
+ expiresAt: string | null;
1292
+ allowed: boolean;
1293
+ };
1294
+ }, {
1295
+ mentionMono: {
1296
+ expiresAt: string | null;
1297
+ allowed: boolean;
1298
+ };
1299
+ }>>;
1133
1300
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1134
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1301
+ /** The user id as a string. Present on `formatUserResponse` output. */
1135
1302
  id: z.ZodOptional<z.ZodString>;
1136
1303
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1137
1304
  _id: z.ZodOptional<z.ZodString>;
@@ -1231,8 +1398,30 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
1231
1398
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1232
1399
  */
1233
1400
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1401
+ personalization: z.ZodOptional<z.ZodObject<{
1402
+ mentionMono: z.ZodObject<{
1403
+ allowed: z.ZodBoolean;
1404
+ expiresAt: z.ZodNullable<z.ZodString>;
1405
+ }, "strict", z.ZodTypeAny, {
1406
+ expiresAt: string | null;
1407
+ allowed: boolean;
1408
+ }, {
1409
+ expiresAt: string | null;
1410
+ allowed: boolean;
1411
+ }>;
1412
+ }, "strict", z.ZodTypeAny, {
1413
+ mentionMono: {
1414
+ expiresAt: string | null;
1415
+ allowed: boolean;
1416
+ };
1417
+ }, {
1418
+ mentionMono: {
1419
+ expiresAt: string | null;
1420
+ allowed: boolean;
1421
+ };
1422
+ }>>;
1234
1423
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1235
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1424
+ /** The user id as a string. Present on `formatUserResponse` output. */
1236
1425
  id: z.ZodOptional<z.ZodString>;
1237
1426
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1238
1427
  _id: z.ZodOptional<z.ZodString>;
@@ -1332,11 +1521,33 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
1332
1521
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1333
1522
  */
1334
1523
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1524
+ personalization: z.ZodOptional<z.ZodObject<{
1525
+ mentionMono: z.ZodObject<{
1526
+ allowed: z.ZodBoolean;
1527
+ expiresAt: z.ZodNullable<z.ZodString>;
1528
+ }, "strict", z.ZodTypeAny, {
1529
+ expiresAt: string | null;
1530
+ allowed: boolean;
1531
+ }, {
1532
+ expiresAt: string | null;
1533
+ allowed: boolean;
1534
+ }>;
1535
+ }, "strict", z.ZodTypeAny, {
1536
+ mentionMono: {
1537
+ expiresAt: string | null;
1538
+ allowed: boolean;
1539
+ };
1540
+ }, {
1541
+ mentionMono: {
1542
+ expiresAt: string | null;
1543
+ allowed: boolean;
1544
+ };
1545
+ }>>;
1335
1546
  }, z.ZodTypeAny, "passthrough">>>>;
1336
1547
  }, "strip", z.ZodTypeAny, {
1337
1548
  sessionId: string;
1338
1549
  user?: z.objectOutputType<{
1339
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1550
+ /** The user id as a string. Present on `formatUserResponse` output. */
1340
1551
  id: z.ZodOptional<z.ZodString>;
1341
1552
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1342
1553
  _id: z.ZodOptional<z.ZodString>;
@@ -1436,12 +1647,34 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
1436
1647
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1437
1648
  */
1438
1649
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1650
+ personalization: z.ZodOptional<z.ZodObject<{
1651
+ mentionMono: z.ZodObject<{
1652
+ allowed: z.ZodBoolean;
1653
+ expiresAt: z.ZodNullable<z.ZodString>;
1654
+ }, "strict", z.ZodTypeAny, {
1655
+ expiresAt: string | null;
1656
+ allowed: boolean;
1657
+ }, {
1658
+ expiresAt: string | null;
1659
+ allowed: boolean;
1660
+ }>;
1661
+ }, "strict", z.ZodTypeAny, {
1662
+ mentionMono: {
1663
+ expiresAt: string | null;
1664
+ allowed: boolean;
1665
+ };
1666
+ }, {
1667
+ mentionMono: {
1668
+ expiresAt: string | null;
1669
+ allowed: boolean;
1670
+ };
1671
+ }>>;
1439
1672
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
1440
1673
  isCurrent?: boolean | undefined;
1441
1674
  }, {
1442
1675
  sessionId: string;
1443
1676
  user?: z.objectInputType<{
1444
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1677
+ /** The user id as a string. Present on `formatUserResponse` output. */
1445
1678
  id: z.ZodOptional<z.ZodString>;
1446
1679
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1447
1680
  _id: z.ZodOptional<z.ZodString>;
@@ -1541,6 +1774,28 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
1541
1774
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1542
1775
  */
1543
1776
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1777
+ personalization: z.ZodOptional<z.ZodObject<{
1778
+ mentionMono: z.ZodObject<{
1779
+ allowed: z.ZodBoolean;
1780
+ expiresAt: z.ZodNullable<z.ZodString>;
1781
+ }, "strict", z.ZodTypeAny, {
1782
+ expiresAt: string | null;
1783
+ allowed: boolean;
1784
+ }, {
1785
+ expiresAt: string | null;
1786
+ allowed: boolean;
1787
+ }>;
1788
+ }, "strict", z.ZodTypeAny, {
1789
+ mentionMono: {
1790
+ expiresAt: string | null;
1791
+ allowed: boolean;
1792
+ };
1793
+ }, {
1794
+ mentionMono: {
1795
+ expiresAt: string | null;
1796
+ allowed: boolean;
1797
+ };
1798
+ }>>;
1544
1799
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
1545
1800
  isCurrent?: boolean | undefined;
1546
1801
  }>;
@@ -1550,7 +1805,7 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1550
1805
  sessionId: z.ZodString;
1551
1806
  isCurrent: z.ZodOptional<z.ZodBoolean>;
1552
1807
  user: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1553
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1808
+ /** The user id as a string. Present on `formatUserResponse` output. */
1554
1809
  id: z.ZodOptional<z.ZodString>;
1555
1810
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1556
1811
  _id: z.ZodOptional<z.ZodString>;
@@ -1650,8 +1905,30 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1650
1905
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1651
1906
  */
1652
1907
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
1908
+ personalization: z.ZodOptional<z.ZodObject<{
1909
+ mentionMono: z.ZodObject<{
1910
+ allowed: z.ZodBoolean;
1911
+ expiresAt: z.ZodNullable<z.ZodString>;
1912
+ }, "strict", z.ZodTypeAny, {
1913
+ expiresAt: string | null;
1914
+ allowed: boolean;
1915
+ }, {
1916
+ expiresAt: string | null;
1917
+ allowed: boolean;
1918
+ }>;
1919
+ }, "strict", z.ZodTypeAny, {
1920
+ mentionMono: {
1921
+ expiresAt: string | null;
1922
+ allowed: boolean;
1923
+ };
1924
+ }, {
1925
+ mentionMono: {
1926
+ expiresAt: string | null;
1927
+ allowed: boolean;
1928
+ };
1929
+ }>>;
1653
1930
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1654
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
1931
+ /** The user id as a string. Present on `formatUserResponse` output. */
1655
1932
  id: z.ZodOptional<z.ZodString>;
1656
1933
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1657
1934
  _id: z.ZodOptional<z.ZodString>;
@@ -1751,8 +2028,30 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1751
2028
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1752
2029
  */
1753
2030
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
2031
+ personalization: z.ZodOptional<z.ZodObject<{
2032
+ mentionMono: z.ZodObject<{
2033
+ allowed: z.ZodBoolean;
2034
+ expiresAt: z.ZodNullable<z.ZodString>;
2035
+ }, "strict", z.ZodTypeAny, {
2036
+ expiresAt: string | null;
2037
+ allowed: boolean;
2038
+ }, {
2039
+ expiresAt: string | null;
2040
+ allowed: boolean;
2041
+ }>;
2042
+ }, "strict", z.ZodTypeAny, {
2043
+ mentionMono: {
2044
+ expiresAt: string | null;
2045
+ allowed: boolean;
2046
+ };
2047
+ }, {
2048
+ mentionMono: {
2049
+ expiresAt: string | null;
2050
+ allowed: boolean;
2051
+ };
2052
+ }>>;
1754
2053
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1755
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
2054
+ /** The user id as a string. Present on `formatUserResponse` output. */
1756
2055
  id: z.ZodOptional<z.ZodString>;
1757
2056
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1758
2057
  _id: z.ZodOptional<z.ZodString>;
@@ -1852,11 +2151,33 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1852
2151
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1853
2152
  */
1854
2153
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
2154
+ personalization: z.ZodOptional<z.ZodObject<{
2155
+ mentionMono: z.ZodObject<{
2156
+ allowed: z.ZodBoolean;
2157
+ expiresAt: z.ZodNullable<z.ZodString>;
2158
+ }, "strict", z.ZodTypeAny, {
2159
+ expiresAt: string | null;
2160
+ allowed: boolean;
2161
+ }, {
2162
+ expiresAt: string | null;
2163
+ allowed: boolean;
2164
+ }>;
2165
+ }, "strict", z.ZodTypeAny, {
2166
+ mentionMono: {
2167
+ expiresAt: string | null;
2168
+ allowed: boolean;
2169
+ };
2170
+ }, {
2171
+ mentionMono: {
2172
+ expiresAt: string | null;
2173
+ allowed: boolean;
2174
+ };
2175
+ }>>;
1855
2176
  }, z.ZodTypeAny, "passthrough">>>>;
1856
2177
  }, "strip", z.ZodTypeAny, {
1857
2178
  sessionId: string;
1858
2179
  user?: z.objectOutputType<{
1859
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
2180
+ /** The user id as a string. Present on `formatUserResponse` output. */
1860
2181
  id: z.ZodOptional<z.ZodString>;
1861
2182
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1862
2183
  _id: z.ZodOptional<z.ZodString>;
@@ -1956,12 +2277,34 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
1956
2277
  * `GET /session/user/:sessionId`) and absent until the user sets it.
1957
2278
  */
1958
2279
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
2280
+ personalization: z.ZodOptional<z.ZodObject<{
2281
+ mentionMono: z.ZodObject<{
2282
+ allowed: z.ZodBoolean;
2283
+ expiresAt: z.ZodNullable<z.ZodString>;
2284
+ }, "strict", z.ZodTypeAny, {
2285
+ expiresAt: string | null;
2286
+ allowed: boolean;
2287
+ }, {
2288
+ expiresAt: string | null;
2289
+ allowed: boolean;
2290
+ }>;
2291
+ }, "strict", z.ZodTypeAny, {
2292
+ mentionMono: {
2293
+ expiresAt: string | null;
2294
+ allowed: boolean;
2295
+ };
2296
+ }, {
2297
+ mentionMono: {
2298
+ expiresAt: string | null;
2299
+ allowed: boolean;
2300
+ };
2301
+ }>>;
1959
2302
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
1960
2303
  isCurrent?: boolean | undefined;
1961
2304
  }, {
1962
2305
  sessionId: string;
1963
2306
  user?: z.objectInputType<{
1964
- /** MongoDB ObjectId as a string. Present on `formatUserResponse` output. */
2307
+ /** The user id as a string. Present on `formatUserResponse` output. */
1965
2308
  id: z.ZodOptional<z.ZodString>;
1966
2309
  /** Raw-document id (e.g. `GET /users/me`). Present when `id` is not. */
1967
2310
  _id: z.ZodOptional<z.ZodString>;
@@ -2061,6 +2404,28 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
2061
2404
  * `GET /session/user/:sessionId`) and absent until the user sets it.
2062
2405
  */
2063
2406
  themePreference: z.ZodOptional<z.ZodType<ThemePreference, z.ZodTypeDef, ThemePreference>>;
2407
+ personalization: z.ZodOptional<z.ZodObject<{
2408
+ mentionMono: z.ZodObject<{
2409
+ allowed: z.ZodBoolean;
2410
+ expiresAt: z.ZodNullable<z.ZodString>;
2411
+ }, "strict", z.ZodTypeAny, {
2412
+ expiresAt: string | null;
2413
+ allowed: boolean;
2414
+ }, {
2415
+ expiresAt: string | null;
2416
+ allowed: boolean;
2417
+ }>;
2418
+ }, "strict", z.ZodTypeAny, {
2419
+ mentionMono: {
2420
+ expiresAt: string | null;
2421
+ allowed: boolean;
2422
+ };
2423
+ }, {
2424
+ mentionMono: {
2425
+ expiresAt: string | null;
2426
+ allowed: boolean;
2427
+ };
2428
+ }>>;
2064
2429
  }, z.ZodTypeAny, "passthrough"> | null | undefined;
2065
2430
  isCurrent?: boolean | undefined;
2066
2431
  }>, "many">;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxy.so/contracts",
3
- "version": "4.10.0",
3
+ "version": "4.11.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",
@@ -78,7 +78,6 @@
78
78
  "zod": "^3.25.64"
79
79
  },
80
80
  "devDependencies": {
81
- "@biomejs/biome": "^1.9.4",
82
81
  "@types/node": "^20.19.43",
83
82
  "jest": "^30.5.1",
84
83
  "release-it": "^19.0.6",