@wirecat/max-cli 0.49.0 → 0.51.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.
- package/README.md +9 -9
- package/dist/adapter/max-adapter.d.ts +3 -3
- package/dist/adapter/max-adapter.d.ts.map +1 -1
- package/dist/adapter/max-adapter.js +2 -2
- package/dist/adapter/max-adapter.js.map +1 -1
- package/dist/app.d.ts +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -0
- package/dist/app.js.map +1 -1
- package/dist/bin/max.js +2 -2
- package/dist/bin/max.js.map +1 -1
- package/dist/bot/adapter.d.ts +2 -2
- package/dist/bot/adapter.d.ts.map +1 -1
- package/dist/bot/adapter.js +1 -1
- package/dist/bot/adapter.js.map +1 -1
- package/dist/bot/auth.d.ts +2 -2
- package/dist/bot/auth.d.ts.map +1 -1
- package/dist/bot/auth.js +2 -2
- package/dist/bot/auth.js.map +1 -1
- package/dist/bot/client.d.ts +2 -2
- package/dist/bot/client.d.ts.map +1 -1
- package/dist/bot/input.d.ts +1 -1
- package/dist/bot/input.d.ts.map +1 -1
- package/dist/bot/input.js +1 -1
- package/dist/bot/input.js.map +1 -1
- package/dist/bot/keep.d.ts +2 -2
- package/dist/bot/keep.d.ts.map +1 -1
- package/dist/bot/keep.js +1 -1
- package/dist/bot/keep.js.map +1 -1
- package/dist/bot/map.d.ts +2 -2
- package/dist/bot/map.d.ts.map +1 -1
- package/dist/bot/mcp-tools.d.ts +1 -1
- package/dist/bot/mcp-tools.d.ts.map +1 -1
- package/dist/bot/mcp-tools.js +1 -1
- package/dist/bot/mcp-tools.js.map +1 -1
- package/dist/bot/permissions.d.ts +1 -1
- package/dist/bot/permissions.d.ts.map +1 -1
- package/dist/bot/registry.d.ts +3 -3
- package/dist/bot/registry.d.ts.map +1 -1
- package/dist/bot/registry.js +2 -2
- package/dist/bot/registry.js.map +1 -1
- package/dist/bot/transport.d.ts +1 -1
- package/dist/bot/transport.d.ts.map +1 -1
- package/dist/bot/transport.js +12 -7
- package/dist/bot/transport.js.map +1 -1
- package/dist/bot/uploads.d.ts +1 -1
- package/dist/bot/uploads.d.ts.map +1 -1
- package/dist/bot/uploads.js +1 -1
- package/dist/bot/uploads.js.map +1 -1
- package/dist/client/account.d.ts +39 -0
- package/dist/client/account.d.ts.map +1 -0
- package/dist/client/account.js +92 -0
- package/dist/client/account.js.map +1 -0
- package/dist/client/chat-members.d.ts +27 -0
- package/dist/client/chat-members.d.ts.map +1 -0
- package/dist/client/chat-members.js +73 -0
- package/dist/client/chat-members.js.map +1 -0
- package/dist/client/chat-reads.d.ts +57 -0
- package/dist/client/chat-reads.d.ts.map +1 -0
- package/dist/client/chat-reads.js +160 -0
- package/dist/client/chat-reads.js.map +1 -0
- package/dist/client/chat-writes.d.ts +111 -0
- package/dist/client/chat-writes.d.ts.map +1 -0
- package/dist/client/chat-writes.js +240 -0
- package/dist/client/chat-writes.js.map +1 -0
- package/dist/client/contacts.d.ts +39 -0
- package/dist/client/contacts.d.ts.map +1 -0
- package/dist/client/contacts.js +93 -0
- package/dist/client/contacts.js.map +1 -0
- package/dist/client/delivery.d.ts +35 -0
- package/dist/client/delivery.d.ts.map +1 -0
- package/dist/client/delivery.js +62 -0
- package/dist/client/delivery.js.map +1 -0
- package/dist/client/folders.d.ts +20 -0
- package/dist/client/folders.d.ts.map +1 -0
- package/dist/client/folders.js +57 -0
- package/dist/client/folders.js.map +1 -0
- package/dist/client/history.d.ts +41 -0
- package/dist/client/history.d.ts.map +1 -0
- package/dist/client/history.js +111 -0
- package/dist/client/history.js.map +1 -0
- package/dist/client/live.d.ts +38 -0
- package/dist/client/live.d.ts.map +1 -0
- package/dist/client/live.js +182 -0
- package/dist/client/live.js.map +1 -0
- package/dist/client/login.d.ts +11 -0
- package/dist/client/login.d.ts.map +1 -0
- package/dist/client/login.js +8 -0
- package/dist/client/login.js.map +1 -0
- package/dist/client/message-reads.d.ts +53 -0
- package/dist/client/message-reads.d.ts.map +1 -0
- package/dist/client/message-reads.js +164 -0
- package/dist/client/message-reads.js.map +1 -0
- package/dist/client/message-writes.d.ts +84 -0
- package/dist/client/message-writes.d.ts.map +1 -0
- package/dist/client/message-writes.js +254 -0
- package/dist/client/message-writes.js.map +1 -0
- package/dist/client/people.d.ts +31 -0
- package/dist/client/people.d.ts.map +1 -0
- package/dist/client/people.js +130 -0
- package/dist/client/people.js.map +1 -0
- package/dist/client/polls.d.ts +53 -0
- package/dist/client/polls.d.ts.map +1 -0
- package/dist/client/polls.js +141 -0
- package/dist/client/polls.js.map +1 -0
- package/dist/client/read-policy.d.ts +2 -0
- package/dist/client/read-policy.d.ts.map +1 -0
- package/dist/client/read-policy.js +34 -0
- package/dist/client/read-policy.js.map +1 -0
- package/dist/client/request.d.ts +21 -0
- package/dist/client/request.d.ts.map +1 -0
- package/dist/client/request.js +69 -0
- package/dist/client/request.js.map +1 -0
- package/dist/client/session.d.ts +50 -0
- package/dist/client/session.d.ts.map +1 -0
- package/dist/client/session.js +293 -0
- package/dist/client/session.js.map +1 -0
- package/dist/client/stickers.d.ts +12 -0
- package/dist/client/stickers.d.ts.map +1 -0
- package/dist/client/stickers.js +29 -0
- package/dist/client/stickers.js.map +1 -0
- package/dist/client/types.d.ts +54 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +2 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/upload-transport.d.ts +15 -0
- package/dist/client/upload-transport.d.ts.map +1 -0
- package/dist/client/upload-transport.js +48 -0
- package/dist/client/upload-transport.js.map +1 -0
- package/dist/client/uploads.d.ts +15 -0
- package/dist/client/uploads.d.ts.map +1 -0
- package/dist/client/uploads.js +19 -0
- package/dist/client/uploads.js.map +1 -0
- package/dist/client/values.d.ts +120 -0
- package/dist/client/values.d.ts.map +1 -0
- package/dist/client/values.js +186 -0
- package/dist/client/values.js.map +1 -0
- package/dist/client/writes.d.ts +40 -0
- package/dist/client/writes.d.ts.map +1 -0
- package/dist/client/writes.js +186 -0
- package/dist/client/writes.js.map +1 -0
- package/dist/client.d.ts +29 -644
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +267 -2828
- package/dist/client.js.map +1 -1
- package/dist/commands/account.js +1 -1
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/bot-comments.d.ts.map +1 -1
- package/dist/commands/bot-comments.js +9 -5
- package/dist/commands/bot-comments.js.map +1 -1
- package/dist/commands/bot-context.d.ts +2 -2
- package/dist/commands/bot-context.d.ts.map +1 -1
- package/dist/commands/bot-context.js +2 -2
- package/dist/commands/bot-context.js.map +1 -1
- package/dist/commands/bot-members.d.ts +1 -1
- package/dist/commands/bot-members.d.ts.map +1 -1
- package/dist/commands/bot-members.js +14 -5
- package/dist/commands/bot-members.js.map +1 -1
- package/dist/commands/bot-messenger.d.ts +1 -1
- package/dist/commands/bot-messenger.d.ts.map +1 -1
- package/dist/commands/bot-messenger.js +2 -2
- package/dist/commands/bot-messenger.js.map +1 -1
- package/dist/commands/bot-reads.js +1 -1
- package/dist/commands/bot-reads.js.map +1 -1
- package/dist/commands/bot-sends.js +3 -3
- package/dist/commands/bot-sends.js.map +1 -1
- package/dist/commands/bot-setup.d.ts.map +1 -1
- package/dist/commands/bot-setup.js +2 -1
- package/dist/commands/bot-setup.js.map +1 -1
- package/dist/commands/bot.js +1 -1
- package/dist/commands/bot.js.map +1 -1
- package/dist/commands/calls.js +1 -1
- package/dist/commands/calls.js.map +1 -1
- package/dist/commands/chats.js +1 -1
- package/dist/commands/chats.js.map +1 -1
- package/dist/commands/commands.js +1 -1
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/complete.js +1 -1
- package/dist/commands/complete.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +29 -27
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/contacts.js +1 -1
- package/dist/commands/contacts.js.map +1 -1
- package/dist/commands/context.d.ts +2 -2
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +2 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +9 -8
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +11 -2
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/models.js +1 -1
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/paging.d.ts +6 -35
- package/dist/commands/paging.d.ts.map +1 -1
- package/dist/commands/paging.js +4 -46
- package/dist/commands/paging.js.map +1 -1
- package/dist/commands/recipients.d.ts.map +1 -1
- package/dist/commands/recipients.js +9 -7
- package/dist/commands/recipients.js.map +1 -1
- package/dist/commands/runs.js +1 -1
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/sends.js +1 -1
- package/dist/commands/sends.js.map +1 -1
- package/dist/commands/serve-members.js +3 -3
- package/dist/commands/serve-members.js.map +1 -1
- package/dist/commands/serve-stems.js +2 -2
- package/dist/commands/serve-stems.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +12 -4
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/server.d.ts +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +1 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/commands/session.d.ts +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/skill.js +1 -1
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/stickers.js +1 -1
- package/dist/commands/stickers.js.map +1 -1
- package/dist/commands/upgrade.js +1 -1
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/config.d.ts +845 -145
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -34
- package/dist/config.js.map +1 -1
- package/dist/deadline.d.ts +1 -1
- package/dist/deadline.d.ts.map +1 -1
- package/dist/deadline.js +1 -1
- package/dist/deadline.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.d.ts.map +1 -1
- package/dist/diagnose.js +2 -2
- package/dist/diagnose.js.map +1 -1
- package/dist/domain/models.d.ts +2 -2
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/download.js +1 -1
- package/dist/download.js.map +1 -1
- package/dist/envelope.d.ts +29 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +31 -0
- package/dist/envelope.js.map +1 -0
- package/dist/format-markdown.d.ts +1 -1
- package/dist/format-markdown.d.ts.map +1 -1
- package/dist/format-markdown.js +1 -1
- package/dist/format-markdown.js.map +1 -1
- package/dist/mcp/instructions.d.ts +1 -1
- package/dist/mcp/instructions.d.ts.map +1 -1
- package/dist/mcp/legacy-check.d.ts +1 -1
- package/dist/mcp/legacy-check.d.ts.map +1 -1
- package/dist/mcp/legacy-check.js +5 -3
- package/dist/mcp/legacy-check.js.map +1 -1
- package/dist/mcp/photo.d.ts +1 -1
- package/dist/mcp/photo.d.ts.map +1 -1
- package/dist/mcp/photo.js +3 -2
- package/dist/mcp/photo.js.map +1 -1
- package/dist/mcp/prompts.d.ts.map +1 -1
- package/dist/mcp/prompts.js +11 -9
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/resources.js +2 -2
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/shared.d.ts +1 -1
- package/dist/mcp/shared.d.ts.map +1 -1
- package/dist/mcp/shared.js +3 -3
- package/dist/mcp/shared.js.map +1 -1
- package/dist/mcp/tools.d.ts +2 -2
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +39 -29
- package/dist/mcp/tools.js.map +1 -1
- package/dist/messenger.d.ts +3 -3
- package/dist/messenger.d.ts.map +1 -1
- package/dist/messenger.js +15 -5
- package/dist/messenger.js.map +1 -1
- package/dist/moderation/points.d.ts +1 -1
- package/dist/moderation/points.d.ts.map +1 -1
- package/dist/moderation/points.js +1 -1
- package/dist/moderation/points.js.map +1 -1
- package/dist/moderation/rules.d.ts +1 -1
- package/dist/moderation/rules.d.ts.map +1 -1
- package/dist/moderation/rules.js +2 -2
- package/dist/moderation/rules.js.map +1 -1
- package/dist/output.d.ts +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +1 -1
- package/dist/output.js.map +1 -1
- package/dist/permissions.d.ts +1 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +2 -2
- package/dist/permissions.js.map +1 -1
- package/dist/program.d.ts +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +3 -2
- package/dist/program.js.map +1 -1
- package/dist/protocol/connection.d.ts.map +1 -1
- package/dist/protocol/connection.js +44 -12
- package/dist/protocol/connection.js.map +1 -1
- package/dist/record.d.ts +1 -1
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +1 -1
- package/dist/record.js.map +1 -1
- package/dist/report.d.ts +2 -2
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +1 -1
- package/dist/report.js.map +1 -1
- package/dist/resolve.d.ts +2 -2
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +2 -2
- package/dist/resolve.js.map +1 -1
- package/dist/sends.d.ts +2 -2
- package/dist/sends.d.ts.map +1 -1
- package/dist/sends.js +2 -2
- package/dist/sends.js.map +1 -1
- package/dist/server/replies.d.ts +2 -2
- package/dist/server/replies.d.ts.map +1 -1
- package/dist/server/replies.js +3 -3
- package/dist/server/replies.js.map +1 -1
- package/dist/server/server-connection.js +1 -1
- package/dist/server/server-connection.js.map +1 -1
- package/dist/server/server.d.ts +4 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +39 -21
- package/dist/server/server.js.map +1 -1
- package/dist/server/subscribe.d.ts.map +1 -1
- package/dist/server/subscribe.js +24 -4
- package/dist/server/subscribe.js.map +1 -1
- package/dist/server/subscribers.d.ts +18 -0
- package/dist/server/subscribers.d.ts.map +1 -0
- package/dist/server/subscribers.js +146 -0
- package/dist/server/subscribers.js.map +1 -0
- package/dist/session/prompt.d.ts +1 -1
- package/dist/session/prompt.d.ts.map +1 -1
- package/dist/session/prompt.js +1 -1
- package/dist/session/prompt.js.map +1 -1
- package/dist/spec/define.d.ts +1 -1
- package/dist/spec/define.d.ts.map +1 -1
- package/dist/transcribe/install.d.ts +1 -1
- package/dist/transcribe/install.d.ts.map +1 -1
- package/dist/transcribe/install.js +1 -1
- package/dist/transcribe/install.js.map +1 -1
- package/dist/transcribe/models.d.ts +2 -2
- package/dist/transcribe/models.d.ts.map +1 -1
- package/dist/transcribe/models.js +2 -2
- package/dist/transcribe/models.js.map +1 -1
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +9 -2
- package/dist/upload.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
- package/skills/max-cli/SKILL.md +75 -54
package/skills/max-cli/SKILL.md
CHANGED
|
@@ -24,9 +24,8 @@ description: >-
|
|
|
24
24
|
|
|
25
25
|
`max commands schema messages list --json` показывает схемы и эффекты одной команды.
|
|
26
26
|
Используйте `--json --no-input` для работы без вопросов; секреты передавайте явно через pipe.
|
|
27
|
-
`--
|
|
28
|
-
|
|
29
|
-
а синтаксис `items[].id` не нужен. `--max-output-bytes` и `--max-input-bytes` задают byte budgets;
|
|
27
|
+
`--json=id,text` оставляет эти поля каждого элемента списка вместе со страницей и полнотой. Для id
|
|
28
|
+
достаточно `--json=id`. `--max-output-bytes` и `--max-input-bytes` задают byte budgets;
|
|
30
29
|
одноразовые действия имеют срок 30 секунд, меняемый через `--timeout`.
|
|
31
30
|
Перед чувствительной записью `--dry-run` проверяет форму запроса и права до действия;
|
|
32
31
|
общий preview не подключается к мессенджеру, не резервирует запись и оставляет цели непроверенными.
|
|
@@ -103,11 +102,12 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
103
102
|
|
|
104
103
|
- **В pipe или с `--json` stdout — только данные**, одно значение JSON. Всё остальное, включая
|
|
105
104
|
предупреждения, уходит в stderr. Ошибка, завершающая команду, — тоже в stderr, stdout при ней пуст.
|
|
106
|
-
- **Частичные чтения и загрузки могут завершиться кодом `0`**: проверьте `complete`, `batch.failed` и `issue`; JSONL частичной загрузки добавляет `batch_summary`. Успешная часть сохраняется, повторяйте только незавершённое после указанной паузы.
|
|
107
|
-
- **Любой список — объект**, а не массив: `{ "items": [...], "page":
|
|
108
|
-
у бота
|
|
105
|
+
- **Частичные чтения и загрузки могут завершиться кодом `0`**: проверьте `missing`, `next`, а у загрузок — `complete`, `batch.failed` и `issue`; JSONL частичной загрузки добавляет `batch_summary`. Успешная часть сохраняется, повторяйте только незавершённое после указанной паузы.
|
|
106
|
+
- **Любой список — объект**, а не массив: `{ "items": [...], "page": { "limit": 20, "has_more": true }, "meta": {…} }`,
|
|
107
|
+
у бота тоже; одна вещь — `{ "item": {…} }`. Ключи — snake_case. Следующую страницу называет шаг `page.next`
|
|
108
|
+
в `next` (его `cursor` или `page`); чего в ответе нет — `missing`. У списка без страниц `page.has_more` — `false`.
|
|
109
109
|
`bot chats members list` кладёт рядом `marker` для следующей страницы.
|
|
110
|
-
- **`--jsonl`** — по объекту на строку, удобно для `jq`. Есть ли ещё, пишется только в stderr.
|
|
110
|
+
- **`--jsonl`** — по объекту на строку, удобно для `jq`. Есть ли ещё, пишется только в stderr. Отчёты `stats` `--jsonl` не принимают.
|
|
111
111
|
- **Ветвиться по коду возврата, а не по тексту**: `0` — успех, `2` — неверный ввод, `4` — нет
|
|
112
112
|
входа, `5` — профилю это действие не разрешено (`permissions`; ошибка называет запрещённый ресурс или действие — не обходить), `6` — не найдено, `7` — чата нет в списке разрешённых,
|
|
113
113
|
`8` — лимит: отправок за час, или MAX отказал во входе из-за частых попыток (тогда **не повторять**:
|
|
@@ -120,7 +120,7 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
120
120
|
1. **Id — всегда строки.** Id сообщений 18-значные, больше `Number.MAX_SAFE_INTEGER`. Никогда не
|
|
121
121
|
превращать их в число: `jq` и JavaScript молча округлят, и id станет чужим.
|
|
122
122
|
2. **Первое слово — профиль, если это не команда.** `max work chats list` — профиль `work`.
|
|
123
|
-
Флага `--profile` нет; то же делает переменная `MAX_PROFILE` или настройка `
|
|
123
|
+
Флага `--profile` нет; то же делает переменная `MAX_PROFILE` или настройка `default_profile`.
|
|
124
124
|
**Профиль не подразумевается, даже единственный:** без имени команда завершается с кодом `2`
|
|
125
125
|
и перечисляет профили (`error.profiles`) — спросите владельца, какой нужен, не берите первый.
|
|
126
126
|
Без профиля работают `--help`, `commands`, `skill show`, `account list`, `config show`. Имя профиля — латиница, цифры,
|
|
@@ -133,7 +133,7 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
133
133
|
`[{ id, name, username }]`. `contacts block`, `unblock`, `rename` и `account update --photo`
|
|
134
134
|
меняют аккаунт владельца — только по его просьбе.
|
|
135
135
|
4. **Код `14` — неизвестный исход записи, а не разрешение повторять её.** Проверьте
|
|
136
|
-
`max personal sends list --json` по `
|
|
136
|
+
`max personal sends list --json` по `operation_id` и историю целевого чата. `operation_id` связывает
|
|
137
137
|
запись с журналом, но не является ключом идемпотентности. Повтор сообщения возможен только
|
|
138
138
|
при подтверждённой дедупликации провайдера и с теми же чатом, темой, содержимым и `--send-id`;
|
|
139
139
|
никакой автоматической повторной записи только по коду ошибки.
|
|
@@ -146,9 +146,9 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
146
146
|
скачивания модели, со строгими ограничениями и подходящими прямыми ответами. Проверь
|
|
147
147
|
отсутствующие слова, родительские ссылки и сами сообщения; первый результат и его оценка
|
|
148
148
|
не доказывают ответ. Явный синтаксис остаётся строгим.
|
|
149
|
-
**Без `--discover`, `max personal search messages` с одним чатом (
|
|
149
|
+
**Без `--discover`, `max personal search messages` с одним чатом (`chat:` в запросе) спрашивает и сервер MAX**
|
|
150
150
|
(`--backend archive` — только архив). Хороший поиск требует скачанных чатов: если ничего не нашлось, а
|
|
151
|
-
`
|
|
151
|
+
в `next` есть шаг `messages.sync`, выполните его (`max personal messages sync --all --background`) или спросите владельца, прежде чем
|
|
152
152
|
говорить, что сообщения нет. Слова и фразы находят формы слов; `exact:` или `--exact` — только точную форму.
|
|
153
153
|
Default — строгий профиль Lucene:
|
|
154
154
|
фразы, AND/OR/NOT, field groups и date ranges. `alpha OR beta gamma` = `(alpha OR beta) AND gamma`.
|
|
@@ -160,7 +160,8 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
160
160
|
Подсчёт — `max personal stats messages show`. Руководства: [поиск](https://github.com/WireCatLabs/max-cli/blob/main/docs/search.md),
|
|
161
161
|
[поиск по темам](https://github.com/WireCatLabs/max-cli/blob/main/docs/topic-search.md) (разговоры по смыслу),
|
|
162
162
|
[язык запросов](https://github.com/WireCatLabs/max-cli/blob/main/docs/query-language.md).
|
|
163
|
-
5a. **Substring-поиску
|
|
163
|
+
5a. **Substring-поиску названий нужны три символа:** `title:` у chats list. Запрос `chats list` отвечает только из
|
|
164
|
+
локальной копии — с `--offline`; `contacts list name:`/`notes:` отказывают, пока в копии нет контактов. Строгие message
|
|
164
165
|
terms могут быть короче; не заменяйте strict zero hits fuzzy discovery автоматически.
|
|
165
166
|
|
|
166
167
|
5b. **`max personal store export` выгружает только скачанное и прочитанное** и в MAX не ходит. Какие куски
|
|
@@ -178,11 +179,11 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
178
179
|
6. **`messages show` и `messages context` требуют чат и id сообщения** — или одну ссылку `msg:…` из
|
|
179
180
|
`search messages`. Искомое сообщение в JSON помечено `"anchor": true`. Если сообщения нет, это
|
|
180
181
|
`not_found`, а не соседнее сообщение.
|
|
181
|
-
7. **Время сообщения зашито в его id**: `id >> 16` — миллисекунды. Поэтому
|
|
182
|
-
|
|
183
|
-
тот, ни в другой ответ. Две
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
7. **Время сообщения зашито в его id**: `id >> 16` — миллисекунды. Поэтому `id<…` и `id>…` в запросе
|
|
183
|
+
`messages list` работают для любого id, даже не прочитанного раньше. Само сообщение не входит ни в
|
|
184
|
+
тот, ни в другой ответ. Две начальные точки (`id<`, `id>`, `date<`, `date>`) вместе — отказ с кодом `2`.
|
|
185
|
+
`date` понимает и `30m`, `2h`, `1d` — столько назад: `max personal review 'date>1d'`; точное время — в
|
|
186
|
+
кавычках с секундами и смещением: `'date>"2026-09-23T09:00:00Z"'`. Запрос с `>` берите в одинарные кавычки.
|
|
186
187
|
8. **`MAX_CONFIG_DIR`, `MAX_STATE_DIR` меняют и запись в ключнице.** Устаревший `MAX_CACHE_DIR`
|
|
187
188
|
тоже влияет на неё. С этими переменными профиль ищет другой токен и может ответить
|
|
188
189
|
«нет сессии», хотя владелец вошёл. Файл общей копии задаёт `MESSAGING_STORE`. `max config show`
|
|
@@ -195,12 +196,12 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
195
196
|
-1000`. Один перевод строки в самом конце отбрасывается, остальные сохраняются.
|
|
196
197
|
11. **Номер страницы на живом списке может повторить или пропустить строку.** Сверху самое свежее,
|
|
197
198
|
поэтому сообщение, пришедшее между первой страницей и второй, сдвигает кого-то через границу.
|
|
198
|
-
Для переписки этого нет:
|
|
199
|
+
Для переписки этого нет: `id<…` привязан ко времени и точен.
|
|
199
200
|
12. **`max personal inbox --new` сдвигает место, где владелец остановился.** После него следующий
|
|
200
201
|
`--new` владельца не покажет того, что уже увидел агент. Без сдвига: просто `max personal inbox`
|
|
201
|
-
(непрочитанное) или `max personal inbox
|
|
202
|
-
13. **`--at-time` ставит сообщение в очередь MAX, а не отправляет.** Ответ — `{
|
|
203
|
-
message,
|
|
202
|
+
(непрочитанное) или `max personal inbox 'date>2h'`.
|
|
203
|
+
13. **`--at-time` ставит сообщение в очередь MAX, а не отправляет.** Ответ — `{item: {operation_id, send_id,
|
|
204
|
+
message, scheduled_for}}`; ушедшее сообщение получит другой id. Очередь: `max messages scheduled <чат>`.
|
|
204
205
|
Через MCP — параметр `at_time` у `max_write` (`command: "messages send"`) и инструмент `max_read` (`command: "messages scheduled"`).
|
|
205
206
|
Отменить можно только в приложении MAX.
|
|
206
207
|
|
|
@@ -223,7 +224,7 @@ Id ниже выдуманные — подставить настоящие и
|
|
|
223
224
|
- **Найти договорённость или документ:** найдите нужные чаты и ищите в локальной копии.
|
|
224
225
|
Проверьте покрытие поиска и `store status`; `messages list` показывает только окно сообщений.
|
|
225
226
|
Уточняйте найденное через `messages context` или `messages show`, приводите ссылки на сообщения.
|
|
226
|
-
Проверьте связанные чаты на поздние изменения. Пустой результат, пустой чат и `
|
|
227
|
+
Проверьте связанные чаты на поздние изменения. Пустой результат, пустой чат и `has_more: false`
|
|
227
228
|
не доказывают полноту истории MAX. Если это влияет на ответ, объясните пробел.
|
|
228
229
|
Скачивайте только разрешённый чат и ограниченный период или объём; сначала согласуйте
|
|
229
230
|
с владельцем чат и предел сообщений или период. Без сети недостающую историю скачать нельзя.
|
|
@@ -239,48 +240,49 @@ Id ниже выдуманные — подставить настоящие и
|
|
|
239
240
|
черновик; не меняйте настройки и не переключайте профили.
|
|
240
241
|
|
|
241
242
|
```sh
|
|
242
|
-
max personal chats list --
|
|
243
|
-
max personal chats list --
|
|
243
|
+
max personal chats list title:проект --offline --json # найти чат, взять его id
|
|
244
|
+
max personal chats list 'unread_count>0' --offline --json # где есть непрочитанное
|
|
244
245
|
max personal inbox --json # непрочитанное во всех чатах
|
|
245
246
|
max personal inbox --new --json # что пришло с прошлой проверки, один раз
|
|
246
|
-
max personal review
|
|
247
|
-
max personal review
|
|
248
|
-
max personal tasks list
|
|
247
|
+
max personal review 'date>"2026-09-23T09:00:00Z"' --json # всё, свои тоже, для обзора «кто кому должен»
|
|
248
|
+
max personal review 'chat:"-1000"' --unanswered 4h --json # вопросы в группе, на которые 4 часа не ответили ни владелец, ни админы
|
|
249
|
+
max personal tasks list state:open --json # что ждёт ответа владельца; задачи открывает и закрывает review
|
|
249
250
|
max personal tasks close <задача> --as dismissed --reason no-reply-needed --json # только когда владелец так решил
|
|
250
251
|
max personal watch --jsonl # новые сообщения по мере прихода; `max personal serve` запустится сам
|
|
251
252
|
max personal watch --events --jsonl # плюс правки, удаления, реакции, прочтения, изменения чатов; поле "event"
|
|
252
253
|
max personal server status --json # работает ли фоновый сервер, какой версии, подключён ли
|
|
253
254
|
max personal chats show -1000 --json # один чат и кто в нём
|
|
254
|
-
max personal chats events -1000
|
|
255
|
-
max personal chats members list -1000 --all --json # все участники от MAX:
|
|
255
|
+
max personal chats events -1000 'time>=2026-09-20' --json # кто вступил, вышел, кого добавили и удалили
|
|
256
|
+
max personal chats members list -1000 --all --json # все участники от MAX: registered_at, last_seen_at
|
|
256
257
|
max personal chats requests list -1000 --json # заявки в канал с одобрением; время неизвестно
|
|
257
258
|
max personal chats requests accept -1000 20000002 # только по просьбе владельца; decline — отказать
|
|
258
259
|
max personal chats rules show -1000 --json # правила модерации группы; set <ключ> <значение> меняет одно
|
|
259
260
|
max personal chats moderate -1000 --dry-run --json # что нового нарушает правила; без --dry-run — только по слову владельца
|
|
260
261
|
max personal contacts show @ivan --json # один человек и общие чаты
|
|
261
262
|
max personal messages list -1000 --limit 20 --json # последние сообщения, от старых к новым
|
|
262
|
-
max personal messages list -1000
|
|
263
|
+
max personal messages list -1000 'id>100000000000000001' --json # что было после этого сообщения
|
|
263
264
|
max personal messages context -1000 100000000000000001 --before-n 3 --after-n 3 --json
|
|
264
265
|
max personal messages transcribe -1000 100000000000000001 --json # текст голосового, на этой машине
|
|
265
266
|
```
|
|
266
267
|
|
|
267
268
|
**Обзор «кто кому должен» — `max personal review`**, одним вызовом: все сообщения обеих сторон во всех
|
|
268
|
-
изменившихся чатах.
|
|
269
|
+
изменившихся чатах. `date>…` в запросе — граница, на которой кончился прошлый обзор; её называет владелец или
|
|
269
270
|
прошлый обзор. Разложить на «я должен», «жду от других», «нужно уточнить» — работа агента; у пункта
|
|
270
|
-
чат, дата и id сообщений. Своё «сделаю» ищите в `"outgoing": true`.
|
|
271
|
-
чего не
|
|
271
|
+
чат, дата и id сообщений. Своё «сделаю» ищите в `"outgoing": true`. Если есть `missing`, сказать,
|
|
272
|
+
чего не хватает. Следующий обзор начинать с запроса шага `review.next` из `next`: при неполном обзоре он
|
|
273
|
+
повторяет ту же границу. Напоминания —
|
|
272
274
|
черновики, отправка — только по слову владельца.
|
|
273
275
|
|
|
274
276
|
Голосовое — вложение `"kind": "voice"` в `messages list|show|context`, `search messages`, `inbox` и `review`.
|
|
275
277
|
Его текст даёт `max personal messages transcribe`; до минуты на пять минут речи, повторно — сразу из общей
|
|
276
278
|
локальной копии сообщений. Уже расшифрованное голосовое несёт поле `transcript` в
|
|
277
279
|
`messages list` и `inbox`; `--transcribe` там расшифровывает остальные показанные, а не
|
|
278
|
-
расшифрованные
|
|
279
|
-
сообщения и сообщает
|
|
280
|
+
расшифрованные называет записью `transcript` в `missing`. При отсутствии модели пакетное чтение сохраняет
|
|
281
|
+
сообщения и сообщает причину там же; одиночная `messages transcribe` откажет
|
|
280
282
|
и назовёт `max personal models audio download <id>`: **сказать об этом владельцу и не скачивать самому** — это сотни
|
|
281
283
|
мегабайт, и выбор модели за ним.
|
|
282
284
|
|
|
283
|
-
Каталог аудиомоделей общий с Telegram; путь есть в `max personal models audio list --json` (`
|
|
285
|
+
Каталог аудиомоделей общий с Telegram; путь каждой модели есть в `max personal models audio list --json` (`path`).
|
|
284
286
|
Существующие файлы используются повторно; `WIRECAT_STATE_DIR` задаёт другое место.
|
|
285
287
|
|
|
286
288
|
Вложение в JSON: `{ "kind": "photo", "url": "https://…", "width": 901, "height": 594 }`. Чтобы
|
|
@@ -298,13 +300,13 @@ max personal messages transcribe -1000 100000000000000001 --json # текст
|
|
|
298
300
|
где человек писал и его личный чат с ботом; `bot messages between <кто> <кто>` — их переписка в
|
|
299
301
|
чатах, где писал каждый (`--limit` — на чат). Всё это без сети, кроме `contacts show --refresh`.
|
|
300
302
|
Чужие локальные копии ботов — `--all-bots` или `--bots <профили>` у `search messages`, `contacts show` и
|
|
301
|
-
`messages between`, и только если владелец разрешил `
|
|
303
|
+
`messages between`, и только если владелец разрешил `read_other_bots`; иначе отказ с кодом `5` — скажите
|
|
302
304
|
владельцу команду из ошибки. `bot watch --jsonl` забирает события у всех других
|
|
303
305
|
читателей бота — запускайте только по просьбе владельца. Отказ с кодом `7`
|
|
304
306
|
значит «чата нет в списке получателей бота»: скажите владельцу, какую команду выполнить, и не
|
|
305
307
|
пишите в обход. Остальные коды бота: `4` — нет токена бота или MAX его не принял, `5` — профиль только
|
|
306
308
|
для чтения или действие не разрешено `allow`, `6` — чат не найден (название, которого бот не видел, или
|
|
307
|
-
человек без `user:`), `8` — исчерпан `
|
|
309
|
+
человек без `user:`), `8` — исчерпан `sends_per_hour`, `14` — неизвестно, выполнена ли запись. С `--json`
|
|
308
310
|
stdout — только данные, в той же форме, что у личного аккаунта; id больше 2^53 приходит строкой.
|
|
309
311
|
Все методы официальной схемы Bot API доступны, включая операции вне удобных команд:
|
|
310
312
|
`max <имя> bot api <операция>`; её флаги —
|
|
@@ -333,7 +335,7 @@ MAX-боту; личный протокол явно отказывает неп
|
|
|
333
335
|
из раздела установки. Убедись, что установленная команда доступна по имени.
|
|
334
336
|
|
|
335
337
|
Для количества совпадений в архиве используй `max personal stats messages show [запрос] --by chat|sender|day|hour --json`: одна
|
|
336
|
-
запись считается один раз. Проверяй
|
|
338
|
+
запись считается один раз. Проверяй `missing`: неполный архив даёт нижнюю границу. Отчёт — один `{item}`, `--jsonl` он не принимает. `--source max` явно включает
|
|
337
339
|
другие сохранённые профили; обычный вызов остаётся в текущей учётной записи.
|
|
338
340
|
|
|
339
341
|
MCP `max_read` с `command: "stats chats show"` читает активность из архива без запроса вступлений и выходов.
|
|
@@ -383,7 +385,7 @@ PDF с текстовым слоем — unpdf. Фото и сканы чита
|
|
|
383
385
|
вложениях укажите `--attachment`, начиная с 1.
|
|
384
386
|
|
|
385
387
|
По умолчанию выполняйте OCR сами средствами чтения файлов и зрения агента. После загрузки и локального
|
|
386
|
-
извлечения обработайте строки `needs-agent`: найдите `
|
|
388
|
+
извлечения обработайте строки `needs-agent`: найдите `local_path` через `attachments list is:needs_text`,
|
|
387
389
|
прочитайте фото или скан, затем сохраните буквальную расшифровку через `attachments text set`.
|
|
388
390
|
Сохраняйте locator сообщения и номер вложения; проверьте результат запросом `content:`.
|
|
389
391
|
Не заменяйте этот путь автоматическим вызовом отдельного API. Массовую обработку через API выбирает
|
|
@@ -400,7 +402,7 @@ PDF с текстовым слоем — unpdf. Фото и сканы чита
|
|
|
400
402
|
```sh
|
|
401
403
|
max personal attachments extract --chat "Книжный клуб" --download --output-dir ./files
|
|
402
404
|
max personal search messages 'content:договор'
|
|
403
|
-
max personal attachments list
|
|
405
|
+
max personal attachments list 'chat:"Книжный клуб" is:needs_text'
|
|
404
406
|
max personal attachments text set "Книжный клуб" 204 --text-file ./scan.txt
|
|
405
407
|
```
|
|
406
408
|
|
|
@@ -424,7 +426,7 @@ output_dir в MCP также их защищает. Обычные скрыты
|
|
|
424
426
|
Локальная речь: полная mono/stereo Ogg Opus запись без 10-минутного предела; длинные записи требуют больше памяти.
|
|
425
427
|
Подготовка после явно разрешённой загрузки: `messages sync <чат> --catch-up` с
|
|
426
428
|
`--catch-up-chunks`, `--catch-up-messages`, `--catch-up-time`; `--no-catch-up` отменяет
|
|
427
|
-
настройку `
|
|
429
|
+
настройку `search_catch_up`. Модели не скачиваются, удалённый провайдер не вызывается.
|
|
428
430
|
Разрывы: сначала локальный `store gaps plan <чат>`, затем только по слову владельца
|
|
429
431
|
`store gaps repair <чат> --fingerprint <хеш>`; ограничивайте `--max-gaps`, `--limit`,
|
|
430
432
|
`--repair-time`, `--page-size`, `--pause`. `--background` использует обычные задания.
|
|
@@ -456,12 +458,12 @@ max personal contacts notes show 101 NOTE_ID --json
|
|
|
456
458
|
max personal contacts notes edit 101 NOTE_ID --revision 1 --file /path/to/own-note.md
|
|
457
459
|
max personal contacts notes remove 101 NOTE_ID
|
|
458
460
|
max personal contacts show 101 --with-notes --json
|
|
459
|
-
max personal contacts list
|
|
461
|
+
max personal contacts list 'notes:"follow up"' --json
|
|
460
462
|
max personal metadata get --chat CHAT_ID --json
|
|
461
463
|
max personal metadata refresh --chat CHAT_ID --limit 1 --json
|
|
462
464
|
max personal tags auto --chat CHAT_ID --dry-run --json
|
|
463
465
|
max personal tags auto --chat CHAT_ID --refresh-metadata --limit 1 --json
|
|
464
|
-
max personal tags list
|
|
466
|
+
max personal tags list sources:auto --json
|
|
465
467
|
max personal tags remove news --chat CHAT_ID --source auto
|
|
466
468
|
```
|
|
467
469
|
|
|
@@ -473,16 +475,35 @@ max personal tags remove news --chat CHAT_ID --source auto
|
|
|
473
475
|
Без `--source` удаление метки убирает оба источника; следующий явный запуск `tags auto` может
|
|
474
476
|
создать автоматическую метку снова. Связывание людей не объединяет их личные заметки.
|
|
475
477
|
|
|
478
|
+
Телефоны, почта, ссылки и документы Google из сохранённых сообщений хранятся как упоминания: их находят
|
|
479
|
+
правила при каждой записи в базу. `mentions list` принимает запрос: `kind:phone|email|url|document`,
|
|
480
|
+
`status:found|linked|dismissed`, `domain:` (сайт ссылки или адреса; `docs.google.com` значит `google.com`)
|
|
481
|
+
и `value:`; слово без поля — значение в любой записи, `89001234567` найдёт `+79001234567`. Сообщения,
|
|
482
|
+
сохранённые до появления упоминаний, читает один `mentions rebuild`. У каждой строки есть `locator`
|
|
483
|
+
сообщения; текст упоминаний — только владельцу, не в логи и не в файлы. Поиск сообщений понимает `phone:`, `email:`,
|
|
484
|
+
`url:` и `domain:` (почта в кавычках: `email:"ana@example.com"`). `mentions confirm <id> [person:<uid>|organization:<id>]`
|
|
485
|
+
записывает, чьё значение, `mentions reject <id>` отклоняет его насовсем; автор записи — агент или владелец
|
|
486
|
+
(`--as-owner`).
|
|
487
|
+
|
|
488
|
+
```sh
|
|
489
|
+
max personal mentions list kind:phone --json
|
|
490
|
+
max personal mentions list domain:google.com kind:url --json
|
|
491
|
+
max personal mentions show 12 --json
|
|
492
|
+
max personal mentions rebuild
|
|
493
|
+
max personal mentions confirm 12 person:<uid>
|
|
494
|
+
max personal mentions reject 12
|
|
495
|
+
```
|
|
496
|
+
|
|
476
497
|
Рейтинги архива: `max personal stats messages top` / `max personal stats contacts top` — метрика `--measure` или
|
|
477
498
|
`--score helpful|active|engaging`; оценки используют всю допустимую выборку до limit.
|
|
478
|
-
Читай coverage/quality и исключения: неизвестные счётчики не равны нулю, свежесть наблюдений показана по полям; старые значения остаются unknown. Используй
|
|
479
|
-
продолжай
|
|
499
|
+
Читай coverage/quality и исключения: неизвестные счётчики не равны нулю, свежесть наблюдений показана по полям; старые значения остаются unknown. Используй `selection` строки и шаг `stats.evidence` из `next` для `stats messages evidence` / `stats contacts evidence`,
|
|
500
|
+
продолжай по `cursor` шага `page.next`; при изменении данных начни без cursor.
|
|
480
501
|
Руководство: [рейтинги](https://github.com/WireCatLabs/max-cli/blob/main/docs/rankings.md).
|
|
481
502
|
|
|
482
503
|
Для вопросов без наблюдаемого ответа используй `stats messages unanswered`; время ответа явно
|
|
483
504
|
выбранных людей — `stats contacts responses --answerer <person>`. Помощь новичкам с известной датой
|
|
484
505
|
вступления — `stats chats newcomers <chat>`, посты каналов с просмотрами и малым обсуждением —
|
|
485
|
-
`stats messages discussion`. Проверяй качество архива и reply-графа, копируй
|
|
506
|
+
`stats messages discussion`. Проверяй качество архива и reply-графа, копируй точную `selection` строки
|
|
486
507
|
с `--component report`. Неизвестные история и дата вступления не равны нулю. Отчёты читают только
|
|
487
508
|
сохранённые данные; не выводи из выбранных id, кто был админом в прошлом.
|
|
488
509
|
|
|
@@ -494,22 +515,22 @@ max personal tags remove news --chat CHAT_ID --source auto
|
|
|
494
515
|
|
|
495
516
|
|
|
496
517
|
Удалённому агенту доступны байты сохранённого файла: найдите attachments show через max_tools_search
|
|
497
|
-
и вызовите max_read. Скрытые файлы, папки CLI и хранилище не передаются, включая ссылки. Соберите порции по
|
|
498
|
-
Если клиент не может открыть PDF, запросите каждую страницу через page:1..pdf.
|
|
518
|
+
и вызовите max_read. Скрытые файлы, папки CLI и хранилище не передаются, включая ссылки. Соберите порции по next_offset_bytes, передавайте if_sha256 и проверьте хеш.
|
|
519
|
+
Если клиент не может открыть PDF, запросите каждую страницу через page:1..pdf.page_count;
|
|
499
520
|
нужны необязательные unpdf/@napi-rs/canvas. Страница возвращается изображением; если видны только
|
|
500
521
|
метаданные, запросите format:base64 и покажите PNG средствами агента. Просмотрите реальные пиксели
|
|
501
|
-
всех страниц, не считайте получение base64 чтением. pdf.
|
|
522
|
+
всех страниц, не считайте получение base64 чтением. pdf.source_sha256 — хеш исходного PDF,
|
|
502
523
|
верхний sha256 — хеш PNG. Нет внешнего OCR API или автоматической записи: сохраните свой буквальный
|
|
503
524
|
текст через attachments text set и проверьте content:. Если показать страницы нельзя, сообщите об этом;
|
|
504
525
|
не подставляйте прежний текст индекса. Качество зависит от разрешения, языка и структуры документа.
|
|
505
526
|
|
|
506
527
|
Удержание: `max personal stats chats retention <chat> --checkpoints 1d,7d,30d --within 7d --json`.
|
|
507
|
-
Используй только известные
|
|
528
|
+
Используй только известные joined_at; partial absence и пропущенные снимки — unknown, будущие окна — pending.
|
|
508
529
|
Показывай observable знаменатель, неизвестные и фактическую дату снимка; не называй это непрерывным участием.
|
|
509
|
-
|
|
530
|
+
Сообщения когорты — через `stats messages evidence --component report` с точной `selection` строки.
|
|
510
531
|
|
|
511
532
|
Счётчики: `max personal stats messages counters show --chat <chat> --counters views,reactions --json`.
|
|
512
|
-
Проверяй
|
|
533
|
+
Проверяй observed_at/source/freshness каждого поля (24h по умолчанию). Refresh — remote read + local write:
|
|
513
534
|
`stats messages counters refresh --chat <chat> --max-messages 20 --sync-time 30s --dry-run --json`.
|
|
514
535
|
Предпросмотр не подключается. Реальный refresh требует разрешённой записи и явного chat или pinned selection;
|
|
515
536
|
никогда не освежай весь аккаунт неявно. MAX поддерживает views/reactions; comments unsupported.
|
|
@@ -526,5 +547,5 @@ Cohort drilldown идёт через `stats messages evidence --component report
|
|
|
526
547
|
|
|
527
548
|
Статистический `--answerer` также принимает сохранённое имя, своё имя и @username напрямую,
|
|
528
549
|
без подключения. При неоднозначности используйте возвращённые кандидаты нужного аккаунта,
|
|
529
|
-
не угадывайте. `
|
|
550
|
+
не угадывайте. `identity_known: false` вместе с `status: unknown` означает, что явно выбранный
|
|
530
551
|
ID не наблюдался; ноль ответов не доказывает нулевую активность.
|