@leemour/max-cli 0.9.0 → 0.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 (302) hide show
  1. package/README.md +24 -3
  2. package/dist/backup.d.ts +28 -0
  3. package/dist/backup.d.ts.map +1 -0
  4. package/dist/backup.js +47 -0
  5. package/dist/backup.js.map +1 -0
  6. package/dist/cache/drivers/bun-sqlite.d.ts.map +1 -1
  7. package/dist/cache/drivers/node-sqlite.d.ts.map +1 -1
  8. package/dist/cache/index.d.ts.map +1 -1
  9. package/dist/cache/index.js +10 -4
  10. package/dist/cache/index.js.map +1 -1
  11. package/dist/cache/open.d.ts.map +1 -1
  12. package/dist/cache/schema.d.ts.map +1 -1
  13. package/dist/cache/store.d.ts +7 -0
  14. package/dist/cache/store.d.ts.map +1 -1
  15. package/dist/cache/store.js +8 -0
  16. package/dist/cache/store.js.map +1 -1
  17. package/dist/client.d.ts +73 -3
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +354 -66
  20. package/dist/client.js.map +1 -1
  21. package/dist/commands/backup.d.ts +3 -0
  22. package/dist/commands/backup.d.ts.map +1 -0
  23. package/dist/commands/backup.js +101 -0
  24. package/dist/commands/backup.js.map +1 -0
  25. package/dist/commands/body.d.ts.map +1 -1
  26. package/dist/commands/body.js.map +1 -1
  27. package/dist/commands/cache.d.ts.map +1 -1
  28. package/dist/commands/cache.js +6 -5
  29. package/dist/commands/cache.js.map +1 -1
  30. package/dist/commands/chats.js +2 -2
  31. package/dist/commands/chats.js.map +1 -1
  32. package/dist/commands/complete.d.ts.map +1 -1
  33. package/dist/commands/complete.js +28 -22
  34. package/dist/commands/complete.js.map +1 -1
  35. package/dist/commands/config.d.ts.map +1 -1
  36. package/dist/commands/config.js +5 -1
  37. package/dist/commands/config.js.map +1 -1
  38. package/dist/commands/contacts.d.ts.map +1 -1
  39. package/dist/commands/context.d.ts +4 -0
  40. package/dist/commands/context.d.ts.map +1 -1
  41. package/dist/commands/context.js +7 -15
  42. package/dist/commands/context.js.map +1 -1
  43. package/dist/commands/doctor.d.ts.map +1 -1
  44. package/dist/commands/doctor.js +136 -15
  45. package/dist/commands/doctor.js.map +1 -1
  46. package/dist/commands/folders.js.map +1 -1
  47. package/dist/commands/mcp.js +3 -3
  48. package/dist/commands/mcp.js.map +1 -1
  49. package/dist/commands/messages.d.ts.map +1 -1
  50. package/dist/commands/messages.js +6 -4
  51. package/dist/commands/messages.js.map +1 -1
  52. package/dist/commands/models.d.ts.map +1 -1
  53. package/dist/commands/models.js +29 -23
  54. package/dist/commands/models.js.map +1 -1
  55. package/dist/commands/paging.d.ts.map +1 -1
  56. package/dist/commands/recipients.d.ts.map +1 -1
  57. package/dist/commands/recipients.js +25 -17
  58. package/dist/commands/recipients.js.map +1 -1
  59. package/dist/commands/sends.d.ts.map +1 -1
  60. package/dist/commands/sends.js +8 -6
  61. package/dist/commands/sends.js.map +1 -1
  62. package/dist/commands/serve.d.ts +12 -0
  63. package/dist/commands/serve.d.ts.map +1 -1
  64. package/dist/commands/serve.js +10 -7
  65. package/dist/commands/serve.js.map +1 -1
  66. package/dist/commands/server.d.ts +7 -0
  67. package/dist/commands/server.d.ts.map +1 -0
  68. package/dist/commands/server.js +84 -0
  69. package/dist/commands/server.js.map +1 -0
  70. package/dist/commands/session.d.ts.map +1 -1
  71. package/dist/commands/session.js +10 -10
  72. package/dist/commands/session.js.map +1 -1
  73. package/dist/commands/skill.js.map +1 -1
  74. package/dist/commands/watch.d.ts +17 -0
  75. package/dist/commands/watch.d.ts.map +1 -1
  76. package/dist/commands/watch.js +73 -38
  77. package/dist/commands/watch.js.map +1 -1
  78. package/dist/config.d.ts +5 -3
  79. package/dist/config.d.ts.map +1 -1
  80. package/dist/config.js +19 -2
  81. package/dist/config.js.map +1 -1
  82. package/dist/deadline.d.ts.map +1 -1
  83. package/dist/diagnose.d.ts +17 -3
  84. package/dist/diagnose.d.ts.map +1 -1
  85. package/dist/diagnose.js +16 -4
  86. package/dist/diagnose.js.map +1 -1
  87. package/dist/domain/map.d.ts.map +1 -1
  88. package/dist/domain/map.js.map +1 -1
  89. package/dist/domain/models.d.ts +20 -0
  90. package/dist/domain/models.d.ts.map +1 -1
  91. package/dist/domain/models.js.map +1 -1
  92. package/dist/download.d.ts +22 -3
  93. package/dist/download.d.ts.map +1 -1
  94. package/dist/download.js +133 -27
  95. package/dist/download.js.map +1 -1
  96. package/dist/export.d.ts +10 -4
  97. package/dist/export.d.ts.map +1 -1
  98. package/dist/export.js +26 -18
  99. package/dist/export.js.map +1 -1
  100. package/dist/generated/client.generated.d.ts +10 -0
  101. package/dist/generated/client.generated.d.ts.map +1 -1
  102. package/dist/generated/client.generated.js +10 -0
  103. package/dist/generated/client.generated.js.map +1 -1
  104. package/dist/generated/opcodes.generated.d.ts +4 -0
  105. package/dist/generated/opcodes.generated.d.ts.map +1 -1
  106. package/dist/generated/opcodes.generated.js +4 -0
  107. package/dist/generated/opcodes.generated.js.map +1 -1
  108. package/dist/generated/operations.generated.d.ts +35 -1
  109. package/dist/generated/operations.generated.d.ts.map +1 -1
  110. package/dist/generated/operations.generated.js +8 -1
  111. package/dist/generated/operations.generated.js.map +1 -1
  112. package/dist/markdown.d.ts.map +1 -1
  113. package/dist/mcp/confirm.d.ts +19 -11
  114. package/dist/mcp/confirm.d.ts.map +1 -1
  115. package/dist/mcp/confirm.js +53 -29
  116. package/dist/mcp/confirm.js.map +1 -1
  117. package/dist/mcp/instructions.d.ts.map +1 -1
  118. package/dist/mcp/server.d.ts.map +1 -1
  119. package/dist/mcp/session.d.ts.map +1 -1
  120. package/dist/mcp/session.js.map +1 -1
  121. package/dist/mcp/tools.d.ts.map +1 -1
  122. package/dist/mcp/tools.js +9 -4
  123. package/dist/mcp/tools.js.map +1 -1
  124. package/dist/output.d.ts.map +1 -1
  125. package/dist/output.js +24 -2
  126. package/dist/output.js.map +1 -1
  127. package/dist/profile.d.ts.map +1 -1
  128. package/dist/program.d.ts.map +1 -1
  129. package/dist/program.js +55 -5
  130. package/dist/program.js.map +1 -1
  131. package/dist/protocol/connection.d.ts +2 -0
  132. package/dist/protocol/connection.d.ts.map +1 -1
  133. package/dist/protocol/connection.js +27 -5
  134. package/dist/protocol/connection.js.map +1 -1
  135. package/dist/protocol/frame.d.ts +2 -0
  136. package/dist/protocol/frame.d.ts.map +1 -1
  137. package/dist/protocol/frame.js +3 -1
  138. package/dist/protocol/frame.js.map +1 -1
  139. package/dist/protocol/lz4.d.ts.map +1 -1
  140. package/dist/protocol/lz4.js +8 -5
  141. package/dist/protocol/lz4.js.map +1 -1
  142. package/dist/rendering/messages.d.ts.map +1 -1
  143. package/dist/rendering/messages.js +9 -10
  144. package/dist/rendering/messages.js.map +1 -1
  145. package/dist/report.d.ts +43 -0
  146. package/dist/report.d.ts.map +1 -0
  147. package/dist/report.js +91 -0
  148. package/dist/report.js.map +1 -0
  149. package/dist/resolve.d.ts +4 -3
  150. package/dist/resolve.d.ts.map +1 -1
  151. package/dist/resolve.js +9 -10
  152. package/dist/resolve.js.map +1 -1
  153. package/dist/runs/events.d.ts +21 -1
  154. package/dist/runs/events.d.ts.map +1 -1
  155. package/dist/runs/events.js +14 -1
  156. package/dist/runs/events.js.map +1 -1
  157. package/dist/runs/recording.d.ts +12 -0
  158. package/dist/runs/recording.d.ts.map +1 -1
  159. package/dist/runs/recording.js +83 -22
  160. package/dist/runs/recording.js.map +1 -1
  161. package/dist/runs/run.d.ts +11 -0
  162. package/dist/runs/run.d.ts.map +1 -1
  163. package/dist/runs/run.js +8 -1
  164. package/dist/runs/run.js.map +1 -1
  165. package/dist/sends/guard.d.ts +35 -4
  166. package/dist/sends/guard.d.ts.map +1 -1
  167. package/dist/sends/guard.js +128 -28
  168. package/dist/sends/guard.js.map +1 -1
  169. package/dist/sends/journal.d.ts +17 -3
  170. package/dist/sends/journal.d.ts.map +1 -1
  171. package/dist/sends/journal.js +62 -2
  172. package/dist/sends/journal.js.map +1 -1
  173. package/dist/sends/permissions.d.ts.map +1 -1
  174. package/dist/sends/permissions.js.map +1 -1
  175. package/dist/sends/recipients.d.ts +3 -1
  176. package/dist/sends/recipients.d.ts.map +1 -1
  177. package/dist/sends/recipients.js +7 -2
  178. package/dist/sends/recipients.js.map +1 -1
  179. package/dist/server/lines.d.ts +8 -2
  180. package/dist/server/lines.d.ts.map +1 -1
  181. package/dist/server/lines.js +13 -2
  182. package/dist/server/lines.js.map +1 -1
  183. package/dist/server/server-connection.d.ts +9 -6
  184. package/dist/server/server-connection.d.ts.map +1 -1
  185. package/dist/server/server-connection.js +16 -7
  186. package/dist/server/server-connection.js.map +1 -1
  187. package/dist/server/server.d.ts +21 -4
  188. package/dist/server/server.d.ts.map +1 -1
  189. package/dist/server/server.js +154 -17
  190. package/dist/server/server.js.map +1 -1
  191. package/dist/server/start.d.ts +3 -1
  192. package/dist/server/start.d.ts.map +1 -1
  193. package/dist/server/start.js +6 -1
  194. package/dist/server/start.js.map +1 -1
  195. package/dist/server/subscribe.d.ts.map +1 -1
  196. package/dist/session/adopt.d.ts.map +1 -1
  197. package/dist/session/browser.d.ts.map +1 -1
  198. package/dist/session/browser.js.map +1 -1
  199. package/dist/session/handshake.d.ts +17 -3
  200. package/dist/session/handshake.d.ts.map +1 -1
  201. package/dist/session/handshake.js +11 -5
  202. package/dist/session/handshake.js.map +1 -1
  203. package/dist/session/login.d.ts.map +1 -1
  204. package/dist/session/prompt.d.ts.map +1 -1
  205. package/dist/session/prompt.js +7 -1
  206. package/dist/session/prompt.js.map +1 -1
  207. package/dist/session/qr-terminal.d.ts.map +1 -1
  208. package/dist/session/store.d.ts +18 -1
  209. package/dist/session/store.d.ts.map +1 -1
  210. package/dist/session/store.js +32 -1
  211. package/dist/session/store.js.map +1 -1
  212. package/dist/spec/check.d.ts.map +1 -1
  213. package/dist/spec/define.d.ts +12 -0
  214. package/dist/spec/define.d.ts.map +1 -1
  215. package/dist/spec/define.js.map +1 -1
  216. package/dist/spec/guards.d.ts +16 -0
  217. package/dist/spec/guards.d.ts.map +1 -0
  218. package/dist/spec/guards.js +30 -0
  219. package/dist/spec/guards.js.map +1 -0
  220. package/dist/spec/identity.d.ts +39 -6
  221. package/dist/spec/identity.d.ts.map +1 -1
  222. package/dist/spec/identity.js +41 -12
  223. package/dist/spec/identity.js.map +1 -1
  224. package/dist/spec/index.d.ts.map +1 -1
  225. package/dist/spec/index.js +8 -1
  226. package/dist/spec/index.js.map +1 -1
  227. package/dist/spec/operations/account.d.ts.map +1 -1
  228. package/dist/spec/operations/account.js +3 -0
  229. package/dist/spec/operations/account.js.map +1 -1
  230. package/dist/spec/operations/assets.d.ts +10 -0
  231. package/dist/spec/operations/assets.d.ts.map +1 -0
  232. package/dist/spec/operations/assets.js +20 -0
  233. package/dist/spec/operations/assets.js.map +1 -0
  234. package/dist/spec/operations/attachments.d.ts.map +1 -1
  235. package/dist/spec/operations/attachments.js +2 -0
  236. package/dist/spec/operations/attachments.js.map +1 -1
  237. package/dist/spec/operations/banners.d.ts +7 -0
  238. package/dist/spec/operations/banners.d.ts.map +1 -0
  239. package/dist/spec/operations/banners.js +16 -0
  240. package/dist/spec/operations/banners.js.map +1 -0
  241. package/dist/spec/operations/calls.d.ts +8 -0
  242. package/dist/spec/operations/calls.d.ts.map +1 -0
  243. package/dist/spec/operations/calls.js +18 -0
  244. package/dist/spec/operations/calls.js.map +1 -0
  245. package/dist/spec/operations/chats.d.ts +5 -3
  246. package/dist/spec/operations/chats.d.ts.map +1 -1
  247. package/dist/spec/operations/chats.js +58 -9
  248. package/dist/spec/operations/chats.js.map +1 -1
  249. package/dist/spec/operations/contacts.d.ts.map +1 -1
  250. package/dist/spec/operations/contacts.js +8 -0
  251. package/dist/spec/operations/contacts.js.map +1 -1
  252. package/dist/spec/operations/folders.d.ts.map +1 -1
  253. package/dist/spec/operations/folders.js +5 -0
  254. package/dist/spec/operations/folders.js.map +1 -1
  255. package/dist/spec/operations/login.d.ts.map +1 -1
  256. package/dist/spec/operations/login.js +6 -0
  257. package/dist/spec/operations/login.js.map +1 -1
  258. package/dist/spec/operations/messages.d.ts.map +1 -1
  259. package/dist/spec/operations/messages.js +50 -0
  260. package/dist/spec/operations/messages.js.map +1 -1
  261. package/dist/spec/operations/session.d.ts +28 -1
  262. package/dist/spec/operations/session.d.ts.map +1 -1
  263. package/dist/spec/operations/session.js +47 -1
  264. package/dist/spec/operations/session.js.map +1 -1
  265. package/dist/spec/operations/uploads.d.ts.map +1 -1
  266. package/dist/spec/operations/uploads.js +2 -0
  267. package/dist/spec/operations/uploads.js.map +1 -1
  268. package/dist/spec/scalars.d.ts.map +1 -1
  269. package/dist/transcribe/index.d.ts.map +1 -1
  270. package/dist/transcribe/index.js +4 -1
  271. package/dist/transcribe/index.js.map +1 -1
  272. package/dist/transcribe/install.d.ts +3 -1
  273. package/dist/transcribe/install.d.ts.map +1 -1
  274. package/dist/transcribe/install.js +24 -1
  275. package/dist/transcribe/install.js.map +1 -1
  276. package/dist/transcribe/models.d.ts.map +1 -1
  277. package/dist/transcribe/speech.d.ts.map +1 -1
  278. package/dist/transcribe/speech.js.map +1 -1
  279. package/dist/update.d.ts.map +1 -1
  280. package/dist/update.js.map +1 -1
  281. package/dist/upload.d.ts +3 -1
  282. package/dist/upload.d.ts.map +1 -1
  283. package/dist/upload.js +34 -4
  284. package/dist/upload.js.map +1 -1
  285. package/dist/version.d.ts +1 -1
  286. package/dist/version.d.ts.map +1 -1
  287. package/dist/version.js +1 -1
  288. package/dist/version.js.map +1 -1
  289. package/package.json +18 -15
  290. package/skills/max-cli/SKILL.md +12 -1
  291. package/dist/testing/mock-max.d.ts +0 -49
  292. package/dist/testing/mock-max.d.ts.map +0 -1
  293. package/dist/testing/mock-max.js +0 -80
  294. package/dist/testing/mock-max.js.map +0 -1
  295. package/dist/testing/sandbox.d.ts +0 -2
  296. package/dist/testing/sandbox.d.ts.map +0 -1
  297. package/dist/testing/sandbox.js +0 -36
  298. package/dist/testing/sandbox.js.map +0 -1
  299. package/dist/testing/unscripted.d.ts +0 -2
  300. package/dist/testing/unscripted.d.ts.map +0 -1
  301. package/dist/testing/unscripted.js +0 -18
  302. package/dist/testing/unscripted.js.map +0 -1
@@ -5,20 +5,49 @@
5
5
  * none of these values names this tool. Fields, their order and the versions are what web.max.ru
6
6
  * sent on 2026-09-25 (`src/testing/fixtures/web-capture-2026-09-25.json`, the INIT frame).
7
7
  *
8
+ * **Built from this machine, as the web client builds it from the browser** (`MAX-55`): timezone
9
+ * from `Intl`, the language from the system, the OS and the matching Chrome user agent from the
10
+ * platform. A fixed value would give every install of a public package the same Madrid-and-Linux
11
+ * browser. How web.max.ru fills each field: `docs/dev/capture/2026-09-25-web-tab.md`.
12
+ *
8
13
  * The device identity is deliberately not here: it is generated once per profile and stored,
9
14
  * because a client presenting a new device on every command is not imitating anything.
10
15
  */
11
- export const WEB_USER_AGENT = {
12
- deviceType: "WEB",
13
- pushDeviceType: "WEBPUSH",
14
- locale: "ru",
15
- deviceLocale: "ru",
16
- osVersion: "Linux",
17
- deviceName: "Chrome",
18
- headerUserAgent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36",
19
- isPwa: false,
20
- appVersion: "26.9.8",
21
- screen: "1080x1920 1.0x",
22
- timezone: "Europe/Madrid",
16
+ const CHROME = "Chrome/151.0.0.0";
17
+ const APP_VERSION = "26.9.8";
18
+ /**
19
+ * When `APP_VERSION` and `CHROME` were read from a live tab. MAX refuses a client version it has
20
+ * dropped (PyMax #86), so `max doctor` reports their age (`MAX-39`); a release updates all three.
21
+ */
22
+ export const CLIENT = { appVersion: APP_VERSION, chrome: CHROME, readOn: "2026-09-25" };
23
+ /** Chrome's reduced user agent keeps one frozen OS string per platform. */
24
+ const PLATFORMS = {
25
+ linux: { osVersion: "Linux", system: "X11; Linux x86_64", screen: "1080x1920 1.0x" },
26
+ darwin: { osVersion: "macOS", system: "Macintosh; Intel Mac OS X 10_15_7", screen: "900x1440 2.0x" },
27
+ win32: { osVersion: "Windows", system: "Windows NT 10.0; Win64; x64", screen: "1080x1920 1.0x" },
28
+ };
29
+ /** The languages the MAX interface itself offers; anything else falls back to Russian, as the app does. */
30
+ const APP_LANGUAGES = new Set(["ru", "en"]);
31
+ export const thisHost = () => {
32
+ const options = Intl.DateTimeFormat().resolvedOptions();
33
+ return { platform: process.platform, timeZone: options.timeZone, locale: options.locale };
34
+ };
35
+ export const webUserAgent = ({ platform, timeZone, locale }) => {
36
+ const host = PLATFORMS[platform] ?? PLATFORMS.linux;
37
+ const language = locale?.slice(0, 2).toLowerCase() || "ru";
38
+ return {
39
+ deviceType: "WEB",
40
+ pushDeviceType: "WEBPUSH",
41
+ locale: APP_LANGUAGES.has(language) ? language : "ru",
42
+ deviceLocale: language,
43
+ osVersion: host.osVersion,
44
+ deviceName: "Chrome",
45
+ headerUserAgent: `Mozilla/5.0 (${host.system}) AppleWebKit/537.36 (KHTML, like Gecko) ${CHROME} Safari/537.36`,
46
+ isPwa: false,
47
+ appVersion: APP_VERSION,
48
+ screen: host.screen,
49
+ timezone: timeZone || "Europe/Moscow",
50
+ };
23
51
  };
52
+ export const WEB_USER_AGENT = webUserAgent(thisHost());
24
53
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/spec/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,SAAS;IACzB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,QAAQ;IACpB,eAAe,EACb,uGAAuG;IACzG,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,eAAe;CACjB,CAAA"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/spec/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,GAAG,kBAAkB,CAAA;AACjC,MAAM,WAAW,GAAG,QAAQ,CAAA;AAE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAW,CAAA;AAEhG,2EAA2E;AAC3E,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACpF,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,eAAe,EAAE;IACpG,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,gBAAgB,EAAE;CACxF,CAAA;AAEV,2GAA2G;AAC3G,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAQ3C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAS,EAAE;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAA;IACvD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;AAC3F,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAQ,EAAE,EAAE;IACnE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAkC,CAAC,IAAI,SAAS,CAAC,KAAK,CAAA;IAC7E,MAAM,QAAQ,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,CAAA;IAC1D,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,SAAS;QACzB,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACrD,YAAY,EAAE,QAAQ;QACtB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,gBAAgB,IAAI,CAAC,MAAM,4CAA4C,MAAM,gBAAgB;QAC9G,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,WAAW;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,QAAQ,IAAI,eAAe;KAC7B,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAqChE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAE5B;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,EAAE,SAAS,KAAK,EA2ChC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAA2E,CAAA;AAEtH,eAAO,MAAM,YAAY,EAAE,SAAS,WAAW,EAE9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAwChE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAE5B;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,EAAE,SAAS,KAAK,EA+ChC,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,SAAS,EAA2E,CAAA;AAEtH,eAAO,MAAM,YAAY,EAAE,SAAS,WAAW,EAE9C,CAAA"}
@@ -1,11 +1,14 @@
1
1
  import { accountCloseSessions, accountSessions, accountUpdate } from "./operations/account.js";
2
+ import { assetsUpdate } from "./operations/assets.js";
2
3
  import { attachmentsFile, attachmentsVideo } from "./operations/attachments.js";
4
+ import { bannersList } from "./operations/banners.js";
5
+ import { callsHistory } from "./operations/calls.js";
3
6
  import { chatDelete, chatsHistory, chatsJoin, chatsLeave, chatsLinkInfo, chatsList, chatsMark, chatsMembers, chatsUpdate, chatsUpdateMembers, } from "./operations/chats.js";
4
7
  import { contactsByPhone, contactsImport, contactsInfo, contactsUpdate, unidentified36 } from "./operations/contacts.js";
5
8
  import { foldersDelete, foldersList, foldersUpdate } from "./operations/folders.js";
6
9
  import { loginByQr, loginPassword, loginQrRequest, loginQrStatus, loginSmsCode, loginSmsRequest, qrApprove, } from "./operations/login.js";
7
10
  import { messagesDelete, messagesEdit, messagesReact, messagesReactions, messagesSend, messagesUnreact, } from "./operations/messages.js";
8
- import { logout, sessionInit, sessionLogin, sessionPing } from "./operations/session.js";
11
+ import { logout, sessionInit, sessionLog, sessionLogin, sessionPing } from "./operations/session.js";
9
12
  import { uploadsFile, uploadsPhoto } from "./operations/uploads.js";
10
13
  export { checkResponse } from "./check.js";
11
14
  export * from "./define.js";
@@ -21,6 +24,7 @@ export const spec = [
21
24
  sessionInit,
22
25
  sessionLogin,
23
26
  sessionPing,
27
+ sessionLog,
24
28
  logout,
25
29
  loginQrRequest,
26
30
  loginQrStatus,
@@ -40,6 +44,9 @@ export const spec = [
40
44
  foldersList,
41
45
  foldersUpdate,
42
46
  foldersDelete,
47
+ bannersList,
48
+ callsHistory,
49
+ assetsUpdate,
43
50
  chatsHistory,
44
51
  chatsMark,
45
52
  chatsList,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACxH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACnF,OAAO,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,SAAS,GACV,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACxF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAqB;IACpC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,MAAM;IACN,cAAc;IACd,aAAa;IACb,SAAS;IACT,SAAS;IACT,eAAe;IACf,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,eAAe;IACf,cAAc;IACd,cAAc;IACd,cAAc;IACd,aAAa;IACb,eAAe;IACf,oBAAoB;IACpB,WAAW;IACX,aAAa;IACb,aAAa;IACb,YAAY;IACZ,SAAS;IACT,SAAS;IACT,aAAa;IACb,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,WAAW;CACZ,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAyB,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;AAEtH,MAAM,CAAC,MAAM,YAAY,GAA2B,IAAI,CAAC,MAAM,CAC7D,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAC9D,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACxH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACnF,OAAO,EACL,SAAS,EACT,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,SAAS,GACV,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACpG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAqB;IACpC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,MAAM;IACN,cAAc;IACd,aAAa;IACb,SAAS;IACT,SAAS;IACT,eAAe;IACf,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,eAAe;IACf,cAAc;IACd,cAAc;IACd,cAAc;IACd,aAAa;IACb,eAAe;IACf,oBAAoB;IACpB,WAAW;IACX,aAAa;IACb,aAAa;IACb,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,SAAS;IACT,aAAa;IACb,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,WAAW;CACZ,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAyB,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;AAEtH,MAAM,CAAC,MAAM,YAAY,GAA2B,IAAI,CAAC,MAAM,CAC7D,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAC9D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B,eAAO,MAAM,aAAa;IAMtB,kHAAkH;;;;;;cAiBpH,CAAA;AAEF,eAAO,MAAM,eAAe;;cAe1B,CAAA;AAEF,eAAO,MAAM,oBAAoB;IAO7B;;;OAGG;;cASL,CAAA"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAK5B,eAAO,MAAM,aAAa;IAMtB,kHAAkH;;;;;;cAkBpH,CAAA;AAEF,eAAO,MAAM,eAAe;;cAgB1B,CAAA;AAEF,eAAO,MAAM,oBAAoB;IAO7B;;;OAGG;;cAUL,CAAA"}
@@ -13,6 +13,7 @@ export const accountUpdate = defineOperation({
13
13
  description: v.optional(v.string()),
14
14
  }),
15
15
  response: v.looseObject({ profile: v.optional(v.looseObject({})) }),
16
+ guard: () => ({ chatId: null, kind: "account", action: "profile" }),
16
17
  provenance: {
17
18
  confidence: "measured",
18
19
  sources: [
@@ -31,6 +32,7 @@ export const accountSessions = defineOperation({
31
32
  auth: true,
32
33
  request: v.strictObject({}),
33
34
  response: v.looseObject({ sessions: v.optional(v.array(v.looseObject({}))) }),
35
+ guard: null,
34
36
  provenance: {
35
37
  confidence: "measured",
36
38
  sources: [
@@ -53,6 +55,7 @@ export const accountCloseSessions = defineOperation({
53
55
  */
54
56
  token: v.optional(v.string()),
55
57
  }),
58
+ guard: () => ({ chatId: null, kind: "account", action: "sessions-end" }),
56
59
  provenance: {
57
60
  confidence: "confirmed",
58
61
  sources: [webClient, "PyMax 53103f0 `close_all_sessions`"],
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/spec/operations/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,SAAS,GAAG,uEAAuE,CAAA;AAEzF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;IAC3C,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACtB,kHAAkH;QAClH,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACnE,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,4IAA4I;YAC5I,SAAS;YACT,gCAAgC;YAChC,2DAA2D;SAC5D;QACD,KAAK,EACH,6KAA6K;KAChL;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;IAC7C,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,uHAAuH;YACvH,SAAS;YACT,8BAA8B;SAC/B;KACF;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;IAClD,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC;QACtB;;;WAGG;QACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,WAAW;QACvB,OAAO,EAAE,CAAC,SAAS,EAAE,oCAAoC,CAAC;QAC1D,KAAK,EACH,yIAAyI;KAC5I;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/spec/operations/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,SAAS,GAAG,uEAAuE,CAAA;AAEzF,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;IAC3C,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACtB,kHAAkH;QAClH,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACnE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACnE,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,4IAA4I;YAC5I,SAAS;YACT,gCAAgC;YAChC,2DAA2D;SAC5D;QACD,KAAK,EACH,6KAA6K;KAChL;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;IAC7C,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,KAAK,EAAE,IAAI;IACX,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,uHAAuH;YACvH,SAAS;YACT,8BAA8B;SAC/B;KACF;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;IAClD,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC;QACtB;;;WAGG;QACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACxE,UAAU,EAAE;QACV,UAAU,EAAE,WAAW;QACvB,OAAO,EAAE,CAAC,SAAS,EAAE,oCAAoC,CAAC;QAC1D,KAAK,EACH,yIAAyI;KAC5I;CACF,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import * as v from "valibot";
2
+ export declare const ASSET_TYPES: readonly ["STICKER", "FAVORITE_STICKER", "REACTION", "ANIMOJI_SET"];
3
+ export declare const assetsUpdate: import("../define.js").Operation<v.StrictObjectSchema<{
4
+ readonly type: v.PicklistSchema<readonly ["STICKER", "FAVORITE_STICKER", "REACTION", "ANIMOJI_SET"], undefined>;
5
+ readonly sync: v.NumberSchema<undefined>;
6
+ }, undefined>, v.LooseObjectSchema<{
7
+ readonly sync: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
8
+ readonly sections: v.OptionalSchema<v.ArraySchema<v.UnknownSchema, undefined>, undefined>;
9
+ }, undefined>>;
10
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAM5B,eAAO,MAAM,WAAW,YAAI,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,CAAU,CAAA;AAE9F,eAAO,MAAM,YAAY;;;;;;cAavB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import * as v from "valibot";
2
+ import { defineOperation } from "../define.js";
3
+ /** Sent by `max serve` after each login, as a web tab does (`MAX-52`); the answer is kept only for its sync value. */
4
+ const recorded = "web.max.ru tab, recorded 2026-09-25 (`docs_ai/captures/2026-09-25-web-tab-2.jsonl`)";
5
+ export const ASSET_TYPES = ["STICKER", "FAVORITE_STICKER", "REACTION", "ANIMOJI_SET"];
6
+ export const assetsUpdate = defineOperation({
7
+ name: "assets.update",
8
+ constant: "ASSETS_UPDATE",
9
+ opcode: 27,
10
+ auth: true,
11
+ guard: null,
12
+ request: v.strictObject({ type: v.picklist(ASSET_TYPES), sync: v.number() }),
13
+ response: v.looseObject({ sync: v.optional(v.number()), sections: v.optional(v.array(v.unknown())) }),
14
+ provenance: {
15
+ confidence: "observed",
16
+ sources: [recorded, "PyMax 53103f0 names it `ASSETS_UPDATE` and never sends it"],
17
+ notes: "The tab sends the four types in this order, each with the `sync` its previous answer carried.",
18
+ },
19
+ });
20
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/spec/operations/assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,sHAAsH;AACtH,MAAM,QAAQ,GAAG,qFAAqF,CAAA;AAEtG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,CAAU,CAAA;AAE9F,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;IACrG,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,CAAC,QAAQ,EAAE,2DAA2D,CAAC;QAChF,KAAK,EAAE,+FAA+F;KACvG;CACF,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,eAAO,MAAM,eAAe;;;;;;;cAiB1B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;kDAiB3B,CAAA"}
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,eAAO,MAAM,eAAe;;;;;;;cAkB1B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;kDAkB3B,CAAA"}
@@ -12,6 +12,7 @@ export const attachmentsFile = defineOperation({
12
12
  fileId: id(),
13
13
  }),
14
14
  response: v.looseObject({ url: v.optional(v.string()), unsafe: v.optional(v.boolean()) }),
15
+ guard: null,
15
16
  provenance: {
16
17
  confidence: "measured",
17
18
  sources: ["measured against MAX 2026-09-23 (`pnpm probe:download`)", "tsmax getFileById", "PyMax get_file_by_id"],
@@ -29,6 +30,7 @@ export const attachmentsVideo = defineOperation({
29
30
  videoId: id(),
30
31
  }),
31
32
  response: v.looseObject({}),
33
+ guard: null,
32
34
  provenance: {
33
35
  confidence: "measured",
34
36
  sources: ["measured against MAX 2026-09-23 (`pnpm probe:download`)", "tsmax getVideoById", "PyMax get_video_by_id"],
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/spec/operations/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;IAC7C,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACtB,MAAM,EAAE,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE,EAAE;QACf,MAAM,EAAE,EAAE,EAAE;KACb,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACzF,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,CAAC,yDAAyD,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;QACjH,KAAK,EACH,uHAAuH;KAC1H;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;IAC9C,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACtB,MAAM,EAAE,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE,EAAE;QACf,OAAO,EAAE,EAAE,EAAE;KACd,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3B,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,CAAC,yDAAyD,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;QACnH,KAAK,EACH,qIAAqI;KACxI;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/spec/operations/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;IAC7C,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACtB,MAAM,EAAE,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE,EAAE;QACf,MAAM,EAAE,EAAE,EAAE;KACb,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACzF,KAAK,EAAE,IAAI;IACX,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,CAAC,yDAAyD,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;QACjH,KAAK,EACH,uHAAuH;KAC1H;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;IAC9C,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC;QACtB,MAAM,EAAE,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE,EAAE;QACf,OAAO,EAAE,EAAE,EAAE;KACd,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3B,KAAK,EAAE,IAAI;IACX,UAAU,EAAE;QACV,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,CAAC,yDAAyD,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;QACnH,KAAK,EACH,qIAAqI;KACxI;CACF,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as v from "valibot";
2
+ export declare const bannersList: import("../define.js").Operation<v.StrictObjectSchema<{
3
+ readonly bannersSync: v.NumberSchema<undefined>;
4
+ }, undefined>, v.LooseObjectSchema<{
5
+ readonly banners: v.OptionalSchema<v.ArraySchema<v.UnknownSchema, undefined>, undefined>;
6
+ }, undefined>>;
7
+ //# sourceMappingURL=banners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banners.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/banners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAM5B,eAAO,MAAM,WAAW;;;;cAUtB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import * as v from "valibot";
2
+ import { defineOperation } from "../define.js";
3
+ /** Sent by `max serve` after each login, as a web tab does (`MAX-52`); the answer is kept only for its sync value. */
4
+ const recorded = "web.max.ru tab, recorded 2026-09-25 (`docs_ai/captures/2026-09-25-web-tab-2.jsonl`)";
5
+ export const bannersList = defineOperation({
6
+ name: "banners.list",
7
+ constant: "BANNERS_GET",
8
+ opcode: 302,
9
+ auth: true,
10
+ guard: null,
11
+ /** Always 0 — the tab sent 0 on its first login and again on the next. */
12
+ request: v.strictObject({ bannersSync: v.number() }),
13
+ response: v.looseObject({ banners: v.optional(v.array(v.unknown())) }),
14
+ provenance: { confidence: "observed", sources: [recorded, "PyMax 53103f0 names it `BANNERS_GET`"] },
15
+ });
16
+ //# sourceMappingURL=banners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banners.js","sourceRoot":"","sources":["../../../src/spec/operations/banners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,sHAAsH;AACtH,MAAM,QAAQ,GAAG,qFAAqF,CAAA;AAEtG,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAC;IACzC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;IACtE,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,sCAAsC,CAAC,EAAE;CACpG,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import * as v from "valibot";
2
+ export declare const callsHistory: import("../define.js").Operation<v.StrictObjectSchema<{
3
+ readonly callHistorySync: v.NumberSchema<undefined>;
4
+ }, undefined>, v.LooseObjectSchema<{
5
+ readonly callHistoryItems: v.OptionalSchema<v.ArraySchema<v.UnknownSchema, undefined>, undefined>;
6
+ readonly callHistorySync: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
7
+ }, undefined>>;
8
+ //# sourceMappingURL=calls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAM5B,eAAO,MAAM,YAAY;;;;;cAYvB,CAAA"}
@@ -0,0 +1,18 @@
1
+ import * as v from "valibot";
2
+ import { defineOperation } from "../define.js";
3
+ /** Sent by `max serve` after each login, as a web tab does (`MAX-52`); the answer is kept only for its sync value. */
4
+ const recorded = "web.max.ru tab, recorded 2026-09-25 (`docs_ai/captures/2026-09-25-web-tab-2.jsonl`)";
5
+ export const callsHistory = defineOperation({
6
+ name: "calls.history",
7
+ constant: "CALL_HISTORY",
8
+ opcode: 163,
9
+ auth: true,
10
+ guard: null,
11
+ request: v.strictObject({ callHistorySync: v.number() }),
12
+ response: v.looseObject({
13
+ callHistoryItems: v.optional(v.array(v.unknown())),
14
+ callHistorySync: v.optional(v.number()),
15
+ }),
16
+ provenance: { confidence: "observed", sources: [recorded] },
17
+ });
18
+ //# sourceMappingURL=calls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/spec/operations/calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,sHAAsH;AACtH,MAAM,QAAQ,GAAG,qFAAqF,CAAA;AAEtG,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACxD,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC;QACtB,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAClD,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACxC,CAAC;IACF,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE;CAC5D,CAAC,CAAA"}
@@ -17,8 +17,6 @@ export declare const chatsHistory: import("../define.js").Operation<v.StrictObje
17
17
  readonly itemType: v.OptionalSchema<v.PicklistSchema<["REGULAR", "DELAYED"], undefined>, undefined>;
18
18
  readonly getChat: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
19
19
  readonly getMessages: v.BooleanSchema<undefined>;
20
- /** False for the same reason as on login: a script reading is not a person looking. */
21
- readonly interactive: v.OptionalSchema<v.LiteralSchema<false, undefined>, undefined>;
22
20
  }, undefined>, v.LooseObjectSchema<{
23
21
  readonly messages: v.OptionalSchema<v.ArraySchema<v.LooseObjectSchema<{}, undefined>, undefined>, undefined>;
24
22
  }, undefined>>;
@@ -26,7 +24,11 @@ export declare const chatsMark: import("../define.js").Operation<v.StrictObjectS
26
24
  readonly type: v.LiteralSchema<"READ_MESSAGE", undefined>;
27
25
  readonly chatId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "an id is a whole number written as a string">, v.TransformAction<string, bigint>]>;
28
26
  readonly messageId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "an id is a whole number written as a string">, v.TransformAction<string, bigint>]>;
29
- /** When it was read, in milliseconds. */
27
+ /**
28
+ * The read message's own time, in milliseconds — **not** when it was read. Correction
29
+ * 2026-09-25: this said "when it was read", and the client sent `Date.now()`, which marks every
30
+ * newer message read too.
31
+ */
30
32
  readonly mark: v.NumberSchema<undefined>;
31
33
  }, undefined>, v.LooseObjectSchema<{
32
34
  readonly unread: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,eAAO,MAAM,SAAS;IAMlB,6DAA6D;;;;;cAU/D,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;IAcrB,6GAA6G;;;;IAI7G,uFAAuF;;;;cAWzF,CAAA;AAEF,eAAO,MAAM,SAAS;;;;IAalB,yCAAyC;;;;;cAc3C,CAAA;AAKF,eAAO,MAAM,aAAa;;;;cAYxB,CAAA;AAEF,eAAO,MAAM,SAAS;;;;cAapB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;cAYrB,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;cA6BtB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;cAgBvB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;IAS3B,uCAAuC;;;IAGvC,iGAAiG;;IAEjG,mGAAmG;;;;cAarG,CAAA;AAEF,eAAO,MAAM,UAAU,oCAOrB,CAAA"}
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAM5B,eAAO,MAAM,SAAS;IAMlB,6DAA6D;;;;;cAW/D,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;IAerB,6GAA6G;;;;;;cAc/G,CAAA;AAEF,eAAO,MAAM,SAAS;;;;IAalB;;;;OAIG;;;;;cAcL,CAAA;AAKF,eAAO,MAAM,aAAa;;;;cAaxB,CAAA;AAEF,eAAO,MAAM,SAAS;;;;cAcpB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;cAarB,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;cA8CtB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;cAiBvB,CAAA;AAQF,eAAO,MAAM,kBAAkB;;;;IAS3B,uCAAuC;;;IAGvC,iGAAiG;;IAEjG,mGAAmG;;;;cA0BrG,CAAA;AAEF,eAAO,MAAM,UAAU,oCAOrB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as v from "valibot";
2
2
  import { defineOperation, reserveOpcode } from "../define.js";
3
+ import { ambiguous, chatOf, countOf, messageOf, peopleOf } from "../guards.js";
3
4
  import { id } from "../scalars.js";
4
5
  export const chatsList = defineOperation({
5
6
  name: "chats.list",
@@ -12,6 +13,7 @@ export const chatsList = defineOperation({
12
13
  count: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
13
14
  }),
14
15
  response: v.looseObject({ chats: v.optional(v.array(v.looseObject({}))) }),
16
+ guard: null,
15
17
  provenance: {
16
18
  confidence: "measured",
17
19
  sources: ["measured against MAX 2026-09-19", "max-api-docs/protocol/chats.md"],
@@ -29,17 +31,17 @@ export const chatsHistory = defineOperation({
29
31
  forward: v.number(),
30
32
  backward: v.number(),
31
33
  // web.max.ru sends chatId, from, forward, backward, getMessages and nothing else (captured
32
- // 2026-09-25). We add `interactive: false` until its absence is measured on an unread chat.
34
+ // 2026-09-25), and so do we: without `interactive`, reading marks nothing (measured the same day,
35
+ // `pnpm probe:read-mark`, `RES-11`).
33
36
  forwardTime: v.optional(v.number()),
34
37
  backwardTime: v.optional(v.number()),
35
38
  /** `DELAYED` is the queue of scheduled messages, read with `from: 1` and `forward` (measured 2026-09-24). */
36
39
  itemType: v.optional(v.picklist(["REGULAR", "DELAYED"])),
37
40
  getChat: v.optional(v.boolean()),
38
41
  getMessages: v.boolean(),
39
- /** False for the same reason as on login: a script reading is not a person looking. */
40
- interactive: v.optional(v.literal(false)),
41
42
  }),
42
43
  response: v.looseObject({ messages: v.optional(v.array(v.looseObject({}))) }),
44
+ guard: null,
43
45
  provenance: {
44
46
  confidence: "measured",
45
47
  sources: [
@@ -61,18 +63,23 @@ export const chatsMark = defineOperation({
61
63
  type: v.literal("READ_MESSAGE"),
62
64
  chatId: id(),
63
65
  messageId: id(),
64
- /** When it was read, in milliseconds. */
66
+ /**
67
+ * The read message's own time, in milliseconds — **not** when it was read. Correction
68
+ * 2026-09-25: this said "when it was read", and the client sent `Date.now()`, which marks every
69
+ * newer message read too.
70
+ */
65
71
  mark: v.number(),
66
72
  }),
67
73
  response: v.looseObject({ unread: v.optional(v.number()), mark: v.optional(v.number()) }),
74
+ guard: (request) => ({ chatId: chatOf(request), kind: "read", ...messageOf(request) }),
68
75
  provenance: {
69
- confidence: "observed",
76
+ confidence: "measured",
70
77
  sources: [
71
- "PyMax `api/messages/service.py` read_message, `payloads.py` ReadMessagesPayload, `types/domain/message.py` ReadState (53103f0)",
72
- "tsmax",
73
- "max-api-docs/protocol/chats.md",
78
+ "web.max.ru frame captured 2026-09-25 opening an unread channel: type, chatId, messageId, mark (`RES-10`); its code sets mark to the message's time",
79
+ "measured against MAX 2026-09-25 in Saved messages (`pnpm smoke:live`, `MAX-56`)",
80
+ "PyMax `api/messages/service.py` read_message (53103f0)",
74
81
  ],
75
- notes: "Not measured: the shape is PyMax's. PyMax also sends `type: READ_REACTION`, which is not used here (`CLI-33`).",
82
+ notes: "The web client also sends `READ_REACTION` and `SET_AS_UNREAD` on this opcode; neither is used here.",
76
83
  },
77
84
  });
78
85
  /** `join/<token>` — what 57 and 89 take for a private link. A public channel's link goes whole. */
@@ -84,6 +91,7 @@ export const chatsLinkInfo = defineOperation({
84
91
  auth: true,
85
92
  request: v.strictObject({ link: link() }),
86
93
  response: v.looseObject({ chat: v.optional(v.looseObject({})) }),
94
+ guard: null,
87
95
  provenance: {
88
96
  confidence: "measured",
89
97
  sources: ["measured against MAX 2026-09-24 (`pnpm probe:groups`)", "PyMax resolve_group_by_link"],
@@ -97,6 +105,7 @@ export const chatsJoin = defineOperation({
97
105
  auth: true,
98
106
  request: v.strictObject({ link: link() }),
99
107
  response: v.looseObject({ chat: v.optional(v.looseObject({})) }),
108
+ guard: () => ({ chatId: null, kind: "chat", action: "join" }),
100
109
  provenance: {
101
110
  confidence: "measured",
102
111
  sources: ["measured against MAX 2026-09-24 with a private group link (`pnpm probe:groups`)", "PyMax join_group"],
@@ -110,6 +119,7 @@ export const chatsLeave = defineOperation({
110
119
  auth: true,
111
120
  request: v.strictObject({ chatId: id() }),
112
121
  response: v.looseObject({ message: v.optional(v.looseObject({})) }),
122
+ guard: (request) => ({ chatId: chatOf(request), kind: "chat", action: "leave" }),
113
123
  provenance: {
114
124
  confidence: "measured",
115
125
  sources: ["measured against MAX 2026-09-24 (`pnpm probe:groups`)", "PyMax leave_group"],
@@ -131,6 +141,26 @@ export const chatsUpdate = defineOperation({
131
141
  v.strictObject({ chatId: id(), pinMessageId: id(), notifyPin: v.boolean() }),
132
142
  ]),
133
143
  response: v.looseObject({ chat: v.optional(v.looseObject({})) }),
144
+ guard: (request) => {
145
+ const chatId = chatOf(request);
146
+ const changes = [
147
+ "pinMessageId" in request,
148
+ "revokePrivateLink" in request,
149
+ "options" in request,
150
+ "theme" in request || "description" in request,
151
+ ];
152
+ if (changes.filter(Boolean).length !== 1)
153
+ return ambiguous("chats.update");
154
+ if (changes[0]) {
155
+ const pinned = messageOf(request, "pinMessageId");
156
+ return { chatId, kind: "pin", notify: request.notifyPin === true, ...(pinned.messageId === "0" ? {} : pinned) };
157
+ }
158
+ if (changes[1])
159
+ return { chatId, kind: "chat", action: "link.reset" };
160
+ if (changes[2])
161
+ return { chatId, kind: "chat", action: "settings" };
162
+ return { chatId, kind: "chat", action: "update" };
163
+ },
134
164
  provenance: {
135
165
  confidence: "measured",
136
166
  sources: [
@@ -156,12 +186,18 @@ export const chatsMembers = defineOperation({
156
186
  count: v.pipe(v.number(), v.integer(), v.minValue(1)),
157
187
  }),
158
188
  response: v.looseObject({ members: v.optional(v.array(v.looseObject({}))) }),
189
+ guard: null,
159
190
  provenance: {
160
191
  confidence: "measured",
161
192
  sources: ["measured against MAX 2026-09-24 with no requests (`pnpm probe:groups`)", "PyMax get_join_requests"],
162
193
  notes: "With no requests the answer is `{}` — no `members` at all. Each member is `{contact, presence}` in PyMax.",
163
194
  },
164
195
  });
196
+ const MEMBER_ACTIONS = {
197
+ MEMBER: ["members.add", "members.remove"],
198
+ ADMIN: ["admins.add", "admins.remove"],
199
+ JOIN_REQUEST: ["requests.accept", "requests.decline"],
200
+ };
165
201
  export const chatsUpdateMembers = defineOperation({
166
202
  name: "chats.updateMembers",
167
203
  constant: "CHAT_MEMBERS_UPDATE",
@@ -180,6 +216,19 @@ export const chatsUpdateMembers = defineOperation({
180
216
  permissions: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0))),
181
217
  }),
182
218
  response: v.looseObject({ chat: v.optional(v.looseObject({})) }),
219
+ guard: (request) => {
220
+ const actions = MEMBER_ACTIONS[String(request.type ?? "MEMBER")];
221
+ const action = request.operation === "add" ? actions?.[0] : request.operation === "remove" ? actions?.[1] : undefined;
222
+ if (!action)
223
+ return ambiguous("chats.updateMembers");
224
+ return {
225
+ chatId: chatOf(request),
226
+ kind: "chat",
227
+ action,
228
+ people: countOf(request.userIds),
229
+ ...(action === "members.add" ? { personIds: peopleOf(request.userIds) } : {}),
230
+ };
231
+ },
183
232
  provenance: {
184
233
  confidence: "measured",
185
234
  sources: [
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,eAAO,MAAM,YAAY;;;;cAYvB,CAAA;AAIF,eAAO,MAAM,eAAe;;;;cAgB1B,CAAA;AAEF,eAAO,MAAM,cAAc;;;;;cAazB,CAAA;AAEF,eAAO,MAAM,cAAc;IAMvB,mDAAmD;;;;;;cAarD,CAAA;AAEF,eAAO,MAAM,cAAc,oCAgBzB,CAAA"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,eAAO,MAAM,YAAY;;;;cAavB,CAAA;AAIF,eAAO,MAAM,eAAe;;;;cAiB1B,CAAA;AAEF,eAAO,MAAM,cAAc;;;;;cAkBzB,CAAA;AAEF,eAAO,MAAM,cAAc;IAMvB,mDAAmD;;;;;;cAcrD,CAAA;AAEF,eAAO,MAAM,cAAc,oCAgBzB,CAAA"}
@@ -8,6 +8,7 @@ export const contactsInfo = defineOperation({
8
8
  auth: true,
9
9
  request: v.strictObject({ contactIds: v.array(id()) }),
10
10
  response: v.looseObject({ contacts: v.optional(v.array(v.looseObject({}))) }),
11
+ guard: null,
11
12
  provenance: {
12
13
  confidence: "measured",
13
14
  sources: ["measured against MAX 2026-09-19: asked for ten, got ten"],
@@ -22,6 +23,7 @@ export const contactsByPhone = defineOperation({
22
23
  auth: true,
23
24
  request: v.strictObject({ phone: v.pipe(v.string(), v.minLength(1)) }),
24
25
  response: v.looseObject({ contact: v.optional(v.looseObject({})) }),
26
+ guard: null,
25
27
  provenance: {
26
28
  confidence: "measured",
27
29
  sources: [
@@ -39,6 +41,11 @@ export const contactsUpdate = defineOperation({
39
41
  auth: true,
40
42
  request: v.strictObject({ contactId: id(), action: v.picklist(["ADD", "REMOVE"]) }),
41
43
  response: v.looseObject({ contact: v.optional(v.looseObject({})) }),
44
+ guard: (request) => ({
45
+ chatId: null,
46
+ kind: "account",
47
+ action: request.action === "REMOVE" ? "contact-remove" : "contact-add",
48
+ }),
42
49
  provenance: {
43
50
  confidence: "confirmed",
44
51
  sources: [webClient, "PyMax 53103f0 `add_contact`, `remove_contact`"],
@@ -55,6 +62,7 @@ export const contactsImport = defineOperation({
55
62
  contactList: v.record(v.string(), v.strictObject({ firstName: v.string() })),
56
63
  }),
57
64
  response: v.looseObject({ contacts: v.optional(v.array(v.looseObject({}))) }),
65
+ guard: () => ({ chatId: null, kind: "account", action: "contact-import" }),
58
66
  provenance: {
59
67
  confidence: "measured",
60
68
  sources: [
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/spec/operations/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/spec/operations/contacts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"folders.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/folders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B,eAAO,MAAM,WAAW;;;;;;cAmBtB,CAAA;AAEF,eAAO,MAAM,aAAa;;;;IA3BxB,mEAAmE;;;;;;;cA4CnE,CAAA;AAEF,eAAO,MAAM,aAAa;;kDAYxB,CAAA"}
1
+ {"version":3,"file":"folders.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/folders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B,eAAO,MAAM,WAAW;;;;;;cAoBtB,CAAA;AAEF,eAAO,MAAM,aAAa;;;;IA5BxB,mEAAmE;;;;;;;cAgDnE,CAAA;AAEF,eAAO,MAAM,aAAa;;kDAaxB,CAAA"}