onehook-api-client 1.0.11 → 1.0.14

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 (47) hide show
  1. package/README.md +56 -0
  2. package/dist-cjs/OneHook.js +16 -0
  3. package/dist-cjs/commands/DeletePushTokenCommand.js +21 -0
  4. package/dist-cjs/commands/GetChatSettingsCommand.js +21 -0
  5. package/dist-cjs/commands/GetCredentialReadinessCommand.js +21 -0
  6. package/dist-cjs/commands/GetNotificationPreferencesCommand.js +21 -0
  7. package/dist-cjs/commands/GetUserIdByUsernameCommand.js +21 -0
  8. package/dist-cjs/commands/RegisterPushTokenCommand.js +21 -0
  9. package/dist-cjs/commands/SwipeByUsernameCommand.js +21 -0
  10. package/dist-cjs/commands/UpdateChatSettingsCommand.js +21 -0
  11. package/dist-cjs/commands/index.js +8 -0
  12. package/dist-cjs/graphql/types.js +6 -1
  13. package/dist-cjs/models/models_0.js +17 -6
  14. package/dist-cjs/protocols/Aws_restJson1.js +304 -3
  15. package/dist-es/OneHook.js +16 -0
  16. package/dist-es/commands/DeletePushTokenCommand.js +17 -0
  17. package/dist-es/commands/GetChatSettingsCommand.js +17 -0
  18. package/dist-es/commands/GetCredentialReadinessCommand.js +17 -0
  19. package/dist-es/commands/GetNotificationPreferencesCommand.js +17 -0
  20. package/dist-es/commands/GetUserIdByUsernameCommand.js +17 -0
  21. package/dist-es/commands/RegisterPushTokenCommand.js +17 -0
  22. package/dist-es/commands/SwipeByUsernameCommand.js +17 -0
  23. package/dist-es/commands/UpdateChatSettingsCommand.js +17 -0
  24. package/dist-es/commands/index.js +8 -0
  25. package/dist-es/graphql/types.js +5 -0
  26. package/dist-es/models/models_0.js +16 -5
  27. package/dist-es/protocols/Aws_restJson1.js +286 -1
  28. package/dist-types/OneHook.d.ts +58 -0
  29. package/dist-types/OneHookClient.d.ts +10 -2
  30. package/dist-types/commands/DeletePushTokenCommand.d.ts +85 -0
  31. package/dist-types/commands/GetChatSettingsCommand.d.ts +85 -0
  32. package/dist-types/commands/GetCredentialReadinessCommand.d.ts +93 -0
  33. package/dist-types/commands/GetMyProfileCommand.d.ts +4 -1
  34. package/dist-types/commands/GetNotificationPreferencesCommand.d.ts +91 -0
  35. package/dist-types/commands/GetPreferencesCommand.d.ts +37 -1
  36. package/dist-types/commands/GetProfileCommand.d.ts +4 -1
  37. package/dist-types/commands/GetUserIdByUsernameCommand.d.ts +84 -0
  38. package/dist-types/commands/RegisterPushTokenCommand.d.ts +93 -0
  39. package/dist-types/commands/SwipeByUsernameCommand.d.ts +93 -0
  40. package/dist-types/commands/UpdateChatSettingsCommand.d.ts +95 -0
  41. package/dist-types/commands/UpdatePreferencesCommand.d.ts +37 -1
  42. package/dist-types/commands/UpdateProfileCommand.d.ts +4 -1
  43. package/dist-types/commands/index.d.ts +8 -0
  44. package/dist-types/graphql/types.d.ts +33 -0
  45. package/dist-types/models/models_0.d.ts +466 -13
  46. package/dist-types/protocols/Aws_restJson1.d.ts +72 -0
  47. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ import { OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OneHookClient";
2
+ import { RegisterPushTokenRequest, RegisterPushTokenResponse } from "../models/models_0";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link RegisterPushTokenCommand}.
14
+ */
15
+ export interface RegisterPushTokenCommandInput extends RegisterPushTokenRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link RegisterPushTokenCommand}.
21
+ */
22
+ export interface RegisterPushTokenCommandOutput extends RegisterPushTokenResponse, __MetadataBearer {
23
+ }
24
+ declare const RegisterPushTokenCommand_base: {
25
+ new (input: RegisterPushTokenCommandInput): import("@smithy/smithy-client").CommandImpl<RegisterPushTokenCommandInput, RegisterPushTokenCommandOutput, OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (__0_0: RegisterPushTokenCommandInput): import("@smithy/smithy-client").CommandImpl<RegisterPushTokenCommandInput, RegisterPushTokenCommandOutput, OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * Registers (or refreshes) this device's PUSH token, so notifications can reach the user when the app
31
+ * is CLOSED — which the real-time `onNotification` subscription cannot do, since it needs a live
32
+ * WebSocket.
33
+ *
34
+ * Stored as a `PUSH#<deviceId>` row on the caller's own `DeviceKeyTable` partition, beside the existing
35
+ * `DEVICE#` row. Reusing that partition gives push tokens two behaviours for free: revoking a device
36
+ * can drop its token, and the account-deletion erase already wipes the whole partition, so tokens
37
+ * carry no separate GDPR obligation.
38
+ *
39
+ * Idempotent on `deviceId`: APNs and FCM both rotate tokens, so a refresh must overwrite rather than
40
+ * accumulate — otherwise one device ends up with several live tokens and the user gets duplicates.
41
+ * @example
42
+ * Use a bare-bones client and the command you need to make an API call.
43
+ * ```javascript
44
+ * import { OneHookClient, RegisterPushTokenCommand } from "onehook-api-client"; // ES Modules import
45
+ * // const { OneHookClient, RegisterPushTokenCommand } = require("onehook-api-client"); // CommonJS import
46
+ * const client = new OneHookClient(config);
47
+ * const input = { // RegisterPushTokenRequest
48
+ * deviceId: "STRING_VALUE", // required
49
+ * token: "STRING_VALUE", // required
50
+ * platform: "IOS" || "ANDROID" || "WEB", // required
51
+ * };
52
+ * const command = new RegisterPushTokenCommand(input);
53
+ * const response = await client.send(command);
54
+ * // { // RegisterPushTokenResponse
55
+ * // deviceId: "STRING_VALUE", // required
56
+ * // registered: true || false, // required
57
+ * // };
58
+ *
59
+ * ```
60
+ *
61
+ * @param RegisterPushTokenCommandInput - {@link RegisterPushTokenCommandInput}
62
+ * @returns {@link RegisterPushTokenCommandOutput}
63
+ * @see {@link RegisterPushTokenCommandInput} for command's `input` shape.
64
+ * @see {@link RegisterPushTokenCommandOutput} for command's `response` shape.
65
+ * @see {@link OneHookClientResolvedConfig | config} for OneHookClient's `config` shape.
66
+ *
67
+ * @throws {@link BadRequestError} (client fault)
68
+ *
69
+ * @throws {@link ForbiddenError} (client fault)
70
+ *
71
+ * @throws {@link NotFoundError} (client fault)
72
+ *
73
+ * @throws {@link InternalServerError} (server fault)
74
+ *
75
+ * @throws {@link OneHookServiceException}
76
+ * <p>Base exception class for all service exceptions from OneHook service.</p>
77
+ *
78
+ *
79
+ * @public
80
+ */
81
+ export declare class RegisterPushTokenCommand extends RegisterPushTokenCommand_base {
82
+ /** @internal type navigation helper, not in runtime. */
83
+ protected static __types: {
84
+ api: {
85
+ input: RegisterPushTokenRequest;
86
+ output: RegisterPushTokenResponse;
87
+ };
88
+ sdk: {
89
+ input: RegisterPushTokenCommandInput;
90
+ output: RegisterPushTokenCommandOutput;
91
+ };
92
+ };
93
+ }
@@ -0,0 +1,93 @@
1
+ import { OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OneHookClient";
2
+ import { SwipeByUsernameRequest, SwipeByUsernameResponse } from "../models/models_0";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link SwipeByUsernameCommand}.
14
+ */
15
+ export interface SwipeByUsernameCommandInput extends SwipeByUsernameRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link SwipeByUsernameCommand}.
21
+ */
22
+ export interface SwipeByUsernameCommandOutput extends SwipeByUsernameResponse, __MetadataBearer {
23
+ }
24
+ declare const SwipeByUsernameCommand_base: {
25
+ new (input: SwipeByUsernameCommandInput): import("@smithy/smithy-client").CommandImpl<SwipeByUsernameCommandInput, SwipeByUsernameCommandOutput, OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (__0_0: SwipeByUsernameCommandInput): import("@smithy/smithy-client").CommandImpl<SwipeByUsernameCommandInput, SwipeByUsernameCommandOutput, OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * "Add by username" — records the caller's RIGHT swipe on whoever owns `username`.
31
+ *
32
+ * This is a LIKE, not a hook. A hook is still only created when the other person likes back (from
33
+ * discovery, or by adding this caller's username in turn), which raises `MutualMatch` and lets State
34
+ * create the Match atomically. That preserves mutual consent and the tier-limited connection count —
35
+ * a one-sided add can neither force a connection nor consume someone's hook slot.
36
+ *
37
+ * ## The response is deliberately uninformative
38
+ * `SwipeByUsernameResponse` carries a single constant status and NOTHING else. It is identical when:
39
+ * * no such username exists,
40
+ * * the username exists and is already hooked (to the caller or anyone else),
41
+ * * the username exists and the like was recorded,
42
+ * * the like was already recorded earlier.
43
+ *
44
+ * So knowing someone's handle reveals nothing about them — not whether they are on OneHook, and not
45
+ * whether they are hooked. Returning `matched` here (as `Swipe` does) would leak exactly that, which
46
+ * is why this operation does not reuse `SwipeResponse`. A resulting match surfaces through the normal
47
+ * match/notification path instead, where both sides have consented.
48
+ * @example
49
+ * Use a bare-bones client and the command you need to make an API call.
50
+ * ```javascript
51
+ * import { OneHookClient, SwipeByUsernameCommand } from "onehook-api-client"; // ES Modules import
52
+ * // const { OneHookClient, SwipeByUsernameCommand } = require("onehook-api-client"); // CommonJS import
53
+ * const client = new OneHookClient(config);
54
+ * const input = { // SwipeByUsernameRequest
55
+ * username: "STRING_VALUE", // required
56
+ * };
57
+ * const command = new SwipeByUsernameCommand(input);
58
+ * const response = await client.send(command);
59
+ * // { // SwipeByUsernameResponse
60
+ * // status: "STRING_VALUE", // required
61
+ * // };
62
+ *
63
+ * ```
64
+ *
65
+ * @param SwipeByUsernameCommandInput - {@link SwipeByUsernameCommandInput}
66
+ * @returns {@link SwipeByUsernameCommandOutput}
67
+ * @see {@link SwipeByUsernameCommandInput} for command's `input` shape.
68
+ * @see {@link SwipeByUsernameCommandOutput} for command's `response` shape.
69
+ * @see {@link OneHookClientResolvedConfig | config} for OneHookClient's `config` shape.
70
+ *
71
+ * @throws {@link BadRequestError} (client fault)
72
+ *
73
+ * @throws {@link InternalServerError} (server fault)
74
+ *
75
+ * @throws {@link OneHookServiceException}
76
+ * <p>Base exception class for all service exceptions from OneHook service.</p>
77
+ *
78
+ *
79
+ * @public
80
+ */
81
+ export declare class SwipeByUsernameCommand extends SwipeByUsernameCommand_base {
82
+ /** @internal type navigation helper, not in runtime. */
83
+ protected static __types: {
84
+ api: {
85
+ input: SwipeByUsernameRequest;
86
+ output: SwipeByUsernameResponse;
87
+ };
88
+ sdk: {
89
+ input: SwipeByUsernameCommandInput;
90
+ output: SwipeByUsernameCommandOutput;
91
+ };
92
+ };
93
+ }
@@ -0,0 +1,95 @@
1
+ import { OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OneHookClient";
2
+ import { UpdateChatSettingsRequest, UpdateChatSettingsResponse } from "../models/models_0";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link UpdateChatSettingsCommand}.
14
+ */
15
+ export interface UpdateChatSettingsCommandInput extends UpdateChatSettingsRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link UpdateChatSettingsCommand}.
21
+ */
22
+ export interface UpdateChatSettingsCommandOutput extends UpdateChatSettingsResponse, __MetadataBearer {
23
+ }
24
+ declare const UpdateChatSettingsCommand_base: {
25
+ new (input: UpdateChatSettingsCommandInput): import("@smithy/smithy-client").CommandImpl<UpdateChatSettingsCommandInput, UpdateChatSettingsCommandOutput, OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (...[input]: [] | [UpdateChatSettingsCommandInput]): import("@smithy/smithy-client").CommandImpl<UpdateChatSettingsCommandInput, UpdateChatSettingsCommandOutput, OneHookClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * Partially update the authenticated caller's chat settings. Only the fields present in the
31
+ * request are changed; absent fields are left untouched. Returns the full effective settings.
32
+ * @example
33
+ * Use a bare-bones client and the command you need to make an API call.
34
+ * ```javascript
35
+ * import { OneHookClient, UpdateChatSettingsCommand } from "onehook-api-client"; // ES Modules import
36
+ * // const { OneHookClient, UpdateChatSettingsCommand } = require("onehook-api-client"); // CommonJS import
37
+ * const client = new OneHookClient(config);
38
+ * const input = { // UpdateChatSettingsRequest
39
+ * messageNotifications: true || false,
40
+ * showPreviews: true || false,
41
+ * reactionNotifications: true || false,
42
+ * readReceipts: true || false,
43
+ * typingIndicators: true || false,
44
+ * lastSeenVisibility: "EVERYONE" || "MATCHES" || "NOBODY",
45
+ * screenshotProtection: true || false,
46
+ * defaultDisappearingSeconds: Number("int"),
47
+ * };
48
+ * const command = new UpdateChatSettingsCommand(input);
49
+ * const response = await client.send(command);
50
+ * // { // UpdateChatSettingsResponse
51
+ * // settings: { // ChatSettings
52
+ * // messageNotifications: true || false,
53
+ * // showPreviews: true || false,
54
+ * // reactionNotifications: true || false,
55
+ * // readReceipts: true || false,
56
+ * // typingIndicators: true || false,
57
+ * // lastSeenVisibility: "EVERYONE" || "MATCHES" || "NOBODY",
58
+ * // screenshotProtection: true || false,
59
+ * // defaultDisappearingSeconds: Number("int"),
60
+ * // },
61
+ * // };
62
+ *
63
+ * ```
64
+ *
65
+ * @param UpdateChatSettingsCommandInput - {@link UpdateChatSettingsCommandInput}
66
+ * @returns {@link UpdateChatSettingsCommandOutput}
67
+ * @see {@link UpdateChatSettingsCommandInput} for command's `input` shape.
68
+ * @see {@link UpdateChatSettingsCommandOutput} for command's `response` shape.
69
+ * @see {@link OneHookClientResolvedConfig | config} for OneHookClient's `config` shape.
70
+ *
71
+ * @throws {@link BadRequestError} (client fault)
72
+ *
73
+ * @throws {@link ForbiddenError} (client fault)
74
+ *
75
+ * @throws {@link InternalServerError} (server fault)
76
+ *
77
+ * @throws {@link OneHookServiceException}
78
+ * <p>Base exception class for all service exceptions from OneHook service.</p>
79
+ *
80
+ *
81
+ * @public
82
+ */
83
+ export declare class UpdateChatSettingsCommand extends UpdateChatSettingsCommand_base {
84
+ /** @internal type navigation helper, not in runtime. */
85
+ protected static __types: {
86
+ api: {
87
+ input: UpdateChatSettingsRequest;
88
+ output: UpdateChatSettingsResponse;
89
+ };
90
+ sdk: {
91
+ input: UpdateChatSettingsCommandInput;
92
+ output: UpdateChatSettingsCommandOutput;
93
+ };
94
+ };
95
+ }
@@ -40,9 +40,45 @@ declare const UpdatePreferencesCommand_base: {
40
40
  * minAge: Number("int"),
41
41
  * maxAge: Number("int"),
42
42
  * maxDistanceKm: Number("int"),
43
- * genders: [ // StringList
43
+ * interestedInGenders: [ // StringList
44
44
  * "STRING_VALUE",
45
45
  * ],
46
+ * genders: [
47
+ * "STRING_VALUE",
48
+ * ],
49
+ * relationshipType: "STRING_VALUE",
50
+ * wantsKids: "STRING_VALUE",
51
+ * familyPlans: "STRING_VALUE",
52
+ * verifiedOnly: true || false,
53
+ * smoking: "STRING_VALUE",
54
+ * drinking: "STRING_VALUE",
55
+ * cannabis: "STRING_VALUE",
56
+ * drugs: "STRING_VALUE",
57
+ * exercise: "STRING_VALUE",
58
+ * religion: "STRING_VALUE",
59
+ * educationLevel: "STRING_VALUE",
60
+ * politicalView: "STRING_VALUE",
61
+ * starSigns: [
62
+ * "STRING_VALUE",
63
+ * ],
64
+ * preferredLanguages: [
65
+ * "STRING_VALUE",
66
+ * ],
67
+ * interests: [
68
+ * "STRING_VALUE",
69
+ * ],
70
+ * minHeight: Number("int"),
71
+ * maxHeight: Number("int"),
72
+ * dealbreakers: "<StringList>",
73
+ * requirePhoto: true || false,
74
+ * requireBio: true || false,
75
+ * requireRecentlyActive: true || false,
76
+ * discoverable: true || false,
77
+ * incognito: true || false,
78
+ * distanceUnit: "STRING_VALUE",
79
+ * notifyMatches: true || false,
80
+ * notifyLikes: true || false,
81
+ * notifyDailyPicks: true || false,
46
82
  * };
47
83
  * const command = new UpdatePreferencesCommand(input);
48
84
  * const response = await client.send(command);
@@ -58,6 +58,9 @@ declare const UpdateProfileCommand_base: {
58
58
  * pictures: [
59
59
  * "STRING_VALUE",
60
60
  * ],
61
+ * pictureTransforms: { // StringMap
62
+ * "<keys>": "STRING_VALUE",
63
+ * },
61
64
  * videos: [
62
65
  * "STRING_VALUE",
63
66
  * ],
@@ -74,7 +77,7 @@ declare const UpdateProfileCommand_base: {
74
77
  * imageKey: "STRING_VALUE",
75
78
  * },
76
79
  * ],
77
- * socialLinks: { // StringMap
80
+ * socialLinks: {
78
81
  * "<keys>": "STRING_VALUE",
79
82
  * },
80
83
  * openers: [ // OpenerList
@@ -1,12 +1,18 @@
1
1
  export * from "./DeleteMatchMessagesCommand";
2
+ export * from "./DeletePushTokenCommand";
3
+ export * from "./GetChatSettingsCommand";
2
4
  export * from "./GetParticipantRegistryCommand";
3
5
  export * from "./ListMyDevicesCommand";
4
6
  export * from "./RegisterDeviceCommand";
7
+ export * from "./RegisterPushTokenCommand";
5
8
  export * from "./RevokeDeviceCommand";
9
+ export * from "./UpdateChatSettingsCommand";
6
10
  export * from "./AuthSocialCommand";
7
11
  export * from "./GenerateInviteCommand";
12
+ export * from "./GetCredentialReadinessCommand";
8
13
  export * from "./GetUserCommand";
9
14
  export * from "./GetUserByEmailCommand";
15
+ export * from "./GetUserIdByUsernameCommand";
10
16
  export * from "./LinkEmailCommand";
11
17
  export * from "./LinkSocialCommand";
12
18
  export * from "./RegisterPhoneCommand";
@@ -19,10 +25,12 @@ export * from "./UpdatePhoneNumberCommand";
19
25
  export * from "./UpdateUsernameCommand";
20
26
  export * from "./ValidateInviteCommand";
21
27
  export * from "./DiscoverCommand";
28
+ export * from "./GetNotificationPreferencesCommand";
22
29
  export * from "./GetPreferencesCommand";
23
30
  export * from "./IndexLocationCommand";
24
31
  export * from "./RemoveLocationCommand";
25
32
  export * from "./SwipeCommand";
33
+ export * from "./SwipeByUsernameCommand";
26
34
  export * from "./UpdatePreferencesCommand";
27
35
  export * from "./CompleteLivenessSessionCommand";
28
36
  export * from "./CreateLivenessSessionCommand";
@@ -84,6 +84,7 @@ export type Mutation = {
84
84
  deleteMessage?: Maybe<DeletedMessage>;
85
85
  markAsDelivered?: Maybe<MessageReceipt>;
86
86
  markAsRead?: Maybe<MessageReceipt>;
87
+ publishNotification?: Maybe<Notification>;
87
88
  requestKeyRecovery?: Maybe<KeyRecoverySession>;
88
89
  sendMessage?: Maybe<Message>;
89
90
  updateKeyRecovery?: Maybe<KeyRecoverySession>;
@@ -104,6 +105,14 @@ export type MutationMarkAsReadArgs = {
104
105
  timestamp: Scalars['AWSTimestamp']['input'];
105
106
  userId: Scalars['String']['input'];
106
107
  };
108
+ export type MutationPublishNotificationArgs = {
109
+ body: Scalars['String']['input'];
110
+ id?: InputMaybe<Scalars['ID']['input']>;
111
+ kind: NotificationKind;
112
+ matchId?: InputMaybe<Scalars['ID']['input']>;
113
+ title: Scalars['String']['input'];
114
+ userId: Scalars['ID']['input'];
115
+ };
107
116
  export type MutationRequestKeyRecoveryArgs = {
108
117
  challenge: Scalars['String']['input'];
109
118
  sourceDeviceId: Scalars['ID']['input'];
@@ -121,6 +130,26 @@ export type MutationUpdateKeyRecoveryArgs = {
121
130
  status: KeyRecoveryStatus;
122
131
  targetDeviceId: Scalars['ID']['input'];
123
132
  };
133
+ export type Notification = {
134
+ __typename?: 'Notification';
135
+ /** Server-authored copy. Never message content (the backend cannot read it). */
136
+ body: Scalars['String']['output'];
137
+ createdAt: Scalars['AWSTimestamp']['output'];
138
+ /** Idempotency/dedup key, so a redelivered event renders once. */
139
+ id: Scalars['ID']['output'];
140
+ kind: NotificationKind;
141
+ /** Present on MUTUAL_MATCH so the client can deep-link to the conversation. */
142
+ matchId?: Maybe<Scalars['ID']['output']>;
143
+ title: Scalars['String']['output'];
144
+ /** Recipient. Always the subscriber's own subject — the resolver enforces it. */
145
+ userId: Scalars['ID']['output'];
146
+ };
147
+ export declare enum NotificationKind {
148
+ /** Both people liked each other and State created the hook. */
149
+ MutualMatch = "MUTUAL_MATCH",
150
+ /** Someone liked this user. Does NOT reveal whether the like was reciprocated. */
151
+ ProfileLiked = "PROFILE_LIKED"
152
+ }
124
153
  export type Query = {
125
154
  __typename?: 'Query';
126
155
  getKeyRecoveryRequests?: Maybe<Array<Maybe<KeyRecoverySession>>>;
@@ -145,6 +174,7 @@ export type Subscription = {
145
174
  onMessageDeleted?: Maybe<DeletedMessage>;
146
175
  onMessageStatusUpdate?: Maybe<MessageReceipt>;
147
176
  onNewMessage?: Maybe<Message>;
177
+ onNotification?: Maybe<Notification>;
148
178
  };
149
179
  export type SubscriptionOnKeyRecoveryRequestedArgs = {
150
180
  sourceDeviceId: Scalars['ID']['input'];
@@ -163,3 +193,6 @@ export type SubscriptionOnMessageStatusUpdateArgs = {
163
193
  export type SubscriptionOnNewMessageArgs = {
164
194
  matchId: Scalars['ID']['input'];
165
195
  };
196
+ export type SubscriptionOnNotificationArgs = {
197
+ userId: Scalars['ID']['input'];
198
+ };