@leemour/max-cli 0.8.0 → 0.10.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 (195) hide show
  1. package/dist/backup.d.ts +28 -0
  2. package/dist/backup.d.ts.map +1 -0
  3. package/dist/backup.js +47 -0
  4. package/dist/backup.js.map +1 -0
  5. package/dist/cache/drivers/bun-sqlite.d.ts.map +1 -1
  6. package/dist/cache/drivers/node-sqlite.d.ts.map +1 -1
  7. package/dist/cache/index.d.ts.map +1 -1
  8. package/dist/cache/index.js.map +1 -1
  9. package/dist/cache/open.d.ts.map +1 -1
  10. package/dist/cache/schema.d.ts.map +1 -1
  11. package/dist/cache/store.d.ts +7 -0
  12. package/dist/cache/store.d.ts.map +1 -1
  13. package/dist/cache/store.js +8 -0
  14. package/dist/cache/store.js.map +1 -1
  15. package/dist/client.d.ts +38 -1
  16. package/dist/client.d.ts.map +1 -1
  17. package/dist/client.js +177 -29
  18. package/dist/client.js.map +1 -1
  19. package/dist/commands/backup.d.ts +3 -0
  20. package/dist/commands/backup.d.ts.map +1 -0
  21. package/dist/commands/backup.js +97 -0
  22. package/dist/commands/backup.js.map +1 -0
  23. package/dist/commands/body.d.ts.map +1 -1
  24. package/dist/commands/body.js.map +1 -1
  25. package/dist/commands/contacts.d.ts.map +1 -1
  26. package/dist/commands/context.d.ts.map +1 -1
  27. package/dist/commands/context.js +1 -1
  28. package/dist/commands/context.js.map +1 -1
  29. package/dist/commands/doctor.d.ts.map +1 -1
  30. package/dist/commands/doctor.js +123 -14
  31. package/dist/commands/doctor.js.map +1 -1
  32. package/dist/commands/folders.js.map +1 -1
  33. package/dist/commands/messages.js.map +1 -1
  34. package/dist/commands/paging.d.ts.map +1 -1
  35. package/dist/commands/serve.d.ts +12 -0
  36. package/dist/commands/serve.d.ts.map +1 -1
  37. package/dist/commands/serve.js +10 -7
  38. package/dist/commands/serve.js.map +1 -1
  39. package/dist/commands/server.d.ts +7 -0
  40. package/dist/commands/server.d.ts.map +1 -0
  41. package/dist/commands/server.js +76 -0
  42. package/dist/commands/server.js.map +1 -0
  43. package/dist/commands/session.d.ts.map +1 -1
  44. package/dist/commands/session.js +4 -0
  45. package/dist/commands/session.js.map +1 -1
  46. package/dist/commands/skill.js.map +1 -1
  47. package/dist/config.d.ts +4 -2
  48. package/dist/config.d.ts.map +1 -1
  49. package/dist/config.js +1 -0
  50. package/dist/config.js.map +1 -1
  51. package/dist/deadline.d.ts.map +1 -1
  52. package/dist/diagnose.d.ts +14 -1
  53. package/dist/diagnose.d.ts.map +1 -1
  54. package/dist/diagnose.js +13 -1
  55. package/dist/diagnose.js.map +1 -1
  56. package/dist/domain/map.d.ts.map +1 -1
  57. package/dist/domain/map.js.map +1 -1
  58. package/dist/domain/models.d.ts.map +1 -1
  59. package/dist/download.d.ts.map +1 -1
  60. package/dist/export.d.ts +7 -4
  61. package/dist/export.d.ts.map +1 -1
  62. package/dist/export.js +13 -9
  63. package/dist/export.js.map +1 -1
  64. package/dist/generated/client.generated.d.ts +1 -0
  65. package/dist/generated/client.generated.d.ts.map +1 -1
  66. package/dist/generated/client.generated.js +1 -0
  67. package/dist/generated/client.generated.js.map +1 -1
  68. package/dist/generated/opcodes.generated.d.ts +1 -0
  69. package/dist/generated/opcodes.generated.d.ts.map +1 -1
  70. package/dist/generated/opcodes.generated.js +1 -0
  71. package/dist/generated/opcodes.generated.js.map +1 -1
  72. package/dist/generated/operations.generated.d.ts +21 -6
  73. package/dist/generated/operations.generated.d.ts.map +1 -1
  74. package/dist/generated/operations.generated.js +2 -1
  75. package/dist/generated/operations.generated.js.map +1 -1
  76. package/dist/markdown.d.ts.map +1 -1
  77. package/dist/mcp/confirm.d.ts +2 -2
  78. package/dist/mcp/confirm.d.ts.map +1 -1
  79. package/dist/mcp/instructions.d.ts.map +1 -1
  80. package/dist/mcp/server.d.ts.map +1 -1
  81. package/dist/mcp/session.d.ts.map +1 -1
  82. package/dist/mcp/session.js.map +1 -1
  83. package/dist/mcp/tools.d.ts.map +1 -1
  84. package/dist/output.d.ts.map +1 -1
  85. package/dist/output.js.map +1 -1
  86. package/dist/profile.d.ts.map +1 -1
  87. package/dist/program.d.ts.map +1 -1
  88. package/dist/program.js +4 -0
  89. package/dist/program.js.map +1 -1
  90. package/dist/protocol/connection.d.ts +2 -1
  91. package/dist/protocol/connection.d.ts.map +1 -1
  92. package/dist/protocol/connection.js +45 -14
  93. package/dist/protocol/connection.js.map +1 -1
  94. package/dist/protocol/frame.d.ts +22 -14
  95. package/dist/protocol/frame.d.ts.map +1 -1
  96. package/dist/protocol/frame.js +116 -37
  97. package/dist/protocol/frame.js.map +1 -1
  98. package/dist/protocol/lz4.d.ts +15 -0
  99. package/dist/protocol/lz4.d.ts.map +1 -0
  100. package/dist/protocol/lz4.js +154 -0
  101. package/dist/protocol/lz4.js.map +1 -0
  102. package/dist/rendering/messages.d.ts.map +1 -1
  103. package/dist/rendering/messages.js.map +1 -1
  104. package/dist/report.d.ts +39 -0
  105. package/dist/report.d.ts.map +1 -0
  106. package/dist/report.js +57 -0
  107. package/dist/report.js.map +1 -0
  108. package/dist/resolve.d.ts.map +1 -1
  109. package/dist/runs/events.d.ts +21 -1
  110. package/dist/runs/events.d.ts.map +1 -1
  111. package/dist/runs/events.js +14 -1
  112. package/dist/runs/events.js.map +1 -1
  113. package/dist/runs/recording.d.ts +11 -0
  114. package/dist/runs/recording.d.ts.map +1 -1
  115. package/dist/runs/recording.js +70 -22
  116. package/dist/runs/recording.js.map +1 -1
  117. package/dist/runs/run.d.ts +11 -0
  118. package/dist/runs/run.d.ts.map +1 -1
  119. package/dist/runs/run.js +8 -1
  120. package/dist/runs/run.js.map +1 -1
  121. package/dist/sends/guard.d.ts.map +1 -1
  122. package/dist/sends/journal.d.ts.map +1 -1
  123. package/dist/sends/journal.js.map +1 -1
  124. package/dist/sends/permissions.d.ts.map +1 -1
  125. package/dist/sends/permissions.js.map +1 -1
  126. package/dist/sends/recipients.d.ts.map +1 -1
  127. package/dist/sends/recipients.js.map +1 -1
  128. package/dist/server/lines.d.ts +4 -0
  129. package/dist/server/lines.d.ts.map +1 -1
  130. package/dist/server/lines.js +11 -2
  131. package/dist/server/lines.js.map +1 -1
  132. package/dist/server/server-connection.d.ts.map +1 -1
  133. package/dist/server/server-connection.js.map +1 -1
  134. package/dist/server/server.d.ts +10 -0
  135. package/dist/server/server.d.ts.map +1 -1
  136. package/dist/server/server.js +40 -3
  137. package/dist/server/server.js.map +1 -1
  138. package/dist/server/start.d.ts +7 -1
  139. package/dist/server/start.d.ts.map +1 -1
  140. package/dist/server/start.js +17 -2
  141. package/dist/server/start.js.map +1 -1
  142. package/dist/server/subscribe.d.ts.map +1 -1
  143. package/dist/session/adopt.d.ts.map +1 -1
  144. package/dist/session/browser.d.ts.map +1 -1
  145. package/dist/session/browser.js.map +1 -1
  146. package/dist/session/handshake.d.ts +9 -4
  147. package/dist/session/handshake.d.ts.map +1 -1
  148. package/dist/session/handshake.js +9 -5
  149. package/dist/session/handshake.js.map +1 -1
  150. package/dist/session/login.d.ts.map +1 -1
  151. package/dist/session/prompt.d.ts.map +1 -1
  152. package/dist/session/prompt.js.map +1 -1
  153. package/dist/session/qr-terminal.d.ts.map +1 -1
  154. package/dist/session/store.d.ts +15 -0
  155. package/dist/session/store.d.ts.map +1 -1
  156. package/dist/session/store.js +27 -0
  157. package/dist/session/store.js.map +1 -1
  158. package/dist/spec/check.d.ts.map +1 -1
  159. package/dist/spec/define.d.ts.map +1 -1
  160. package/dist/spec/identity.d.ts +43 -9
  161. package/dist/spec/identity.d.ts.map +1 -1
  162. package/dist/spec/identity.js +43 -13
  163. package/dist/spec/identity.js.map +1 -1
  164. package/dist/spec/index.d.ts.map +1 -1
  165. package/dist/spec/index.js +2 -1
  166. package/dist/spec/index.js.map +1 -1
  167. package/dist/spec/operations/chats.d.ts +9 -7
  168. package/dist/spec/operations/chats.d.ts.map +1 -1
  169. package/dist/spec/operations/chats.js +17 -12
  170. package/dist/spec/operations/chats.js.map +1 -1
  171. package/dist/spec/operations/session.d.ts +28 -4
  172. package/dist/spec/operations/session.d.ts.map +1 -1
  173. package/dist/spec/operations/session.js +45 -6
  174. package/dist/spec/operations/session.js.map +1 -1
  175. package/dist/spec/scalars.d.ts.map +1 -1
  176. package/dist/spec/scalars.js +2 -2
  177. package/dist/testing/mock-max.d.ts +5 -1
  178. package/dist/testing/mock-max.d.ts.map +1 -1
  179. package/dist/testing/mock-max.js +6 -3
  180. package/dist/testing/mock-max.js.map +1 -1
  181. package/dist/transcribe/index.d.ts.map +1 -1
  182. package/dist/transcribe/install.d.ts.map +1 -1
  183. package/dist/transcribe/install.js.map +1 -1
  184. package/dist/transcribe/models.d.ts.map +1 -1
  185. package/dist/transcribe/speech.d.ts.map +1 -1
  186. package/dist/transcribe/speech.js.map +1 -1
  187. package/dist/update.d.ts.map +1 -1
  188. package/dist/update.js.map +1 -1
  189. package/dist/upload.d.ts.map +1 -1
  190. package/dist/version.d.ts +1 -1
  191. package/dist/version.d.ts.map +1 -1
  192. package/dist/version.js +1 -1
  193. package/dist/version.js.map +1 -1
  194. package/package.json +12 -8
  195. package/skills/max-cli/SKILL.md +8 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leemour/max-cli",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "A local command line interface for a personal MAX Messenger account, built for agents and scripts",
5
5
  "license": "MIT",
6
6
  "author": "Viacheslav Ptsarev",
@@ -31,6 +31,7 @@
31
31
  "test": "vitest run",
32
32
  "test:watch": "vitest",
33
33
  "smoke:bun": "bun run scripts/smoke.ts",
34
+ "smoke:live": "pnpm build && node --experimental-strip-types scripts/smoke-live.ts",
34
35
  "version:check": "node --experimental-strip-types scripts/version.ts",
35
36
  "version:sync": "node --experimental-strip-types scripts/version.ts --sync",
36
37
  "probe:ids": "pnpm build && node --experimental-strip-types scripts/id-shape.ts",
@@ -54,31 +55,34 @@
54
55
  "probe:groups": "pnpm build && node --experimental-strip-types scripts/probe-groups.ts",
55
56
  "probe:members": "pnpm build && node --experimental-strip-types scripts/probe-members.ts",
56
57
  "probe:account": "pnpm build && node --experimental-strip-types scripts/probe-account.ts",
58
+ "probe:read-mark": "pnpm build && node --experimental-strip-types scripts/probe-read-mark.ts",
59
+ "probe:pre-release": "pnpm build && node --experimental-strip-types scripts/probe-pre-release.ts",
57
60
  "probe:message-count": "pnpm build && node --experimental-strip-types scripts/probe-message-count.ts"
58
61
  },
59
62
  "dependencies": {
60
63
  "@bomb.sh/tab": "0.0.22",
61
- "@leemour/cli-core": "^0.6.0",
62
- "@modelcontextprotocol/server": "~2.0.0",
64
+ "@leemour/cli-core": "^0.6.1",
65
+ "@modelcontextprotocol/server": "~2.1.0",
66
+ "@msgpack/msgpack": "3.1.3",
63
67
  "@valibot/to-json-schema": "^1.8.0",
64
68
  "commander": "^15.0.0",
65
69
  "lossless-json": "^4.3.1",
66
70
  "ogg-opus-decoder": "1.7.5",
67
71
  "qrcode-generator": "2.0.4",
68
72
  "sherpa-onnx": "1.13.8",
69
- "string-width": "^8.2.2",
73
+ "string-width": "^8.3.0",
70
74
  "valibot": "^1.5.0",
71
75
  "wrap-ansi": "^10.0.2",
72
76
  "ws": "^8.19.0"
73
77
  },
74
78
  "devDependencies": {
75
79
  "@biomejs/biome": "^2.3.14",
76
- "@modelcontextprotocol/client": "~2.0.0",
77
- "@types/node": "^22.10.2",
80
+ "@modelcontextprotocol/client": "~2.1.0",
81
+ "@types/node": "^22.20.4",
78
82
  "@types/ws": "^8.18.1",
79
83
  "lefthook": "^2.1.8",
80
- "typescript": "^5.9.3",
81
- "vitest": "^3.2.4"
84
+ "typescript": "^7.0.2",
85
+ "vitest": "^5.0.1"
82
86
  },
83
87
  "publishConfig": {
84
88
  "access": "public"
@@ -48,7 +48,8 @@ description: Читать и отправлять сообщения в личн
48
48
  - **`--jsonl`** — по объекту на строку, удобно для `jq`. Есть ли ещё, пишется только в stderr.
49
49
  - **Ветвиться по коду возврата, а не по тексту**: `0` — успех, `2` — неверный ввод, `4` — нет
50
50
  входа, `5` — профилю это действие не разрешено (`readOnly` или `allow`; ошибка называет, какое, — не обходить), `6` — не найдено, `7` — чата нет в списке разрешённых,
51
- `8` — лимит отправок за час, `14` — **неизвестно, ушло ли сообщение** (см. отправку).
51
+ `8` — лимит: отправок за час, или MAX отказал во входе из-за частых попыток (тогда **не повторять**:
52
+ профиль сам не входит до времени из ошибки; сказать владельцу), `14` — **неизвестно, ушло ли сообщение** (см. отправку).
52
53
  - `-v` и `-vv` добавляют подробности в вывод для человека. Версия — `max -V`. Строки о каждом
53
54
  запросе к MAX — `--trace`, в stderr.
54
55
 
@@ -75,6 +76,11 @@ description: Читать и отправлять сообщения в личн
75
76
  а не пустой список.
76
77
  5b. **`max export messages` выгружает только прочитанное** и в MAX не ходит. Дыры он называет в
77
78
  stderr («not in the export: … never read»); прежде чем отдать файл как «всю переписку», прочтите их.
79
+ 5c. **`max backup messages` без `--run` только считает** и в MAX не ходит. Покажите расчёт
80
+ владельцу; `--run` — только по его слову: это сотни запросов с его аккаунта.
81
+ 5d. **Ошибку, которую не удаётся объяснить, — в отчёт автору.** Предложите владельцу
82
+ `max doctor report create`: команда пишет файл без текстов сообщений и печатает, как отправить его
83
+ на `reports@neirox.ai`. Отправляет владелец сам.
78
84
  6. **`messages show` и `messages context` требуют и чат, и id сообщения.** Искомое сообщение в
79
85
  JSON помечено `"anchor": true`. Если сообщения нет, это `not_found`, а не соседнее сообщение.
80
86
  7. **Время сообщения зашито в его id**: `id >> 16` — миллисекунды. Поэтому `--before <id>` и
@@ -110,6 +116,7 @@ max chats list --unread --json # где есть непрочи
110
116
  max inbox --json # непрочитанное во всех чатах
111
117
  max inbox --new --json # что пришло с прошлой проверки, один раз
112
118
  max watch --jsonl # новые сообщения по мере прихода, если запущен `max serve`
119
+ max server status --json # работает ли фоновый сервер, какой версии, подключён ли
113
120
  max chats show -1000 --json # один чат и кто в нём
114
121
  max contacts show @ivan --json # один человек и общие чаты
115
122
  max messages list -1000 --limit 20 --json # последние сообщения, от старых к новым