@wirecat/whatsapp-cli 0.1.0 → 0.3.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 (102) hide show
  1. package/README.md +213 -94
  2. package/dist/adapter/adapter.d.ts +8 -4
  3. package/dist/adapter/adapter.d.ts.map +1 -1
  4. package/dist/adapter/adapter.js +349 -90
  5. package/dist/adapter/adapter.js.map +1 -1
  6. package/dist/adapter/channels.d.ts +43 -0
  7. package/dist/adapter/channels.d.ts.map +1 -0
  8. package/dist/adapter/channels.js +100 -0
  9. package/dist/adapter/channels.js.map +1 -0
  10. package/dist/adapter/checks.d.ts +2 -3
  11. package/dist/adapter/checks.d.ts.map +1 -1
  12. package/dist/adapter/checks.js +1 -2
  13. package/dist/adapter/checks.js.map +1 -1
  14. package/dist/adapter/errors.d.ts +0 -5
  15. package/dist/adapter/errors.d.ts.map +1 -1
  16. package/dist/adapter/errors.js +7 -9
  17. package/dist/adapter/errors.js.map +1 -1
  18. package/dist/adapter/groups.d.ts +5 -1
  19. package/dist/adapter/groups.d.ts.map +1 -1
  20. package/dist/adapter/groups.js +51 -9
  21. package/dist/adapter/groups.js.map +1 -1
  22. package/dist/adapter/map.d.ts +17 -2
  23. package/dist/adapter/map.d.ts.map +1 -1
  24. package/dist/adapter/map.js +68 -7
  25. package/dist/adapter/map.js.map +1 -1
  26. package/dist/adapter/pins.d.ts +11 -0
  27. package/dist/adapter/pins.d.ts.map +1 -0
  28. package/dist/adapter/pins.js +10 -0
  29. package/dist/adapter/pins.js.map +1 -0
  30. package/dist/adapter/polls.d.ts +1 -1
  31. package/dist/adapter/polls.d.ts.map +1 -1
  32. package/dist/adapter/polls.js +2 -2
  33. package/dist/adapter/polls.js.map +1 -1
  34. package/dist/adapter/privacy.d.ts +18 -0
  35. package/dist/adapter/privacy.d.ts.map +1 -0
  36. package/dist/adapter/privacy.js +94 -0
  37. package/dist/adapter/privacy.js.map +1 -0
  38. package/dist/adapter/settings.d.ts +21 -0
  39. package/dist/adapter/settings.d.ts.map +1 -0
  40. package/dist/adapter/settings.js +76 -0
  41. package/dist/adapter/settings.js.map +1 -0
  42. package/dist/bin/wa.js +0 -13
  43. package/dist/bin/wa.js.map +1 -1
  44. package/dist/commands/session.d.ts +18 -7
  45. package/dist/commands/session.d.ts.map +1 -1
  46. package/dist/commands/session.js +92 -93
  47. package/dist/commands/session.js.map +1 -1
  48. package/dist/commands/setup.d.ts.map +1 -1
  49. package/dist/commands/setup.js +77 -129
  50. package/dist/commands/setup.js.map +1 -1
  51. package/dist/commands/update.d.ts.map +1 -1
  52. package/dist/commands/update.js +3 -22
  53. package/dist/commands/update.js.map +1 -1
  54. package/dist/engine/channels.d.ts +109 -0
  55. package/dist/engine/channels.d.ts.map +1 -0
  56. package/dist/engine/channels.js +29 -0
  57. package/dist/engine/channels.js.map +1 -0
  58. package/dist/engine/contract.d.ts +617 -43
  59. package/dist/engine/contract.d.ts.map +1 -1
  60. package/dist/engine/contract.js +226 -11
  61. package/dist/engine/contract.js.map +1 -1
  62. package/dist/engine/go-engine.d.ts.map +1 -1
  63. package/dist/engine/go-engine.js +23 -34
  64. package/dist/engine/go-engine.js.map +1 -1
  65. package/dist/engine/groups.d.ts +32 -14
  66. package/dist/engine/groups.d.ts.map +1 -1
  67. package/dist/engine/groups.js +2 -0
  68. package/dist/engine/groups.js.map +1 -1
  69. package/dist/engine/privacy.d.ts +33 -0
  70. package/dist/engine/privacy.d.ts.map +1 -0
  71. package/dist/engine/privacy.js +23 -0
  72. package/dist/engine/privacy.js.map +1 -0
  73. package/dist/engine/settings.d.ts +45 -0
  74. package/dist/engine/settings.d.ts.map +1 -0
  75. package/dist/engine/settings.js +34 -0
  76. package/dist/engine/settings.js.map +1 -0
  77. package/dist/install/postinstall.d.ts.map +1 -1
  78. package/dist/install/postinstall.js +4 -3
  79. package/dist/install/postinstall.js.map +1 -1
  80. package/dist/messenger.d.ts +3 -4
  81. package/dist/messenger.d.ts.map +1 -1
  82. package/dist/messenger.js +31 -14
  83. package/dist/messenger.js.map +1 -1
  84. package/dist/program.d.ts +5 -1
  85. package/dist/program.d.ts.map +1 -1
  86. package/dist/program.js +10 -38
  87. package/dist/program.js.map +1 -1
  88. package/dist/reasons.d.ts.map +1 -1
  89. package/dist/reasons.js +8 -0
  90. package/dist/reasons.js.map +1 -1
  91. package/dist/update.d.ts +0 -1
  92. package/dist/update.d.ts.map +1 -1
  93. package/dist/update.js +0 -7
  94. package/dist/update.js.map +1 -1
  95. package/dist/version.d.ts +1 -1
  96. package/dist/version.js +1 -1
  97. package/package.json +10 -10
  98. package/skills/whatsapp-cli/SKILL.md +59 -24
  99. package/dist/commands/answer.d.ts +0 -7
  100. package/dist/commands/answer.d.ts.map +0 -1
  101. package/dist/commands/answer.js +0 -11
  102. package/dist/commands/answer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"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"}
@@ -9,18 +9,104 @@ import * as v from "valibot";
9
9
  * emits a chat (cli-private plans/2026-10-16-whatsapp-foundation.md, decision 3). Names are what the address book or the
10
10
  * person set; a phone number is never a name.
11
11
  */
12
- export const PROTOCOL = 10;
12
+ export const PROTOCOL = 45;
13
+ /**
14
+ * Every request the engine answers. A write changes something on WhatsApp or sends something: cut by a dropped
15
+ * connection or the engine's end, it may have gone through, so it answers `outcome_unknown`, never a retryable error
16
+ * (WC-LIFE-9). The engine's `writes` (engine/cmd/wa-engine/errors.go) must name the same writes; its tests check
17
+ * that and that it dispatches exactly these ops.
18
+ */
19
+ export const ENGINE_OPS = {
20
+ send: "write",
21
+ sendMedia: "write",
22
+ sendAlbum: "write",
23
+ forward: "write",
24
+ edit: "write",
25
+ revoke: "write",
26
+ react: "write",
27
+ read: "write",
28
+ createPoll: "write",
29
+ vote: "write",
30
+ pin: "write",
31
+ unpin: "write",
32
+ createGroup: "write",
33
+ join: "write",
34
+ leave: "write",
35
+ updateGroup: "write",
36
+ setGroupPhoto: "write",
37
+ resetLink: "write",
38
+ participants: "write",
39
+ answerRequest: "write",
40
+ block: "write",
41
+ setPrivacy: "write",
42
+ mute: "write",
43
+ updateProfile: "write",
44
+ deleteChat: "write",
45
+ clearChat: "write",
46
+ deleteForMe: "write",
47
+ star: "write",
48
+ archiveChat: "write",
49
+ unarchiveChat: "write",
50
+ pinChat: "write",
51
+ unpinChat: "write",
52
+ markChatRead: "write",
53
+ markChatUnread: "write",
54
+ followChannel: "write",
55
+ unfollowChannel: "write",
56
+ logout: "write",
57
+ connect: "read",
58
+ close: "read",
59
+ // A cut pairing is abandoned: a retry asks WhatsApp for a new code, and nobody else sees either.
60
+ link: "read",
61
+ me: "read",
62
+ directory: "read",
63
+ chat: "read",
64
+ download: "read",
65
+ // Asks the owner's own phone for older messages; asking twice only sends the same history again.
66
+ older: "read",
67
+ group: "read",
68
+ requests: "read",
69
+ profile: "read",
70
+ lookup: "read",
71
+ contacts: "read",
72
+ privacy: "read",
73
+ channel: "read",
74
+ channelMessages: "read",
75
+ // Records the store's phone-form chats in the engine's own table; nothing reaches WhatsApp.
76
+ storedChats: "read",
77
+ // Reads whatsmeow's LID map for a typed phone-form chat; nothing reaches WhatsApp.
78
+ canonicalChat: "read",
79
+ };
80
+ export const isWrite = (op) => ENGINE_OPS[op] === "write";
13
81
  const jid = v.pipe(v.string(), v.includes("@"));
14
82
  const time = v.pipe(v.string(), v.isoTimestamp());
15
83
  export const waChat = v.strictObject({
16
84
  jid,
17
- name: v.nullable(v.string()),
85
+ /**
86
+ * `unread` and `lastMessageAt` are absent when the source does not say. Only a notice, such as a group leaving its
87
+ * community or a chat archived, muted or read on the phone, leaves out `name` and `participants`: a pushed chat
88
+ * keeps the stored value of whatever is absent.
89
+ */
90
+ name: v.optional(v.nullable(v.string())),
18
91
  kind: v.picklist(["dm", "self", "group", "newsletter", "broadcast"]),
19
- unread: v.nullable(v.number()),
20
- lastMessageAt: v.nullable(time),
21
- participants: v.nullable(v.number()),
92
+ unread: v.optional(v.nullable(v.number())),
93
+ lastMessageAt: v.optional(v.nullable(time)),
94
+ participants: v.optional(v.nullable(v.number())),
22
95
  archived: v.optional(v.boolean()),
23
96
  muted: v.optional(v.boolean()),
97
+ /** When the mute ends; only with `muted: true`, and absent for a mute for good. */
98
+ mutedUntil: v.optional(time),
99
+ /** The owner marked the chat unread on the phone, whatever its count. */
100
+ markedUnread: v.optional(v.boolean()),
101
+ /** The community a group is linked to; `null` when a live read says it is in none, absent when nothing said. */
102
+ parent: v.optional(v.nullable(jid)),
103
+ /** A community itself: a group that holds other groups. */
104
+ community: v.optional(v.literal(true)),
105
+ /**
106
+ * `left` when WhatsApp said the owner left the group or was removed, `member` when it said the owner was added back;
107
+ * never `null`, which clears `archived` too.
108
+ */
109
+ membershipState: v.optional(v.picklist(["left", "member"])),
24
110
  });
25
111
  export const waContact = v.strictObject({ jid, name: v.nullable(v.string()) });
26
112
  /**
@@ -33,10 +119,38 @@ export const waMediaRef = v.strictObject({
33
119
  mediaKey: v.optional(v.string()),
34
120
  fileSha256: v.optional(v.string()),
35
121
  fileEncSha256: v.optional(v.string()),
122
+ /** The upload's URL: a phone does not show a photo or a video whose message lacks it. */
123
+ url: v.optional(v.string()),
124
+ mediaKeyTimestamp: v.optional(v.number()),
125
+ });
126
+ /**
127
+ * A download's answer: the new path when the phone had to upload the file again, `null` when WhatsApp still kept it.
128
+ * The key stays that of the stored ref; the checksums come too when the phone encrypted the file again.
129
+ */
130
+ export const waDownloaded = v.nullable(v.strictObject({
131
+ directPath: v.pipe(v.string(), v.nonEmpty()),
132
+ fileSha256: v.optional(v.string()),
133
+ fileEncSha256: v.optional(v.string()),
134
+ }));
135
+ /** A place as its message carried it, kept so a forward sends it again; `geo:` in `url` rounds the coordinates. */
136
+ export const waPlaceRef = v.strictObject({
137
+ place: v.strictObject({
138
+ latitude: v.number(),
139
+ longitude: v.number(),
140
+ name: v.optional(v.string()),
141
+ address: v.optional(v.string()),
142
+ url: v.optional(v.string()),
143
+ }),
36
144
  });
145
+ /**
146
+ * A contact card as its message carried it, kept so a forward sends it again. The vCard holds a phone number: it
147
+ * stays in the opaque `providerRef`, which cli-core never prints, and never reaches a log or an error.
148
+ */
149
+ export const waCardRef = v.strictObject({ card: v.strictObject({ name: v.string(), vcard: v.string() }) });
37
150
  /**
38
151
  * cli-core's Attachment in WhatsApp's terms: `photo`, `video`, `voice`, `audio`, `document`, `sticker`, `location`
39
- * (`url` is a `geo:` link), `contact` (its name only — the card holds a phone number). `ref` only for a file.
152
+ * (`url` is a `geo:` link), `contact` (its name; the card itself only in `ref`). `ref` is a file's keys, or what a
153
+ * place or a contact card needs to be sent again; a live location has none.
40
154
  */
41
155
  export const waAttachment = v.strictObject({
42
156
  kind: v.picklist(["photo", "video", "voice", "audio", "document", "sticker", "location", "contact"]),
@@ -48,7 +162,7 @@ export const waAttachment = v.strictObject({
48
162
  size: v.optional(v.number()),
49
163
  mime: v.optional(v.string()),
50
164
  duration: v.optional(v.number()),
51
- ref: v.optional(waMediaRef),
165
+ ref: v.optional(v.union([waMediaRef, waPlaceRef, waCardRef])),
52
166
  });
53
167
  /**
54
168
  * A poll as its message carries it. An answer's `id` is the start of the SHA-256 of its text, which is what a vote
@@ -60,6 +174,27 @@ export const waPoll = v.strictObject({
60
174
  answers: v.array(v.strictObject({ id: v.pipe(v.string(), v.nonEmpty()), text: v.string() })),
61
175
  multiple: v.boolean(),
62
176
  });
177
+ /**
178
+ * A call, recorded as a message keyed by the call's id: once as it rings, and again with `outcome` when it ends in a
179
+ * one-to-one chat. `duration` is in seconds, for an answered call whose end this connection saw.
180
+ */
181
+ export const waCall = v.strictObject({
182
+ video: v.boolean(),
183
+ group: v.optional(v.literal(true)),
184
+ outcome: v.optional(v.picklist(["missed", "answered", "declined"])),
185
+ duration: v.optional(v.number()),
186
+ });
187
+ const delivery = v.picklist(["delivered", "read"]);
188
+ /**
189
+ * The other person's phone got the owner's message, or they opened it (a played voice note counts). Only for a
190
+ * one-to-one chat: a group's come one person at a time, and the engine sends none of them.
191
+ */
192
+ export const waReceipt = v.strictObject({
193
+ chat: jid,
194
+ id: v.pipe(v.string(), v.nonEmpty()),
195
+ delivery,
196
+ at: time,
197
+ });
63
198
  export const waMessage = v.strictObject({
64
199
  id: v.pipe(v.string(), v.nonEmpty()),
65
200
  chat: jid,
@@ -72,6 +207,13 @@ export const waMessage = v.strictObject({
72
207
  replyTo: v.nullable(v.string()),
73
208
  attachments: v.optional(v.array(waAttachment)),
74
209
  poll: v.optional(waPoll),
210
+ /** Only ever `true`, on a pushed message the owner starred: a push may be older than a star taken off since. */
211
+ starred: v.optional(v.literal(true)),
212
+ /** A channel post's number on WhatsApp's servers: a channel's history is read back from it. */
213
+ serverId: v.optional(v.number()),
214
+ call: v.optional(waCall),
215
+ /** The owner's own message in a one-to-one chat, as far as the phone knew it got. */
216
+ delivery: v.optional(delivery),
75
217
  });
76
218
  /**
77
219
  * One person's newest choice in a poll: `selected` is the full SHA-256 of each chosen answer's text, and none takes
@@ -88,9 +230,48 @@ export const waVote = v.strictObject({
88
230
  votedAt: time,
89
231
  poll: v.optional(waPoll),
90
232
  });
233
+ /**
234
+ * One person's reaction change to a message: WhatsApp sends each change on its own, never a message's totals.
235
+ * `reaction` is the emoji, `null` when they took it back. `reactor` is in LID form like a sender, one id per person on
236
+ * every path, and the account's own reaction is under `self()` with `own`. `reactedAt` is when the reactor sent it, by
237
+ * WhatsApp's clock: the store keeps a person's newest reaction by it.
238
+ */
239
+ export const waReaction = v.strictObject({
240
+ chat: jid,
241
+ message: v.pipe(v.string(), v.nonEmpty()),
242
+ reactor: jid,
243
+ reactorName: v.nullable(v.string()),
244
+ own: v.boolean(),
245
+ reaction: v.nullable(v.pipe(v.string(), v.nonEmpty())),
246
+ reactedAt: time,
247
+ });
248
+ /**
249
+ * A one-to-one chat the engine emitted before in phone form (`from`), now named by its person's LID (`to`). The store
250
+ * moves the old chat to the new id before anything under the new id lands. The engine repeats a re-key for a while,
251
+ * since the CLI may not have been listening; a repeat changes nothing.
252
+ */
253
+ export const waRekey = v.strictObject({ from: jid, to: jid });
254
+ /**
255
+ * Who joined, left, was added, removed, promoted or demoted in a group, or its new title, live or from the group's
256
+ * service message in a history push. WhatsApp gives a live change no id, so `id` is derived from the chat, the time in
257
+ * seconds, the action and the sorted people: both paths give one change the same id, and the store keeps it once.
258
+ * `by` and `people` are in LID form like a sender; `by` is `null` where WhatsApp did not say who.
259
+ */
260
+ export const waChatEvent = v.strictObject({
261
+ chat: jid,
262
+ id: v.pipe(v.string(), v.nonEmpty()),
263
+ timestamp: time,
264
+ event: v.picklist(["join", "leave", "add", "remove", "promote", "demote", "title"]),
265
+ by: v.nullable(jid),
266
+ byName: v.nullable(v.string()),
267
+ people: v.array(waContact),
268
+ title: v.optional(v.string()),
269
+ });
91
270
  /**
92
271
  * One push from the phone. `kind` follows whatsmeow's sync types; the adapter treats them all alike. `votes` are the
93
- * votes in the pushed polls, which the store saves with the push, not as `vote` events.
272
+ * votes in the pushed polls and `reactions` the reactions on the pushed messages, which the store saves with the push,
273
+ * not as `vote` or `reaction` events. `events` are the groups'
274
+ * service messages in the push, which come as no message. `rekeys` apply first.
94
275
  */
95
276
  export const waHistory = v.strictObject({
96
277
  kind: v.picklist(["bootstrap", "recent", "full", "on_demand", "push_name", "other"]),
@@ -98,6 +279,9 @@ export const waHistory = v.strictObject({
98
279
  contacts: v.array(waContact),
99
280
  messages: v.array(waMessage),
100
281
  votes: v.array(waVote),
282
+ reactions: v.optional(v.array(waReaction)),
283
+ rekeys: v.optional(v.array(waRekey)),
284
+ events: v.optional(v.array(waChatEvent)),
101
285
  });
102
286
  /**
103
287
  * The phone's answer to `older`: the chat's messages sent before the anchor, as many as were asked or fewer. No
@@ -121,7 +305,15 @@ export const engineEvent = v.variant("event", [
121
305
  v.strictObject({ event: v.literal("edit"), message: waMessage }),
122
306
  v.strictObject({ event: v.literal("delete"), chat: jid, id: v.string() }),
123
307
  v.strictObject({ event: v.literal("vote"), vote: waVote }),
124
- v.strictObject({ event: v.literal("connection"), state: connectionState }),
308
+ v.strictObject({ event: v.literal("reaction"), reaction: waReaction }),
309
+ v.strictObject({ event: v.literal("chat_event"), change: waChatEvent }),
310
+ v.strictObject({ event: v.literal("receipt"), receipt: waReceipt }),
311
+ /** The owner starred a message or took the star off on another device. */
312
+ v.strictObject({ event: v.literal("star"), chat: jid, id: v.pipe(v.string(), v.nonEmpty()), starred: v.boolean() }),
313
+ /** A re-key outside a history push, sent before the first message under the new id. */
314
+ v.strictObject({ event: v.literal("rekey"), ...waRekey.entries }),
315
+ /** `until`: when a temporary ban ends, if WhatsApp said. */
316
+ v.strictObject({ event: v.literal("connection"), state: connectionState, until: v.optional(time) }),
125
317
  ]);
126
318
  export const engineErrorCode = v.picklist([
127
319
  "validation_error",
@@ -139,7 +331,9 @@ export const engineErrorCode = v.picklist([
139
331
  * Why, for the refusals an agent recovers from differently than their code says: another process holds the device
140
332
  * (`device.in-use`), WhatsApp handed the login to another connection (`device.replaced`), logged the device out, refuses
141
333
  * this version (`client.outdated`), banned the account, or asked it to slow down (`account.rate-limited`, never the
142
- * engine's own lookup pace). The CLI registers each one (`src/reasons.ts`).
334
+ * engine's own lookup pace), or has not yet sent the keys a settings change is sealed with (`settings.keys-missing`).
335
+ * A download WhatsApp no longer keeps the file for says how asking the phone to upload it again ended (`media.*`), or
336
+ * that the engine stopped while it waited (`engine.stopped`). The CLI registers each one (`src/reasons.ts`).
143
337
  */
144
338
  export const engineReason = v.picklist([
145
339
  "device.in-use",
@@ -148,11 +342,21 @@ export const engineReason = v.picklist([
148
342
  "client.outdated",
149
343
  "account.banned",
150
344
  "account.rate-limited",
345
+ "settings.keys-missing",
346
+ "media.not-on-phone",
347
+ "media.phone-cannot-decrypt",
348
+ "media.phone-answer-unreadable",
349
+ "media.phone-failed",
350
+ "media.phone-timeout",
351
+ "media.retry-failed",
352
+ "engine.stopped",
151
353
  ]);
152
354
  export const engineError = v.strictObject({
153
355
  code: engineErrorCode,
154
356
  message: v.string(),
155
357
  reason: v.optional(engineReason),
358
+ /** When a temporary ban ends, if WhatsApp said. */
359
+ until: v.optional(time),
156
360
  });
157
361
  /** The engine's first line: its protocol and the linked account (`self()`), or `null` before a login. */
158
362
  export const hello = v.strictObject({
@@ -168,6 +372,13 @@ export const waChatCard = v.strictObject({ chat: waChat, members: v.nullable(v.a
168
372
  * phone. Either one links the account for as long as it is valid, so it is shown and never stored or logged.
169
373
  */
170
374
  export const loginCode = v.strictObject({ login: v.picklist(["qr", "pair"]), code: v.pipe(v.string(), v.nonEmpty()) });
375
+ /** A message key as the engine reads it from a request. */
376
+ export const keyFields = ({ chat, id, fromMe, sender }) => ({
377
+ chat,
378
+ message: id,
379
+ fromMe,
380
+ ...(sender === null ? {} : { sender }),
381
+ });
171
382
  /** The most messages one `older` request asks the phone for, as WhatsApp's own clients ask. */
172
383
  export const OLDER_MAX = 50;
173
384
  /**
@@ -177,10 +388,14 @@ export const OLDER_MAX = 50;
177
388
  export class EngineError extends Error {
178
389
  code;
179
390
  reason;
180
- constructor(code, message, reason) {
391
+ until;
392
+ constructor(code, message, reason,
393
+ /** When a temporary ban ends, if WhatsApp said. */
394
+ until) {
181
395
  super(message);
182
396
  this.code = code;
183
397
  this.reason = reason;
398
+ this.until = until;
184
399
  }
185
400
  }
186
401
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"go-engine.d.ts","sourceRoot":"","sources":["../../src/engine/go-engine.ts"],"names":[],"mappings":"AAIA,OAAO,EAWL,KAAK,cAAc,EAMpB,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,wDAAwD;IACxD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,oFAAoF;IACpF,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3C;AAkDD;;;GAGG;AACH,eAAO,MAAM,aAAa,YAAmB,eAAe,KAAG,OAAO,CAAC,cAAc,CAgLpF,CAAA"}
1
+ {"version":3,"file":"go-engine.d.ts","sourceRoot":"","sources":["../../src/engine/go-engine.ts"],"names":[],"mappings":"AAKA,OAAO,EAaL,KAAK,cAAc,EAOpB,MAAM,eAAe,CAAA;AAMtB,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,wDAAwD;IACxD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,oFAAoF;IACpF,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3C;AA4BD;;;GAGG;AACH,eAAO,MAAM,aAAa,YAAmB,eAAe,KAAG,OAAO,CAAC,cAAc,CAkMpF,CAAA"}
@@ -2,33 +2,15 @@ import { spawn } from "node:child_process";
2
2
  import { createInterface } from "node:readline";
3
3
  import * as v from "valibot";
4
4
  import { engineBinary, enginePackage } from "../engine-binary.js";
5
- import { EngineError, engineError, engineEvent, hello, loginCode, PROTOCOL, waAccount, waChat, waChatCard, waMessage, waOlder, } from "./contract.js";
5
+ import { goChannels } from "./channels.js";
6
+ import { EngineError, engineError, engineEvent, hello, isWrite, keyFields, loginCode, PROTOCOL, waAccount, waChat, waChatCard, waDownloaded, waMessage, waOlder, } from "./contract.js";
6
7
  import { eventHub } from "./events.js";
7
8
  import { goGroups } from "./groups.js";
9
+ import { goPrivacy } from "./privacy.js";
10
+ import { goSettings } from "./settings.js";
8
11
  const HELLO_WAIT_MS = 15_000;
9
12
  const CLOSE_WAIT_MS = 5_000;
10
13
  const STOPPED = () => new EngineError("provider_unavailable", "the WhatsApp engine stopped unexpectedly", "engine.stopped");
11
- /** Requests that change something on WhatsApp: cut by the engine's end, they may have gone out. */
12
- const WRITES = new Set([
13
- "send",
14
- "sendMedia",
15
- "forward",
16
- "edit",
17
- "revoke",
18
- "react",
19
- "read",
20
- "createPoll",
21
- "vote",
22
- "createGroup",
23
- "join",
24
- "leave",
25
- "updateGroup",
26
- "resetLink",
27
- "participants",
28
- "answerRequest",
29
- "block",
30
- "logout",
31
- ]);
32
14
  const CUT = () => new EngineError("outcome_unknown", "the WhatsApp engine stopped before WhatsApp confirmed the change; it may have gone through — check first", "engine.stopped-mid-write");
33
15
  const missing = () => new EngineError("provider_unavailable", `the WhatsApp engine is not installed — ${enginePackage()} is missing: reinstall @wirecat/whatsapp-cli ` +
34
16
  "without --omit=optional, or set WA_ENGINE to the engine's path");
@@ -64,7 +46,7 @@ export const startGoEngine = async (options) => {
64
46
  const failAll = (error) => {
65
47
  greet?.reject(error());
66
48
  for (const waiting of pending.values())
67
- waiting.reject(WRITES.has(waiting.op) ? CUT() : error());
49
+ waiting.reject(isWrite(waiting.op) ? CUT() : error());
68
50
  pending.clear();
69
51
  };
70
52
  child.once("error", (error) => {
@@ -99,7 +81,7 @@ export const startGoEngine = async (options) => {
99
81
  }
100
82
  else if ("refused" in value) {
101
83
  const refused = v.parse(engineError, value.refused);
102
- greet?.reject(new EngineError(refused.code, refused.message, refused.reason));
84
+ greet?.reject(new EngineError(refused.code, refused.message, refused.reason, refused.until));
103
85
  }
104
86
  else if ("login" in value) {
105
87
  onCode?.(v.parse(loginCode, value));
@@ -118,7 +100,7 @@ export const startGoEngine = async (options) => {
118
100
  return;
119
101
  if ("error" in value) {
120
102
  const refused = v.parse(engineError, value.error);
121
- waiting.reject(new EngineError(refused.code, refused.message, refused.reason));
103
+ waiting.reject(new EngineError(refused.code, refused.message, refused.reason, refused.until));
122
104
  }
123
105
  else
124
106
  waiting.resolve(value.ok);
@@ -161,6 +143,7 @@ export const startGoEngine = async (options) => {
161
143
  }
162
144
  let connecting;
163
145
  const nothing = v.nullable(v.unknown());
146
+ const jidAnswer = v.pipe(v.string(), v.includes("@"));
164
147
  return {
165
148
  self: () => self,
166
149
  ready: async (signal) => {
@@ -182,15 +165,20 @@ export const startGoEngine = async (options) => {
182
165
  await request("read", keyFields(key), nothing);
183
166
  },
184
167
  sendMedia: ({ chat, text, id, replyTo, quoted, file }) => request("sendMedia", { chat, text, sendId: id, file, ...replyFields(replyTo, quoted) }, waMessage),
185
- download: async (attachment, path) => {
186
- await request("download", { attachment, path }, nothing);
187
- },
168
+ sendAlbum: ({ chat, text, id, replyTo, quoted, files }) => request("sendAlbum", { chat, text, sendId: id, files, ...replyFields(replyTo, quoted) }, waMessage),
169
+ download: (attachment, path, key) => request("download", { attachment, path, ...keyFields(key) }, waDownloaded),
188
170
  forward: ({ chat, id, text, attachment }) => request("forward", { chat, sendId: id, text, ...(attachment ? { attachment } : {}) }, waMessage),
189
171
  older: (anchor, count) => request("older", { ...keyFields(anchor), timestamp: anchor.timestamp, count }, waOlder),
190
172
  createPoll: ({ chat, id, question, answers, multiple }) => request("createPoll", { chat, sendId: id, question, answers, ...(multiple ? { multiple } : {}) }, waMessage),
191
173
  vote: async (key, answers) => {
192
174
  await request("vote", { ...keyFields(key), answers }, nothing);
193
175
  },
176
+ pin: async (key, duration) => {
177
+ await request("pin", { ...keyFields(key), ...(duration === undefined ? {} : { duration }) }, nothing);
178
+ },
179
+ unpin: async (key) => {
180
+ await request("unpin", keyFields(key), nothing);
181
+ },
194
182
  link: async (linking, show) => {
195
183
  onCode = show;
196
184
  try {
@@ -206,9 +194,16 @@ export const startGoEngine = async (options) => {
206
194
  await request("logout", {}, nothing);
207
195
  self = null;
208
196
  },
197
+ storedChats: async (chats, recipients) => {
198
+ await request("storedChats", { chats, ...(recipients?.length ? { recipients } : {}) }, nothing);
199
+ },
200
+ canonicalChat: (jid) => request("canonicalChat", { jid }, jidAnswer),
209
201
  listen: (kinds, onEvent) => hub.listen(kinds, onEvent),
210
202
  close,
211
203
  ...goGroups(request),
204
+ ...goPrivacy(request),
205
+ ...goSettings(request),
206
+ ...goChannels(request),
212
207
  };
213
208
  };
214
209
  const replyFields = (replyTo, quoted) => ({
@@ -223,12 +218,6 @@ const replyFields = (replyTo, quoted) => ({
223
218
  },
224
219
  }),
225
220
  });
226
- const keyFields = ({ chat, id, fromMe, sender }) => ({
227
- chat,
228
- message: id,
229
- fromMe,
230
- ...(sender === null ? {} : { sender }),
231
- });
232
221
  const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms).unref());
233
222
  const aborted = (signal) => new Promise((resolve) => {
234
223
  if (signal.aborted)
@@ -1 +1 @@
1
- {"version":3,"file":"go-engine.js","sourceRoot":"","sources":["../../src/engine/go-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"go-engine.js","sourceRoot":"","sources":["../../src/engine/go-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EACL,WAAW,EAEX,WAAW,EACX,WAAW,EACX,KAAK,EACL,OAAO,EACP,SAAS,EAET,SAAS,EACT,QAAQ,EAIR,SAAS,EACT,MAAM,EACN,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,GACR,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAgB1C,MAAM,aAAa,GAAG,MAAM,CAAA;AAC5B,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,WAAW,CAAC,sBAAsB,EAAE,0CAA0C,EAAE,gBAAgB,CAAC,CAAA;AAEvG,MAAM,GAAG,GAAG,GAAG,EAAE,CACf,IAAI,WAAW,CACb,iBAAiB,EACjB,0GAA0G,EAC1G,0BAA0B,CAC3B,CAAA;AAEH,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,WAAW,CACb,sBAAsB,EACtB,0CAA0C,aAAa,EAAE,+CAA+C;IACtG,gEAAgE,CACnE,CAAA;AAQH;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAAwB,EAA2B,EAAE;IACvF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IACxE,MAAM,IAAI,GAAG;QACX,GAAG,OAAO,CAAC,IAAI;QACf,SAAS;QACT,OAAO,CAAC,SAAS;QACjB,UAAU;QACV,OAAO,CAAC,MAAM;QACd,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAA;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IACpG,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,IAAI,GAAkB,IAAI,CAAA;IAC9B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,MAA+C,CAAA;IACnD,IAAI,KAA0E,CAAA;IAC9E,2DAA2D;IAC3D,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QACpC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,CAAC,KAAkB,EAAE,EAAE;QACrC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QACtB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAC7F,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC,CAAA;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QACnD,MAAM,GAAG,IAAI,CAAA;QACb,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IACF,uGAAuG;IACvG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QACvB,MAAM,GAAG,IAAI,CAAA;QACb,OAAO,CAAC,OAAO,CAAC,CAAA;QAChB,IAAI,CAAC,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IACF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAClC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAA+B,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAE5G,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,IAAI,KAA8B,CAAA;QAClC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,EAAE,MAAM,CACX,IAAI,WAAW,CACb,sBAAsB,EACtB,uCAAuC,IAAI,CAAC,QAAQ,mBAAmB,QAAQ,iBAAiB,CACjG,CACF,CAAA;gBACD,OAAM;YACR,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YAChB,KAAK,EAAE,OAAO,EAAE,CAAA;QAClB,CAAC;aAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACnD,KAAK,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9F,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YAC7C,IAAI,KAAK,CAAC,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;;gBACpC,OAAO,CAAC,IAAI,EAAE,CAAC,uEAAuE,CAAC,CAAA;QAC9F,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACxB,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;gBACjD,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/F,CAAC;;gBAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC,CAAA;IACD,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAA+B,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEpF,MAAM,OAAO,GAAG,CACd,EAAY,EACZ,MAA+B,EAC/B,MAAmC,EACvB,EAAE;QACd,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;QACnB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAClG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;QAChE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,OAAO;YAAE,OAAO,IAAI,CAAA;QACxB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAC/D,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAA;YAClB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;YAClE,IAAI,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,MAAM,IAAI,CAAA;IACZ,CAAC,CAAA;IAED,IAAI,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,KAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;YAC3B,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC,EACrF,aAAa,CACd,CAAC,KAAK,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,EAAE,CAAA;QACb,MAAM,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACT,KAAK,GAAG,SAAS,CAAA;IACnB,CAAC;IAED,IAAI,UAAwC,CAAA;IAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IAErD,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtB,UAAU,KAAK,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAC9C,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACnD,CAAC;QACD,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC;QACtC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC;QACnD,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAC5C,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC;QACzF,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;QAC5E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACpB,MAAM,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QAClD,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YAC1B,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;QAC/D,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACtB,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;QACD,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CACvD,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC;QACpG,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CACxD,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC;QACrG,QAAQ,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC;QAC/G,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1C,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC;QAClG,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;QACjH,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CACxD,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC;QAC9G,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YAC3B,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC3B,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACvG,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,MAAM,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAsB,EAAE;YAChD,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;gBAChE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAA;gBAClB,OAAO,OAAO,CAAA;YAChB,CAAC;oBAAS,CAAC;gBACT,MAAM,GAAG,SAAS,CAAA;YACpB,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YACpC,IAAI,GAAG,IAAI,CAAA;QACb,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACvC,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACjG,CAAC;QACD,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;QACpE,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QACtD,KAAK;QACL,GAAG,QAAQ,CAAC,OAAO,CAAC;QACpB,GAAG,SAAS,CAAC,OAAO,CAAC;QACrB,GAAG,UAAU,CAAC,OAAO,CAAC;QACtB,GAAG,UAAU,CAAC,OAAO,CAAC;KACvB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,OAA2B,EAAE,MAA2B,EAAE,EAAE,CAAC,CAAC;IACjF,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,GAAG,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;aAC7D;SACF,CAAC;CACP,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;AAE7F,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAE,EAAE,CACtC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IAC5B,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAC7B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA"}