@wirecat/max-cli 0.52.0 → 0.54.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 +1 -1
- package/dist/bin/max.js +0 -4
- package/dist/bin/max.js.map +1 -1
- package/dist/client/delivery.d.ts.map +1 -1
- package/dist/client/delivery.js +3 -0
- package/dist/client/delivery.js.map +1 -1
- package/dist/commands/bot-context.d.ts +1 -1
- package/dist/commands/bot-context.d.ts.map +1 -1
- package/dist/commands/bot-context.js +1 -1
- package/dist/commands/bot-context.js.map +1 -1
- package/dist/commands/bot-sends.d.ts.map +1 -1
- package/dist/commands/bot-sends.js +1 -6
- 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 +4 -1
- package/dist/commands/bot-setup.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +6 -52
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +0 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/mcp.d.ts +0 -7
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +8 -46
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/messages.d.ts.map +1 -1
- package/dist/commands/messages.js +1 -13
- package/dist/commands/messages.js.map +1 -1
- package/dist/commands/recipients.d.ts.map +1 -1
- package/dist/commands/recipients.js +4 -4
- package/dist/commands/recipients.js.map +1 -1
- package/dist/config.d.ts +4 -36
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -40
- package/dist/config.js.map +1 -1
- package/dist/diagnose.d.ts +0 -4
- package/dist/diagnose.d.ts.map +1 -1
- package/dist/diagnose.js +1 -4
- package/dist/diagnose.js.map +1 -1
- package/dist/mcp/instructions.d.ts +1 -10
- package/dist/mcp/instructions.d.ts.map +1 -1
- package/dist/mcp/instructions.js +1 -1
- package/dist/mcp/instructions.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -10
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +1 -19
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +0 -11
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +1 -2
- package/dist/program.js.map +1 -1
- package/dist/sends.d.ts +2 -2
- package/dist/sends.d.ts.map +1 -1
- package/dist/sends.js +2 -11
- package/dist/sends.js.map +1 -1
- package/dist/server/server.js +1 -1
- package/dist/server/server.js.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +1 -4
- package/dist/update.js.map +1 -1
- package/dist/upload.d.ts +3 -0
- package/dist/upload.d.ts.map +1 -1
- package/dist/upload.js +10 -23
- 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 +6 -4
- package/dist/inbox-point.d.ts +0 -3
- package/dist/inbox-point.d.ts.map +0 -1
- package/dist/inbox-point.js +0 -17
- package/dist/inbox-point.js.map +0 -1
package/dist/upload.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,OAAqD,CAAA;AAK5F,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,OAA4D,CAAA;AAEnG,eAAO,MAAM,eAAe,SAAU,MAAM,gBAAuB;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,IAQ/F,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,UAAU,SAAgB,MAAM,gBAAuB;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAQ,OAAO,CAAC,IAAI,CAU5G,CAAA;AAUD,iGAAiG;AACjG,eAAO,MAAM,WAAW,QAAe,MAAM,QAAQ,MAAM,QAAQ,IAAI,KAAG,OAAO,CAAC,MAAM,CAYvF,CAAA;AAkBD;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,QAAQ,MAAM,QAAQ,IAAI,KAAG,OAAO,CAAC,IAAI,CACV,CAAA;AAErE,iGAAiG;AACjG,eAAO,MAAM,WAAW,SAAU,OAAO,GAAG,eAAe,OAAO,MAAM,QAAQ,MAAM,QAAQ,IAAI,kBACzB,CAAA"}
|
package/dist/upload.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { openAsBlob
|
|
1
|
+
import { openAsBlob } from "node:fs";
|
|
2
2
|
import { stat } from "node:fs/promises";
|
|
3
|
-
import { basename, extname
|
|
4
|
-
import { CliError, isCliError
|
|
3
|
+
import { basename, extname } from "node:path";
|
|
4
|
+
import { CliError, isCliError } from "@wirecat/cli-base";
|
|
5
|
+
import { refusedPlace } from "@wirecat/cli-core/sends";
|
|
6
|
+
import { MAX_APP } from "./app.js";
|
|
5
7
|
import { WEB_USER_AGENT } from "./spec/identity.js";
|
|
6
8
|
const HEADERS = {
|
|
7
9
|
"User-Agent": WEB_USER_AGENT.headerUserAgent,
|
|
@@ -19,30 +21,15 @@ export const isImage = (path) => extname(path).toLowerCase() in IMAGE_TYPES;
|
|
|
19
21
|
/** The Bot API's list of video formats; MAX transcodes what it takes. */
|
|
20
22
|
const VIDEO_EXTENSIONS = new Set([".mp4", ".mov", ".webm", ".mkv"]);
|
|
21
23
|
export const isVideo = (path) => VIDEO_EXTENSIONS.has(extname(path).toLowerCase());
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
try {
|
|
27
|
-
real = realpathSync(path);
|
|
24
|
+
export const refuseProtected = (path, { anyFile = false } = {}) => {
|
|
25
|
+
if (!anyFile && refusedPlace(path, MAX_APP, process.env)) {
|
|
26
|
+
throw new CliError("validation_error", `cannot send ${path}: known credential files, WireCat apps' folders and the message store are not sent — ` +
|
|
27
|
+
"add --allow-any-file if this file is meant to go");
|
|
28
28
|
}
|
|
29
|
-
catch { }
|
|
30
|
-
return [resolve(path), real].some((candidate) => candidate
|
|
31
|
-
.split(sep)
|
|
32
|
-
.some((part) => [".ssh", ".gnupg", ".aws", ".secrets", "secrets", ".env", ".npmrc", ".pypirc"].includes(part) ||
|
|
33
|
-
/^\.env\./.test(part)) || own.some((dir) => inside(candidate, dir)));
|
|
34
|
-
};
|
|
35
|
-
const inside = (path, dir) => {
|
|
36
|
-
const fold = (value) => (process.platform === "win32" ? value.toLowerCase() : value);
|
|
37
|
-
const way = relative(fold(resolve(dir)), fold(path));
|
|
38
|
-
return way === "" || (!way.startsWith("..") && !isAbsolute(way));
|
|
39
29
|
};
|
|
40
30
|
/** The file as a Blob that reads it while it uploads; nothing is held in memory first. */
|
|
41
31
|
export const openUpload = async (path, { anyFile = false } = {}) => {
|
|
42
|
-
|
|
43
|
-
throw new CliError("validation_error", `cannot send ${path}: credential files and max's own folders are not sent — ` +
|
|
44
|
-
"add --allow-any-file if this file is meant to go");
|
|
45
|
-
}
|
|
32
|
+
refuseProtected(path, { anyFile });
|
|
46
33
|
try {
|
|
47
34
|
if (!(await stat(path)).isFile())
|
|
48
35
|
throw new CliError("validation_error", `cannot send ${path}: it is a folder`);
|
package/dist/upload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.54.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.
|
|
1
|
+
export const VERSION = "0.54.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/max-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.54.0",
|
|
4
4
|
"description": "MAX Messenger bots through the official Bot API, and a personal MAX account, from the terminal — built for agents and scripts",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"standards:check": "node config/wirecat/check.mjs",
|
|
91
91
|
"docs:lint": "markdownlint-cli2",
|
|
92
92
|
"docs:spell": "cspell lint --config cspell.json --no-progress README.md",
|
|
93
|
-
"ci:quick": "pnpm typecheck",
|
|
93
|
+
"ci:quick": "pnpm typecheck && pnpm build && pnpm lint:commands",
|
|
94
94
|
"contracts:check": "cli-contract contracts/plan.json",
|
|
95
95
|
"contracts:upgrade": "pnpm --dir contracts/previous install --frozen-lockfile --ignore-scripts && cli-contract contracts/upgrade.json && cli-contract contracts/legacy-store.json",
|
|
96
96
|
"security:no-leak": "cli-testing security no-leak . contracts/no-leak.json",
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
"@modelcontextprotocol/server": "2.1.0",
|
|
101
101
|
"@msgpack/msgpack": "3.1.3",
|
|
102
102
|
"@valibot/to-json-schema": "1.8.0",
|
|
103
|
-
"@wirecat/cli-base": "0.
|
|
104
|
-
"@wirecat/cli-core": "0.
|
|
103
|
+
"@wirecat/cli-base": "0.31.1",
|
|
104
|
+
"@wirecat/cli-core": "0.285.0",
|
|
105
105
|
"commander": "15.0.0",
|
|
106
106
|
"lossless-json": "4.3.1",
|
|
107
107
|
"ogg-opus-decoder": "1.7.5",
|
package/skills/max-cli/SKILL.md
CHANGED
|
@@ -25,7 +25,7 @@ description: >-
|
|
|
25
25
|
`max commands schema messages list --json` показывает схемы и эффекты одной команды.
|
|
26
26
|
Используйте `--json --no-input` для работы без вопросов; секреты передавайте явно через pipe.
|
|
27
27
|
`--json=id,text` оставляет эти поля каждого элемента списка вместе со страницей и полнотой. Для id
|
|
28
|
-
достаточно `--json=id`. `--max-output-bytes` и `--max-input-bytes` задают byte budgets;
|
|
28
|
+
достаточно `--json=id`. Точка выбирает вложенное поле: `--json=ref,text,reply_to.text`. `--max-output-bytes` и `--max-input-bytes` задают byte budgets;
|
|
29
29
|
одноразовые действия имеют срок 30 секунд, меняемый через `--timeout`.
|
|
30
30
|
Перед чувствительной записью `--dry-run` проверяет форму запроса и права до действия;
|
|
31
31
|
общий preview не подключается к мессенджеру, не резервирует запись и оставляет цели непроверенными.
|
|
@@ -137,8 +137,8 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
137
137
|
при подтверждённой дедупликации провайдера и с теми же чатом, темой, содержимым и `--operation-id`;
|
|
138
138
|
никакой автоматической повторной записи только по коду ошибки.
|
|
139
139
|
|
|
140
|
-
5. **Искать начинайте с `max personal search all`**:
|
|
141
|
-
находки её вид (`message`, `
|
|
140
|
+
5. **Искать начинайте с `max personal search all`**: сообщения и заметки на этой машине одним ответом, у каждой
|
|
141
|
+
находки её вид (`message`, `note`). Почта — не здесь: `memo search mail`. Уже: `max personal search messages`, `search notes`,
|
|
142
142
|
`search conversations` (по смыслу); весь поиск — под `max personal search`.
|
|
143
143
|
Для вопроса обычными словами или неточной формулировки используй
|
|
144
144
|
`max personal search messages '<вопрос>' --discover` или MCP `discover: true`. Это локальный поиск без
|
|
@@ -151,7 +151,6 @@ remove|admins|update|link reset|requests accept|requests decline` видят д
|
|
|
151
151
|
говорить, что сообщения нет. Слова и фразы находят формы слов; `exact:` или `--exact` — только точную форму.
|
|
152
152
|
Default — строгий профиль Lucene:
|
|
153
153
|
фразы, AND/OR/NOT, field groups и date ranges. `alpha OR beta gamma` = `(alpha OR beta) AND gamma`.
|
|
154
|
-
Для прежних filters/discovery — `--language legacy`; --regex — отдельный JS iu mode с пределами.
|
|
155
154
|
Для version/coverage используйте --json; пустая выдача не доказывает отсутствие сообщения.
|
|
156
155
|
`--timezone` задаёт календарную zone; kind:bot и in:bots имеют разные смыслы.
|
|
157
156
|
Term/body regex различаются. Даты — `date:today`, `date:7d`; файл — `filename:*.pdf`, `size>10MB`
|
|
@@ -246,6 +245,9 @@ max personal inbox --new --json # что пришло с
|
|
|
246
245
|
max personal review 'date>"2026-09-23T09:00:00Z"' --json # всё, свои тоже, для обзора «кто кому должен»
|
|
247
246
|
max personal review 'chat:"-1000"' --unanswered 4h --json # вопросы в группе, на которые 4 часа не ответили ни владелец, ни админы
|
|
248
247
|
max personal tasks list state:open --json # что ждёт ответа владельца; задачи открывает и закрывает review
|
|
248
|
+
max personal tasks add <ссылка> --type request --category documents --json
|
|
249
|
+
# выход 2 task.duplicate-candidates: возможно, это та же задача; повторите с --attach <задача> или --new
|
|
250
|
+
max personal tasks duplicates --json # пары, которые могут быть одной задачей; tasks merge <дубль> --into <задача>
|
|
249
251
|
max personal tasks close <задача> --as dismissed --reason no-reply-needed --json # только когда владелец так решил
|
|
250
252
|
max personal watch --jsonl # новые сообщения по мере прихода; `max personal serve` запустится сам
|
|
251
253
|
max personal watch --events --jsonl # плюс правки, удаления, реакции, прочтения, изменения чатов; поле "event"
|
package/dist/inbox-point.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-point.d.ts","sourceRoot":"","sources":["../src/inbox-point.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,eAAO,MAAM,iBAAiB,YAAa,OAAO,KAAG,IAQpD,CAAA"}
|
package/dist/inbox-point.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { existsSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { resolvePaths, writeSecurely } from "@wirecat/cli-base";
|
|
4
|
-
import { forCommand } from "./commands/context.js";
|
|
5
|
-
export const migrateInboxPoint = (command) => {
|
|
6
|
-
if (command.optsWithGlobals().offline)
|
|
7
|
-
return;
|
|
8
|
-
const { store, settings } = forCommand(command);
|
|
9
|
-
const point = join(resolvePaths({ appName: "max-cli", prefix: "MAX" }).state, "inbox", `${settings.profile}.json`);
|
|
10
|
-
if (existsSync(point))
|
|
11
|
-
return;
|
|
12
|
-
const lastCheckAt = store.readState().lastCheckAt;
|
|
13
|
-
if (lastCheckAt === undefined)
|
|
14
|
-
return;
|
|
15
|
-
writeSecurely(point, `${JSON.stringify({ lastCheckAt })}\n`, 0o600);
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=inbox-point.js.map
|
package/dist/inbox-point.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-point.js","sourceRoot":"","sources":["../src/inbox-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAQ,EAAE;IAC1D,IAAI,OAAO,CAAC,eAAe,EAAyB,CAAC,OAAO;QAAE,OAAM;IACpE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAA;IAClH,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAM;IAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,CAAA;IACjD,IAAI,WAAW,KAAK,SAAS;QAAE,OAAM;IACrC,aAAa,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACrE,CAAC,CAAA"}
|