@leemour/max-cli 0.5.0 → 0.6.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 +14 -5
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +1 -0
- package/dist/cache/store.js.map +1 -1
- package/dist/client.d.ts +57 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +229 -78
- package/dist/client.js.map +1 -1
- package/dist/commands/commands.d.ts +8 -0
- package/dist/commands/commands.d.ts.map +1 -0
- package/dist/commands/commands.js +36 -0
- package/dist/commands/commands.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +2 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts +18 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +21 -0
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/inbox.d.ts +14 -0
- package/dist/commands/inbox.d.ts.map +1 -0
- package/dist/commands/inbox.js +90 -0
- package/dist/commands/inbox.js.map +1 -0
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +6 -2
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/reactions.d.ts +3 -0
- package/dist/commands/reactions.d.ts.map +1 -0
- package/dist/commands/reactions.js +26 -0
- package/dist/commands/reactions.js.map +1 -0
- package/dist/commands/recipients.d.ts +9 -0
- package/dist/commands/recipients.d.ts.map +1 -0
- package/dist/commands/recipients.js +68 -0
- package/dist/commands/recipients.js.map +1 -0
- package/dist/commands/sends.d.ts +4 -0
- package/dist/commands/sends.d.ts.map +1 -0
- package/dist/commands/sends.js +21 -0
- package/dist/commands/sends.js.map +1 -0
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +80 -15
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/skill.d.ts.map +1 -1
- package/dist/commands/skill.js +2 -1
- package/dist/commands/skill.js.map +1 -1
- package/dist/config.d.ts +9 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +16 -0
- package/dist/config.js.map +1 -1
- package/dist/domain/map.d.ts +3 -1
- package/dist/domain/map.d.ts.map +1 -1
- package/dist/domain/map.js +9 -0
- package/dist/domain/map.js.map +1 -1
- package/dist/domain/models.d.ts +33 -0
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/models.js.map +1 -1
- package/dist/generated/client.generated.d.ts +10 -0
- package/dist/generated/client.generated.d.ts.map +1 -1
- package/dist/generated/client.generated.js +10 -0
- package/dist/generated/client.generated.js.map +1 -1
- package/dist/generated/opcodes.generated.d.ts +13 -0
- package/dist/generated/opcodes.generated.d.ts.map +1 -1
- package/dist/generated/opcodes.generated.js +13 -0
- package/dist/generated/opcodes.generated.js.map +1 -1
- package/dist/generated/operations.generated.d.ts +86 -1
- package/dist/generated/operations.generated.d.ts.map +1 -1
- package/dist/generated/operations.generated.js +10 -1
- package/dist/generated/operations.generated.js.map +1 -1
- package/dist/markdown.d.ts +18 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +52 -0
- package/dist/markdown.js.map +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +10 -0
- package/dist/program.js.map +1 -1
- package/dist/rendering/messages.d.ts.map +1 -1
- package/dist/rendering/messages.js +6 -0
- package/dist/rendering/messages.js.map +1 -1
- package/dist/resolve.d.ts +15 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +48 -0
- package/dist/resolve.js.map +1 -0
- package/dist/sends/guard.d.ts +26 -0
- package/dist/sends/guard.d.ts.map +1 -0
- package/dist/sends/guard.js +48 -0
- package/dist/sends/guard.js.map +1 -0
- package/dist/sends/journal.d.ts +29 -0
- package/dist/sends/journal.d.ts.map +1 -0
- package/dist/sends/journal.js +40 -0
- package/dist/sends/journal.js.map +1 -0
- package/dist/sends/recipients.d.ts +29 -0
- package/dist/sends/recipients.d.ts.map +1 -0
- package/dist/sends/recipients.js +62 -0
- package/dist/sends/recipients.js.map +1 -0
- package/dist/session/adopt.d.ts.map +1 -1
- package/dist/session/adopt.js +7 -6
- package/dist/session/adopt.js.map +1 -1
- package/dist/session/browser.d.ts +55 -0
- package/dist/session/browser.d.ts.map +1 -0
- package/dist/session/browser.js +292 -0
- package/dist/session/browser.js.map +1 -0
- package/dist/session/handshake.d.ts +2 -0
- package/dist/session/handshake.d.ts.map +1 -1
- package/dist/session/handshake.js +3 -1
- package/dist/session/handshake.js.map +1 -1
- package/dist/session/login.d.ts +20 -0
- package/dist/session/login.d.ts.map +1 -0
- package/dist/session/login.js +66 -0
- package/dist/session/login.js.map +1 -0
- package/dist/session/prompt.d.ts +3 -1
- package/dist/session/prompt.d.ts.map +1 -1
- package/dist/session/prompt.js +2 -2
- package/dist/session/prompt.js.map +1 -1
- package/dist/session/qr-terminal.d.ts +9 -0
- package/dist/session/qr-terminal.d.ts.map +1 -0
- package/dist/session/qr-terminal.js +34 -0
- package/dist/session/qr-terminal.js.map +1 -0
- package/dist/session/store.d.ts +2 -0
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +2 -0
- package/dist/session/store.js.map +1 -1
- package/dist/spec/index.d.ts.map +1 -1
- package/dist/spec/index.js +11 -1
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/operations/login.d.ts +64 -0
- package/dist/spec/operations/login.d.ts.map +1 -0
- package/dist/spec/operations/login.js +99 -0
- package/dist/spec/operations/login.js.map +1 -0
- package/dist/spec/operations/messages.d.ts +27 -1
- package/dist/spec/operations/messages.d.ts.map +1 -1
- package/dist/spec/operations/messages.js +46 -2
- package/dist/spec/operations/messages.js.map +1 -1
- package/dist/testing/mock-max.d.ts +3 -2
- package/dist/testing/mock-max.d.ts.map +1 -1
- package/dist/testing/mock-max.js +1 -1
- package/dist/testing/mock-max.js.map +1 -1
- package/dist/testing/sandbox.js +1 -0
- package/dist/testing/sandbox.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +7 -3
- package/skills/max-cli/SKILL.md +14 -3
package/dist/testing/sandbox.js
CHANGED
|
@@ -29,5 +29,6 @@ process.env.MAX_CACHE_DIR = join(sandbox, "cache");
|
|
|
29
29
|
process.env.TMPDIR = sandbox;
|
|
30
30
|
// Read before the keyring, so a token exported in the shell would log the suite in to the real account.
|
|
31
31
|
delete process.env.MAX_TOKEN;
|
|
32
|
+
process.env.MAX_TEST_SANDBOX = "1";
|
|
32
33
|
afterAll(() => rmSync(sandbox, { recursive: true, force: true }));
|
|
33
34
|
//# sourceMappingURL=sandbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/testing/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;AAExD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACpD,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAClD,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAClD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAA;AAC5B,wGAAwG;AACxG,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/testing/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAA;AAExD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AACpD,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAClD,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAClD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAA;AAC5B,wGAAwG;AACxG,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAA;AAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAA;AAElC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leemour/max-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.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",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"version:sync": "node --experimental-strip-types scripts/version.ts --sync",
|
|
36
36
|
"probe:ids": "pnpm build && node --experimental-strip-types scripts/id-shape.ts",
|
|
37
37
|
"probe:download": "pnpm build && node --experimental-strip-types scripts/probe-download.ts",
|
|
38
|
+
"probe:reply": "pnpm build && node --experimental-strip-types scripts/probe-reply.ts",
|
|
38
39
|
"probe:edits": "pnpm build && node --experimental-strip-types scripts/probe-edits.ts",
|
|
39
40
|
"probe:attachments": "pnpm build && node --experimental-strip-types scripts/probe-attachments.ts",
|
|
40
41
|
"verify:live": "pnpm build && node --experimental-strip-types scripts/verify-commands.ts",
|
|
@@ -43,12 +44,15 @@
|
|
|
43
44
|
"prepublishOnly": "pnpm build",
|
|
44
45
|
"probe:contacts": "pnpm build && node --experimental-strip-types scripts/probe-contacts.ts",
|
|
45
46
|
"probe:reactions": "pnpm build && node --experimental-strip-types scripts/probe-reactions.ts",
|
|
46
|
-
"probe:
|
|
47
|
+
"probe:message-shapes": "pnpm build && node --experimental-strip-types scripts/probe-message-shapes.ts",
|
|
48
|
+
"probe:token": "pnpm build && node --experimental-strip-types scripts/probe-token.ts",
|
|
49
|
+
"probe:inbox": "pnpm build && node --experimental-strip-types scripts/probe-inbox.ts"
|
|
47
50
|
},
|
|
48
51
|
"dependencies": {
|
|
49
|
-
"@leemour/cli-core": "^0.
|
|
52
|
+
"@leemour/cli-core": "^0.2.0",
|
|
50
53
|
"commander": "^15.0.0",
|
|
51
54
|
"lossless-json": "^4.3.1",
|
|
55
|
+
"qrcode-generator": "2.0.4",
|
|
52
56
|
"string-width": "^8.2.2",
|
|
53
57
|
"valibot": "^1.5.0",
|
|
54
58
|
"wrap-ansi": "^10.0.2",
|
package/skills/max-cli/SKILL.md
CHANGED
|
@@ -8,14 +8,19 @@ description: Читать и отправлять сообщения в личн
|
|
|
8
8
|
`max` работает с **настоящим личным аккаунтом** владельца. Ошибка здесь не роняет тест, а пишет
|
|
9
9
|
живому человеку. Один вызов — одно действие: подключиться, сделать, напечатать, выйти.
|
|
10
10
|
|
|
11
|
-
Полный список команд и флагов —
|
|
12
|
-
|
|
11
|
+
Полный список команд и флагов — **`max commands --json`**: всё дерево одним ответом — аргументы,
|
|
12
|
+
флаги (берёт ли значение, обязателен ли), коды выхода и пометка `mutates: true` на командах, которые
|
|
13
|
+
что-то меняют в MAX. `max --help` — то же для человека. Здесь — то, что справка не скажет: ловушки и
|
|
14
|
+
границы.
|
|
13
15
|
|
|
14
16
|
## Границы
|
|
15
17
|
|
|
16
18
|
- **Ничего не отправлять без прямой просьбы владельца.** `max messages send` — только когда он
|
|
17
19
|
сам попросил отправить конкретный текст в конкретный чат. Черновик, «наверное стоит ответить»,
|
|
18
20
|
вывод из прочитанного — это не просьба.
|
|
21
|
+
- **Отказ `5`, `7` или `8` на отправке или реакции — это решение владельца, а не сбой.** Не обходить его: не
|
|
22
|
+
менять настройки, не звать `max recipients add`, не ждать и не повторять. Сказать владельцу, что
|
|
23
|
+
отправка не прошла и почему.
|
|
19
24
|
- **Чтение ничего не отмечает прочитанным** и не показывает собеседнику, что вы заходили. Читать
|
|
20
25
|
можно свободно.
|
|
21
26
|
- **Не для:** ботов MAX, рассылок, автоответов, слежения в реальном времени, чужих аккаунтов.
|
|
@@ -30,7 +35,8 @@ description: Читать и отправлять сообщения в личн
|
|
|
30
35
|
- **Список — это объект**, а не массив: `{ "items": [...], "page": 1, "limit": 20, "hasMore": true }`.
|
|
31
36
|
- **`--jsonl`** — по объекту на строку, удобно для `jq`. Есть ли ещё, пишется только в stderr.
|
|
32
37
|
- **Ветвиться по коду возврата, а не по тексту**: `0` — успех, `2` — неверный ввод, `4` — нет
|
|
33
|
-
входа, `6` — не найдено, `
|
|
38
|
+
входа, `5` — профиль только для чтения, `6` — не найдено, `7` — чата нет в списке разрешённых,
|
|
39
|
+
`8` — лимит отправок за час, `14` — **неизвестно, ушло ли сообщение** (см. отправку).
|
|
34
40
|
- `-v` и `-vv` добавляют подробности в вывод для человека. Версия — `max -V`. Строки о каждом
|
|
35
41
|
запросе к MAX — `--trace`, в stderr.
|
|
36
42
|
|
|
@@ -72,6 +78,9 @@ description: Читать и отправлять сообщения в личн
|
|
|
72
78
|
11. **Номер страницы на живом списке может повторить или пропустить строку.** Сверху самое свежее,
|
|
73
79
|
поэтому сообщение, пришедшее между первой страницей и второй, сдвигает кого-то через границу.
|
|
74
80
|
Для переписки этого нет: `--before` привязан ко времени и точен.
|
|
81
|
+
12. **`max inbox --new` сдвигает место, где владелец остановился.** После него следующий
|
|
82
|
+
`--new` владельца не покажет того, что уже увидел агент. Без сдвига: просто `max inbox`
|
|
83
|
+
(непрочитанное) или `max inbox --since <время>`.
|
|
75
84
|
|
|
76
85
|
## Типичный путь
|
|
77
86
|
|
|
@@ -80,6 +89,8 @@ Id ниже выдуманные — подставить настоящие и
|
|
|
80
89
|
```sh
|
|
81
90
|
max chats list --search "проект" --json # найти чат, взять его id
|
|
82
91
|
max chats list --unread --json # где есть непрочитанное
|
|
92
|
+
max inbox --json # непрочитанное во всех чатах
|
|
93
|
+
max inbox --new --json # что пришло с прошлой проверки, один раз
|
|
83
94
|
max chats show -1000 --json # один чат и кто в нём
|
|
84
95
|
max contacts show @ivan --json # один человек и общие чаты
|
|
85
96
|
max messages list -1000 --limit 20 --json # последние сообщения, от старых к новым
|