@leemour/max-cli 0.12.0 → 0.14.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 +92 -19
- package/dist/bot/auth.d.ts +23 -0
- package/dist/bot/auth.d.ts.map +1 -0
- package/dist/bot/auth.js +36 -0
- package/dist/bot/auth.js.map +1 -0
- package/dist/bot/client.d.ts +20 -0
- package/dist/bot/client.d.ts.map +1 -0
- package/dist/bot/client.js +91 -0
- package/dist/bot/client.js.map +1 -0
- package/dist/bot/generated/manifest.d.ts +3 -0
- package/dist/bot/generated/manifest.d.ts.map +1 -0
- package/dist/bot/generated/manifest.js +1232 -0
- package/dist/bot/generated/manifest.js.map +1 -0
- package/dist/bot/generated/schemas.d.ts +271 -0
- package/dist/bot/generated/schemas.d.ts.map +1 -0
- package/dist/bot/generated/schemas.js +869 -0
- package/dist/bot/generated/schemas.js.map +1 -0
- package/dist/bot/generated/types.d.ts +1088 -0
- package/dist/bot/generated/types.d.ts.map +1 -0
- package/dist/bot/generated/types.js +5 -0
- package/dist/bot/generated/types.js.map +1 -0
- package/dist/bot/input.d.ts +10 -0
- package/dist/bot/input.d.ts.map +1 -0
- package/dist/bot/input.js +88 -0
- package/dist/bot/input.js.map +1 -0
- package/dist/bot/map.d.ts +11 -0
- package/dist/bot/map.d.ts.map +1 -0
- package/dist/bot/map.js +76 -0
- package/dist/bot/map.js.map +1 -0
- package/dist/bot/permissions.d.ts +14 -0
- package/dist/bot/permissions.d.ts.map +1 -0
- package/dist/bot/permissions.js +53 -0
- package/dist/bot/permissions.js.map +1 -0
- package/dist/bot/registry.d.ts +27 -0
- package/dist/bot/registry.d.ts.map +1 -0
- package/dist/bot/registry.js +68 -0
- package/dist/bot/registry.js.map +1 -0
- package/dist/bot/russian-trusted-root.d.ts +8 -0
- package/dist/bot/russian-trusted-root.d.ts.map +1 -0
- package/dist/bot/russian-trusted-root.js +41 -0
- package/dist/bot/russian-trusted-root.js.map +1 -0
- package/dist/bot/transport.d.ts +41 -0
- package/dist/bot/transport.d.ts.map +1 -0
- package/dist/bot/transport.js +200 -0
- package/dist/bot/transport.js.map +1 -0
- package/dist/client.d.ts +32 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +174 -18
- package/dist/client.js.map +1 -1
- package/dist/commands/bot-context.d.ts +21 -0
- package/dist/commands/bot-context.d.ts.map +1 -0
- package/dist/commands/bot-context.js +59 -0
- package/dist/commands/bot-context.js.map +1 -0
- package/dist/commands/bot-reads.d.ts +7 -0
- package/dist/commands/bot-reads.d.ts.map +1 -0
- package/dist/commands/bot-reads.js +103 -0
- package/dist/commands/bot-reads.js.map +1 -0
- package/dist/commands/bot-sends.d.ts +12 -0
- package/dist/commands/bot-sends.d.ts.map +1 -0
- package/dist/commands/bot-sends.js +225 -0
- package/dist/commands/bot-sends.js.map +1 -0
- package/dist/commands/bot.d.ts +3 -0
- package/dist/commands/bot.d.ts.map +1 -0
- package/dist/commands/bot.js +145 -0
- package/dist/commands/bot.js.map +1 -0
- package/dist/commands/chats.d.ts.map +1 -1
- package/dist/commands/chats.js +65 -1
- package/dist/commands/chats.js.map +1 -1
- package/dist/commands/context.d.ts +10 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/doctor.d.ts +6 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +57 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/mcp.d.ts +24 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +80 -14
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/models.d.ts.map +1 -1
- package/dist/commands/models.js +13 -2
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/review.d.ts +8 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +96 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/rules.d.ts +7 -0
- package/dist/commands/rules.d.ts.map +1 -0
- package/dist/commands/rules.js +69 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/diagnose.d.ts +19 -1
- package/dist/diagnose.d.ts.map +1 -1
- package/dist/diagnose.js +37 -1
- package/dist/diagnose.js.map +1 -1
- package/dist/domain/map.d.ts +6 -1
- package/dist/domain/map.d.ts.map +1 -1
- package/dist/domain/map.js +34 -1
- package/dist/domain/map.js.map +1 -1
- package/dist/domain/models.d.ts +79 -0
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/models.js.map +1 -1
- package/dist/generated/operations.generated.d.ts +3 -1
- package/dist/generated/operations.generated.d.ts.map +1 -1
- package/dist/install.d.ts +43 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +142 -0
- package/dist/install.js.map +1 -0
- package/dist/mcp/prompts.d.ts.map +1 -1
- package/dist/mcp/prompts.js +28 -0
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +39 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/moderation/rules.d.ts +56 -0
- package/dist/moderation/rules.d.ts.map +1 -0
- package/dist/moderation/rules.js +138 -0
- package/dist/moderation/rules.js.map +1 -0
- package/dist/online.d.ts +23 -0
- package/dist/online.d.ts.map +1 -0
- package/dist/online.js +87 -0
- package/dist/online.js.map +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +20 -3
- package/dist/program.js.map +1 -1
- package/dist/protocol/connection.d.ts.map +1 -1
- package/dist/protocol/connection.js +12 -1
- package/dist/protocol/connection.js.map +1 -1
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +13 -2
- package/dist/report.js.map +1 -1
- package/dist/review.d.ts +41 -0
- package/dist/review.d.ts.map +1 -0
- package/dist/review.js +111 -0
- package/dist/review.js.map +1 -0
- package/dist/spec/operations/chats.d.ts +4 -1
- package/dist/spec/operations/chats.d.ts.map +1 -1
- package/dist/spec/operations/chats.js +10 -4
- package/dist/spec/operations/chats.js.map +1 -1
- package/dist/transcribe/index.d.ts +1 -0
- package/dist/transcribe/index.d.ts.map +1 -1
- package/dist/transcribe/index.js +8 -4
- package/dist/transcribe/index.js.map +1 -1
- package/dist/transcribe/speech.d.ts.map +1 -1
- package/dist/transcribe/speech.js +2 -0
- package/dist/transcribe/speech.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +14 -6
- package/skills/max-cli/SKILL.md +26 -1
package/dist/install.js
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { closeSync, existsSync, openSync, readSync, realpathSync } from "node:fs";
|
|
2
|
+
import { posix, win32 } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { installerOf } from "@leemour/cli-core/update";
|
|
5
|
+
const PACKAGE_DIR = ["node_modules", "@leemour", "max-cli"];
|
|
6
|
+
const SCRIPT_TAIL = "max-cli/dist/bin/max.js";
|
|
7
|
+
/** This installation's `dist/bin/max.js`, through any link — what `node <script>` must be given. */
|
|
8
|
+
export const ownScript = () => {
|
|
9
|
+
const script = fileURLToPath(new URL("./bin/max.js", import.meta.url));
|
|
10
|
+
try {
|
|
11
|
+
return realpathSync(script);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return script;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* **Where the command is and whether a terminal finds it**, worked out from our own path and the
|
|
19
|
+
* environment only. No `npm prefix -g`: on Windows `npm` is `npm.cmd`, which Node does not start
|
|
20
|
+
* without a shell, and `doctor` has to answer quickly when everything else is broken.
|
|
21
|
+
*/
|
|
22
|
+
export const checkInstall = ({ scriptPath, execPath, runtime, env, platform, exists = existsSync, realpath = realpathSync, read = head, }) => {
|
|
23
|
+
const windows = platform === "win32";
|
|
24
|
+
const path = windows ? win32 : posix;
|
|
25
|
+
const installer = installerOf(scriptPath);
|
|
26
|
+
const names = commandNames(env, windows);
|
|
27
|
+
const hasCommand = (dir) => names.some((name) => exists(path.join(dir, name)));
|
|
28
|
+
const guessed = binDirOf(installer, scriptPath, env, windows);
|
|
29
|
+
const binDir = guessed !== null && hasCommand(guessed) ? guessed : null;
|
|
30
|
+
const directories = pathEntries(env, windows).map((entry) => same(entry, path, windows));
|
|
31
|
+
const binDirOnPath = binDir === null ? null : directories.includes(same(binDir, path, windows));
|
|
32
|
+
const onPath = firstOnPath(pathEntries(env, windows), names, path, exists);
|
|
33
|
+
const maxCli = onPath === null ? null : isMaxCli(onPath, { realpath, read });
|
|
34
|
+
return {
|
|
35
|
+
runtime: { version: runtime, path: execPath },
|
|
36
|
+
installer,
|
|
37
|
+
binDir,
|
|
38
|
+
binDirOnPath,
|
|
39
|
+
onPath,
|
|
40
|
+
isMaxCli: maxCli,
|
|
41
|
+
// A PATH entry can be a link to the same folder; if a terminal already finds max-cli, nothing needs fixing.
|
|
42
|
+
fix: binDir !== null && binDirOnPath === false && maxCli !== true ? pathFix(binDir, windows) : [],
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/** Every PATH key, whatever its case: an environment object built by hand keeps Windows' `Path`. */
|
|
46
|
+
const pathEntries = (env, windows) => {
|
|
47
|
+
const key = Object.keys(env).find((name) => (windows ? name.toUpperCase() === "PATH" : name === "PATH"));
|
|
48
|
+
const value = key === undefined ? "" : (env[key] ?? "");
|
|
49
|
+
return value
|
|
50
|
+
.split(windows ? ";" : ":")
|
|
51
|
+
.map((entry) => entry.trim().replace(/^"(.*)"$/, "$1"))
|
|
52
|
+
.filter((entry) => entry !== "");
|
|
53
|
+
};
|
|
54
|
+
const same = (dir, path, windows) => {
|
|
55
|
+
const normal = path.normalize(dir).replace(/[\\/]+$/, "");
|
|
56
|
+
return windows ? normal.toLowerCase() : normal;
|
|
57
|
+
};
|
|
58
|
+
/** On Windows the shell tries each extension in `PATHEXT`; npm writes `max.cmd`, bun `max.exe`. */
|
|
59
|
+
const commandNames = (env, windows) => {
|
|
60
|
+
if (!windows)
|
|
61
|
+
return ["max"];
|
|
62
|
+
const key = Object.keys(env).find((name) => name.toUpperCase() === "PATHEXT");
|
|
63
|
+
const extensions = (key === undefined ? undefined : env[key]) ?? ".COM;.EXE;.BAT;.CMD";
|
|
64
|
+
return extensions
|
|
65
|
+
.split(";")
|
|
66
|
+
.filter((extension) => extension !== "")
|
|
67
|
+
.map((extension) => `max${extension.toLowerCase()}`);
|
|
68
|
+
};
|
|
69
|
+
const binDirOf = (installer, scriptPath, env, windows) => {
|
|
70
|
+
const path = windows ? win32 : posix;
|
|
71
|
+
const script = path.normalize(scriptPath);
|
|
72
|
+
switch (installer) {
|
|
73
|
+
case "npm": {
|
|
74
|
+
const at = script.indexOf(path.sep + PACKAGE_DIR.join(path.sep) + path.sep);
|
|
75
|
+
if (at === -1)
|
|
76
|
+
return null;
|
|
77
|
+
const prefix = script.slice(0, at);
|
|
78
|
+
// npm on Windows keeps commands beside `node_modules`; elsewhere in `<prefix>/bin` beside `lib`.
|
|
79
|
+
return windows ? prefix : path.basename(prefix) === "lib" ? path.join(path.dirname(prefix), "bin") : null;
|
|
80
|
+
}
|
|
81
|
+
case "bun": {
|
|
82
|
+
const at = script.indexOf(`${path.sep}install${path.sep}global${path.sep}node_modules${path.sep}`);
|
|
83
|
+
return at === -1 ? null : path.join(script.slice(0, at), "bin");
|
|
84
|
+
}
|
|
85
|
+
case "pnpm":
|
|
86
|
+
return env.PNPM_HOME ? env.PNPM_HOME : null;
|
|
87
|
+
default:
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const firstOnPath = (entries, names, path, exists) => {
|
|
92
|
+
for (const dir of entries) {
|
|
93
|
+
for (const name of names) {
|
|
94
|
+
const file = path.join(dir, name);
|
|
95
|
+
if (exists(file))
|
|
96
|
+
return file;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* A link on Linux and macOS leads to the script; the small script npm and pnpm write instead names
|
|
103
|
+
* it. Either way the package's path is the tell. bun's `max.exe` names nothing, so it is unknown.
|
|
104
|
+
*/
|
|
105
|
+
const isMaxCli = (command, { realpath, read }) => {
|
|
106
|
+
const names = (text) => text.replaceAll("\\", "/").toLowerCase().includes(SCRIPT_TAIL);
|
|
107
|
+
try {
|
|
108
|
+
if (names(realpath(command)))
|
|
109
|
+
return true;
|
|
110
|
+
if (command.toLowerCase().endsWith(".exe"))
|
|
111
|
+
return null;
|
|
112
|
+
return names(read(command));
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* PowerShell on Windows, a POSIX shell elsewhere. Single quotes in both, so `$` and backticks in a
|
|
120
|
+
* path need no escaping; a quote inside is doubled for PowerShell and closed-and-escaped for sh.
|
|
121
|
+
*/
|
|
122
|
+
export const pathFix = (binDir, windows) => {
|
|
123
|
+
if (!windows)
|
|
124
|
+
return [`export PATH='${binDir.replaceAll("'", `'\\''`)}':"$PATH"`];
|
|
125
|
+
const quoted = `'${binDir.replaceAll("'", "''")}'`;
|
|
126
|
+
return [
|
|
127
|
+
`$env:Path = ${quoted} + ';' + $env:Path`,
|
|
128
|
+
`[Environment]::SetEnvironmentVariable('Path', ${quoted} + ';' + [Environment]::GetEnvironmentVariable('Path', 'User'), 'User')`,
|
|
129
|
+
];
|
|
130
|
+
};
|
|
131
|
+
/** A command shim is a few hundred bytes; another program called `max` may be megabytes. */
|
|
132
|
+
const head = (file) => {
|
|
133
|
+
const descriptor = openSync(file, "r");
|
|
134
|
+
try {
|
|
135
|
+
const buffer = Buffer.alloc(4096);
|
|
136
|
+
return buffer.toString("utf8", 0, readSync(descriptor, buffer, 0, buffer.length, 0));
|
|
137
|
+
}
|
|
138
|
+
finally {
|
|
139
|
+
closeSync(descriptor);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAS9E;;;GAGG;AACH,eAAO,MAAM,eAAe,WAAY,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAS9E;;;GAGG;AACH,eAAO,MAAM,eAAe,WAAY,SAAS,KAAG,IA0GnD,CAAA"}
|
package/dist/mcp/prompts.js
CHANGED
|
@@ -30,6 +30,34 @@ export const registerPrompts = (server) => {
|
|
|
30
30
|
"4. Only after I approve that exact text, send it with max_messages_send, with reply_to when it answers one message.",
|
|
31
31
|
DATA,
|
|
32
32
|
].join("\n")));
|
|
33
|
+
server.registerPrompt("review", {
|
|
34
|
+
title: "Review commitments in MAX",
|
|
35
|
+
description: "What the owner owes, what others owe, what needs clarifying — since the last review. Reads only; " +
|
|
36
|
+
"reminders are drafts until the owner approves each one.",
|
|
37
|
+
argsSchema: toStandardJsonSchema(v.object({
|
|
38
|
+
since: v.optional(v.pipe(v.string(), v.description("where the last review ended: a message id or an ISO 8601 time"))),
|
|
39
|
+
groups: v.optional(v.pipe(v.string(), v.description("group chats where work gets done, by name or id, comma-separated"))),
|
|
40
|
+
})),
|
|
41
|
+
}, ({ since, groups }) => asked([
|
|
42
|
+
"Review my commitments in MAX. Do not send, react, forward or mark anything read, except as step 5 allows.",
|
|
43
|
+
"If I gave you the open items of the previous review, check each of those first.",
|
|
44
|
+
`1. Call max_review once${since ? ` with since ${JSON.stringify(since)}` : ""}, with transcribe: true. It returns`,
|
|
45
|
+
"every message in each chat that changed, mine included (outgoing: true — most of what I owe is there).",
|
|
46
|
+
"2. Sort what you find into three lists: I owe · Waiting on others · Needs clarifying. Each item: chat",
|
|
47
|
+
"title and id, date, the ids of the messages it rests on, and a deadline only if one was stated. When a",
|
|
48
|
+
"message answers one from before the review, read around that one with max_messages_context.",
|
|
49
|
+
"3. Before calling anything overdue, look for it being done: later in the review, in " +
|
|
50
|
+
(groups ? `these group chats: ${JSON.stringify(groups)}` : "the group chats in the review") +
|
|
51
|
+
" (max_messages_list for anything older), and with max_messages_search — which sees only what this" +
|
|
52
|
+
" machine has already read, so no hit is not proof.",
|
|
53
|
+
"4. List the voice messages in unheard as not listened to, with chat, date and id; if transcribeProblem",
|
|
54
|
+
"says the speech model is missing, tell me and do not download it.",
|
|
55
|
+
"5. Draft at most five reminders, each with its chat and text. Send one only after I approve that exact",
|
|
56
|
+
"text and recipient, with max_messages_send and reply_to. Without that tool, show the drafts only.",
|
|
57
|
+
"6. If complete is false, say the review is incomplete, say why, and give no new boundary. Otherwise end",
|
|
58
|
+
"with «Next review: since = <until>» and the open items, for the next review to check first.",
|
|
59
|
+
DATA,
|
|
60
|
+
].join("\n")));
|
|
33
61
|
server.registerPrompt("find", {
|
|
34
62
|
title: "Find in MAX",
|
|
35
63
|
description: "A person or a phrase, with the messages around what was found. Reads only.",
|
package/dist/mcp/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,oHAAoH;AACpH,MAAM,IAAI,GAAG,uFAAuF,CAAA;AAEpG,MAAM,KAAK,GAAG,CAAC,IAAY,EAAmB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;AAEpH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAQ,EAAE;IACzD,MAAM,CAAC,cAAc,CACnB,UAAU,EACV;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,gDAAgD;QAC7D,UAAU,EAAE,oBAAoB,CAC9B,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,CACvG;KACF,EACD,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACZ,KAAK,CACH;QACE,0CAA0C,KAAK,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;QAChG,+FAA+F;QAC/F,oDAAoD;QACpD,IAAI;KACL,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CACJ,CAAA;IAED,MAAM,CAAC,cAAc,CACnB,OAAO,EACP;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,uFAAuF;QACpG,UAAU,EAAE,oBAAoB,CAC9B,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,CACnF;KACF,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,KAAK,CACH;QACE,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;QACxD,6FAA6F;QAC7F,qDAAqD;QACrD,qCAAqC;QACrC,qHAAqH;QACrH,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACJ,CAAA;IAED,MAAM,CAAC,cAAc,CACnB,MAAM,EACN;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,4EAA4E;QACzF,UAAU,EAAE,oBAAoB,CAC9B,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,CACxF;KACF,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,KAAK,CACH;QACE,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU;QACtC,8GAA8G;QAC9G,wFAAwF;QACxF,mFAAmF;QACnF,IAAI;KACL,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CACJ,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAGf,MAAM,8BAA8B,CAAA;AAUrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAKzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA6jB9C,eAAO,MAAM,aAAa,WAChB,SAAS,WACR,UAAU,8GAUhB;IACD,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,sGAAsG;IACtG,SAAS,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;CAClC,KACA,IA0CF,CAAA"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -7,6 +7,7 @@ import { DELETE_AT_ONCE } from "../client.js";
|
|
|
7
7
|
import { sendTime } from "../config.js";
|
|
8
8
|
import { maskedProfile } from "../domain/map.js";
|
|
9
9
|
import { fetchBytes, publicOnly } from "../download.js";
|
|
10
|
+
import { REVIEW_DAYS, review, reviewStart } from "../review.js";
|
|
10
11
|
import { transcribe } from "../transcribe/index.js";
|
|
11
12
|
import { modelsDirectory } from "../transcribe/install.js";
|
|
12
13
|
import { DEFAULT_MODEL, speechModel } from "../transcribe/models.js";
|
|
@@ -83,6 +84,43 @@ const READ_TOOLS = {
|
|
|
83
84
|
: client.inbox.since({ since: client.messages.moment(args.since, "since"), limit });
|
|
84
85
|
},
|
|
85
86
|
}),
|
|
87
|
+
max_review: tool({
|
|
88
|
+
title: "Review who owes what",
|
|
89
|
+
description: "Every message — the owner's too — in each chat that changed since `since`, oldest first per chat, cut " +
|
|
90
|
+
"at one moment so the next review can start at `until` and miss nothing. For sorting out what the owner " +
|
|
91
|
+
"owes, what others owe and what is unclear; the sorting is yours. Voice messages carry `transcript` when " +
|
|
92
|
+
"heard; `unheard` lists the rest, and `transcribe: true` hears them on this machine (slow, up to a minute " +
|
|
93
|
+
"per five minutes of speech; never downloads a model). `complete: false` means something was skipped, cut " +
|
|
94
|
+
"short or unheard — then do not move the boundary. With `unanswered_after_hours`, `chats` holds only " +
|
|
95
|
+
"questions nobody answered: a message with `?` or a reply to the owner or an admin, that none of them replied " +
|
|
96
|
+
"to or spoke next after; `answeredBy: owner` means the group's admins were not known. Marks nothing read. " +
|
|
97
|
+
"Returns { since, until, complete, chats: [{ id, title, kind, more, messages, answeredBy? }], skipped, " +
|
|
98
|
+
"unheard, partial, unanswered? }.",
|
|
99
|
+
input: v.object({
|
|
100
|
+
since: v.optional(v.pipe(v.string(), v.description(`where the last review ended: a message id or an ISO 8601 time; ${REVIEW_DAYS} days ago if not given`))),
|
|
101
|
+
transcribe: v.optional(v.pipe(v.boolean(), v.description("hear voice messages that have no text yet"))),
|
|
102
|
+
chat: v.optional(v.pipe(v.string(), v.description("only this chat: an id, or part of a chat name"))),
|
|
103
|
+
unanswered_after_hours: v.optional(v.pipe(v.number(), v.minValue(0), v.description("only questions to the owner or a group's admins that nobody answered, asked at least this many hours ago"))),
|
|
104
|
+
}),
|
|
105
|
+
annotations: READ,
|
|
106
|
+
answer: async (client, args, { profile, transcribeModel }) => {
|
|
107
|
+
const since = args.since === undefined ? reviewStart() : client.messages.moment(args.since, "since");
|
|
108
|
+
const chatId = args.chat === undefined ? undefined : await client.chats.resolve(args.chat);
|
|
109
|
+
const cache = await openProfileCache(profile);
|
|
110
|
+
try {
|
|
111
|
+
return await review(client, {
|
|
112
|
+
since,
|
|
113
|
+
cache,
|
|
114
|
+
...(chatId === undefined ? {} : { chatId }),
|
|
115
|
+
...(args.unanswered_after_hours === undefined ? {} : { unansweredAfterHours: args.unanswered_after_hours }),
|
|
116
|
+
...(args.transcribe === true ? { transcribeWith: transcribeModel } : {}),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
cache?.close();
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
}),
|
|
86
124
|
max_account_show: tool({
|
|
87
125
|
title: "Who this is",
|
|
88
126
|
description: "The MAX account this server is logged in as.",
|
|
@@ -223,7 +261,7 @@ const READ_TOOLS = {
|
|
|
223
261
|
}
|
|
224
262
|
},
|
|
225
263
|
}),
|
|
226
|
-
|
|
264
|
+
max_messages_photo: tool({
|
|
227
265
|
title: "Look at a photo",
|
|
228
266
|
description: `One photo from a message, as an image to look at. Up to ${PHOTO_LIMIT / 1024} KB; anything larger, and ` +
|
|
229
267
|
"files, videos and voice messages, are refused with the command the owner runs to save them. " +
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import type { Id } from "../domain/models.js";
|
|
3
|
+
/** How much say the owner keeps over one kind of action (`NEED-308`). */
|
|
4
|
+
export declare const CONSENT_LEVELS: readonly ["forbid", "flag", "confirm", "allow"];
|
|
5
|
+
/** What a rule does with what it finds; nothing but `report` acts until consent lets it. */
|
|
6
|
+
export declare const RULE_ACTIONS: readonly ["report", "delete", "remove"];
|
|
7
|
+
export declare const REQUEST_POLICIES: readonly ["report", "accept-trusted", "decline-blocked", "both"];
|
|
8
|
+
declare const groupRules: v.StrictObjectSchema<{
|
|
9
|
+
readonly title: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
10
|
+
readonly trusted: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a person id is digits">]>, undefined>;
|
|
11
|
+
readonly blocked: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a person id is digits">]>, undefined>;
|
|
12
|
+
readonly blockedNames: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
13
|
+
readonly links: v.PicklistSchema<readonly ["report", "delete", "remove"], undefined>;
|
|
14
|
+
readonly invites: v.PicklistSchema<readonly ["report", "delete", "remove"], undefined>;
|
|
15
|
+
readonly forwards: v.PicklistSchema<readonly ["report", "delete", "remove"], undefined>;
|
|
16
|
+
readonly blockedPeople: v.PicklistSchema<readonly ["report", "delete", "remove"], undefined>;
|
|
17
|
+
readonly flood: v.StrictObjectSchema<{
|
|
18
|
+
readonly messages: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, number, undefined>]>;
|
|
19
|
+
readonly minutes: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, number, undefined>]>;
|
|
20
|
+
readonly action: v.PicklistSchema<readonly ["report", "delete", "remove"], undefined>;
|
|
21
|
+
}, undefined>;
|
|
22
|
+
/** `remove` declines a join request and removes a member. 0 days turns the rule off. */
|
|
23
|
+
readonly newAccount: v.StrictObjectSchema<{
|
|
24
|
+
readonly days: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, number, undefined>]>;
|
|
25
|
+
readonly action: v.PicklistSchema<["report", "remove"], undefined>;
|
|
26
|
+
}, undefined>;
|
|
27
|
+
readonly requests: v.PicklistSchema<readonly ["report", "accept-trusted", "decline-blocked", "both"], undefined>;
|
|
28
|
+
readonly consent: v.StrictObjectSchema<{
|
|
29
|
+
readonly delete: v.PicklistSchema<readonly ["forbid", "flag", "confirm", "allow"], undefined>;
|
|
30
|
+
readonly remove: v.PicklistSchema<readonly ["forbid", "flag", "confirm", "allow"], undefined>;
|
|
31
|
+
readonly accept: v.PicklistSchema<readonly ["forbid", "flag", "confirm", "allow"], undefined>;
|
|
32
|
+
readonly decline: v.PicklistSchema<readonly ["forbid", "flag", "confirm", "allow"], undefined>;
|
|
33
|
+
}, undefined>;
|
|
34
|
+
}, undefined>;
|
|
35
|
+
export type GroupRules = v.InferOutput<typeof groupRules>;
|
|
36
|
+
/** Every key written out, so the file shows all there is to set (`NEED-314`). Nothing here acts. */
|
|
37
|
+
export declare const defaultRules: (title: string | null) => GroupRules;
|
|
38
|
+
export declare const RULE_KEYS: string[];
|
|
39
|
+
export declare const moderationPathFor: (profile: string, env?: NodeJS.ProcessEnv) => string;
|
|
40
|
+
/**
|
|
41
|
+
* The rules of each group this profile moderates, one state file per profile beside the recipient
|
|
42
|
+
* list. May be edited by hand; a file that does not check out refuses rather than being guessed at.
|
|
43
|
+
*/
|
|
44
|
+
export declare class ModerationRules {
|
|
45
|
+
#private;
|
|
46
|
+
readonly path: string;
|
|
47
|
+
constructor(path: string);
|
|
48
|
+
/** `undefined` when this group has no section yet. */
|
|
49
|
+
read(chatId: Id): GroupRules | undefined;
|
|
50
|
+
/** Writes the group's whole section — the defaults first, if it had none — with one key changed. */
|
|
51
|
+
set(chatId: Id, title: string | null, key: string, value: string): GroupRules;
|
|
52
|
+
/** Puts one key back to its default. */
|
|
53
|
+
unset(chatId: Id, title: string | null, key: string): GroupRules;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/moderation/rules.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAE7C,yEAAyE;AACzE,eAAO,MAAM,cAAc,YAAI,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAU,CAAA;AAC7E,4FAA4F;AAC5F,eAAO,MAAM,YAAY,YAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AACnE,eAAO,MAAM,gBAAgB,YAAI,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,CAAU,CAAA;AAOhG,QAAA,MAAM,UAAU;;;;;;;;;;;;;;IAUd,wFAAwF;;;;;;;;;;;;aAIxF,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,UAAU,CAAC,CAAA;AAIzD,oGAAoG;AACpG,eAAO,MAAM,YAAY,UAAW,MAAM,GAAG,IAAI,KAAG,UAalD,CAAA;AA+BF,eAAO,MAAM,SAAS,UAAoB,CAAA;AAE1C,eAAO,MAAM,iBAAiB,YAAa,MAAM,QAAO,MAAM,CAAC,UAAU,KAAiB,MACsB,CAAA;AAEhH;;;GAGG;AACH,qBAAa,eAAe;;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAjC,YAAqB,IAAI,EAAE,MAAM,EAAI;IAErC,sDAAsD;IACtD,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,UAAU,GAAG,SAAS,CAEvC;IAED,oGAAoG;IACpG,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAS5E;IAED,wCAAwC;IACxC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAO/D;CAqBF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { CliError, resolvePaths, writeSecurely } from "@leemour/cli-core";
|
|
4
|
+
import * as v from "valibot";
|
|
5
|
+
/** How much say the owner keeps over one kind of action (`NEED-308`). */
|
|
6
|
+
export const CONSENT_LEVELS = ["forbid", "flag", "confirm", "allow"];
|
|
7
|
+
/** What a rule does with what it finds; nothing but `report` acts until consent lets it. */
|
|
8
|
+
export const RULE_ACTIONS = ["report", "delete", "remove"];
|
|
9
|
+
export const REQUEST_POLICIES = ["report", "accept-trusted", "decline-blocked", "both"];
|
|
10
|
+
const level = v.picklist(CONSENT_LEVELS);
|
|
11
|
+
const action = v.picklist(RULE_ACTIONS);
|
|
12
|
+
const personIds = v.array(v.pipe(v.string(), v.regex(/^\d+$/, "a person id is digits")));
|
|
13
|
+
const atLeast = (min) => v.pipe(v.number(), v.integer(), v.minValue(min));
|
|
14
|
+
const groupRules = v.strictObject({
|
|
15
|
+
title: v.nullable(v.string()),
|
|
16
|
+
trusted: personIds,
|
|
17
|
+
blocked: personIds,
|
|
18
|
+
blockedNames: v.array(v.pipe(v.string(), v.minLength(1))),
|
|
19
|
+
links: action,
|
|
20
|
+
invites: action,
|
|
21
|
+
forwards: action,
|
|
22
|
+
blockedPeople: action,
|
|
23
|
+
flood: v.strictObject({ messages: atLeast(1), minutes: atLeast(1), action }),
|
|
24
|
+
/** `remove` declines a join request and removes a member. 0 days turns the rule off. */
|
|
25
|
+
newAccount: v.strictObject({ days: atLeast(0), action: v.picklist(["report", "remove"]) }),
|
|
26
|
+
requests: v.picklist(REQUEST_POLICIES),
|
|
27
|
+
consent: v.strictObject({ delete: level, remove: level, accept: level, decline: level }),
|
|
28
|
+
});
|
|
29
|
+
const file = v.strictObject({ groups: v.record(v.string(), groupRules) });
|
|
30
|
+
/** Every key written out, so the file shows all there is to set (`NEED-314`). Nothing here acts. */
|
|
31
|
+
export const defaultRules = (title) => ({
|
|
32
|
+
title,
|
|
33
|
+
trusted: [],
|
|
34
|
+
blocked: [],
|
|
35
|
+
blockedNames: [],
|
|
36
|
+
links: "report",
|
|
37
|
+
invites: "report",
|
|
38
|
+
forwards: "report",
|
|
39
|
+
blockedPeople: "report",
|
|
40
|
+
flood: { messages: 5, minutes: 1, action: "report" },
|
|
41
|
+
newAccount: { days: 7, action: "report" },
|
|
42
|
+
requests: "report",
|
|
43
|
+
consent: { delete: "flag", remove: "flag", accept: "flag", decline: "flag" },
|
|
44
|
+
});
|
|
45
|
+
const list = (value) => value
|
|
46
|
+
.split(",")
|
|
47
|
+
.map((item) => item.trim())
|
|
48
|
+
.filter(Boolean);
|
|
49
|
+
const whole = (value) => (/^\d+$/.test(value.trim()) ? Number(value) : Number.NaN);
|
|
50
|
+
/** What `rules set` accepts, and how its text becomes the stored value. */
|
|
51
|
+
const KEYS = {
|
|
52
|
+
trusted: { help: "person ids, comma-separated; never acted on", parse: list },
|
|
53
|
+
blocked: { help: "person ids, comma-separated", parse: list },
|
|
54
|
+
blockedNames: { help: "parts of a name, comma-separated, any case", parse: list },
|
|
55
|
+
links: { help: RULE_ACTIONS.join("|"), parse: String },
|
|
56
|
+
invites: { help: RULE_ACTIONS.join("|"), parse: String },
|
|
57
|
+
forwards: { help: RULE_ACTIONS.join("|"), parse: String },
|
|
58
|
+
blockedPeople: { help: RULE_ACTIONS.join("|"), parse: String },
|
|
59
|
+
"flood.messages": { help: "a whole number, 1 or more", parse: whole },
|
|
60
|
+
"flood.minutes": { help: "a whole number, 1 or more", parse: whole },
|
|
61
|
+
"flood.action": { help: RULE_ACTIONS.join("|"), parse: String },
|
|
62
|
+
"newAccount.days": { help: "a whole number; 0 turns it off", parse: whole },
|
|
63
|
+
"newAccount.action": { help: "report|remove", parse: String },
|
|
64
|
+
requests: { help: REQUEST_POLICIES.join("|"), parse: String },
|
|
65
|
+
"consent.delete": { help: CONSENT_LEVELS.join("|"), parse: String },
|
|
66
|
+
"consent.remove": { help: CONSENT_LEVELS.join("|"), parse: String },
|
|
67
|
+
"consent.accept": { help: CONSENT_LEVELS.join("|"), parse: String },
|
|
68
|
+
"consent.decline": { help: CONSENT_LEVELS.join("|"), parse: String },
|
|
69
|
+
};
|
|
70
|
+
export const RULE_KEYS = Object.keys(KEYS);
|
|
71
|
+
export const moderationPathFor = (profile, env = process.env) => join(resolvePaths({ appName: "max-cli", prefix: "MAX", env }).state, "profiles", `${profile}.moderation.json`);
|
|
72
|
+
/**
|
|
73
|
+
* The rules of each group this profile moderates, one state file per profile beside the recipient
|
|
74
|
+
* list. May be edited by hand; a file that does not check out refuses rather than being guessed at.
|
|
75
|
+
*/
|
|
76
|
+
export class ModerationRules {
|
|
77
|
+
path;
|
|
78
|
+
constructor(path) {
|
|
79
|
+
this.path = path;
|
|
80
|
+
}
|
|
81
|
+
/** `undefined` when this group has no section yet. */
|
|
82
|
+
read(chatId) {
|
|
83
|
+
return this.#all()[chatId];
|
|
84
|
+
}
|
|
85
|
+
/** Writes the group's whole section — the defaults first, if it had none — with one key changed. */
|
|
86
|
+
set(chatId, title, key, value) {
|
|
87
|
+
const known = KEYS[key];
|
|
88
|
+
if (!known)
|
|
89
|
+
throw invalid(`no rule ${key} — one of: ${RULE_KEYS.join(", ")}`);
|
|
90
|
+
const current = this.read(chatId) ?? defaultRules(title);
|
|
91
|
+
const changed = assign(current, key, known.parse(value));
|
|
92
|
+
const checked = v.safeParse(groupRules, changed);
|
|
93
|
+
if (!checked.success)
|
|
94
|
+
throw invalid(`${key} ${JSON.stringify(value)} is not valid — ${known.help}`);
|
|
95
|
+
this.#write({ ...this.#all(), [chatId]: checked.output });
|
|
96
|
+
return checked.output;
|
|
97
|
+
}
|
|
98
|
+
/** Puts one key back to its default. */
|
|
99
|
+
unset(chatId, title, key) {
|
|
100
|
+
if (!KEYS[key])
|
|
101
|
+
throw invalid(`no rule ${key} — one of: ${RULE_KEYS.join(", ")}`);
|
|
102
|
+
const fallback = lookup(defaultRules(title), key);
|
|
103
|
+
const current = this.read(chatId) ?? defaultRules(title);
|
|
104
|
+
const changed = assign(current, key, fallback);
|
|
105
|
+
this.#write({ ...this.#all(), [chatId]: changed });
|
|
106
|
+
return changed;
|
|
107
|
+
}
|
|
108
|
+
#all() {
|
|
109
|
+
if (!existsSync(this.path))
|
|
110
|
+
return {};
|
|
111
|
+
let parsed;
|
|
112
|
+
try {
|
|
113
|
+
parsed = JSON.parse(readFileSync(this.path, "utf8"));
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
throw broken(this.path, error instanceof Error ? error.message : String(error));
|
|
117
|
+
}
|
|
118
|
+
const checked = v.safeParse(file, parsed);
|
|
119
|
+
if (!checked.success) {
|
|
120
|
+
const problems = checked.issues.map((issue) => `${v.getDotPath(issue) ?? "file"}: ${issue.message}`);
|
|
121
|
+
throw broken(this.path, problems.join("; "));
|
|
122
|
+
}
|
|
123
|
+
return checked.output.groups;
|
|
124
|
+
}
|
|
125
|
+
#write(groups) {
|
|
126
|
+
writeSecurely(this.path, `${JSON.stringify({ groups }, null, 2)}\n`, 0o600);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const invalid = (message) => new CliError("validation_error", message);
|
|
130
|
+
const broken = (path, why) => new CliError("configuration_error", `the moderation rules ${path} cannot be read (${why}) — fix the file`);
|
|
131
|
+
const lookup = (rules, key) => key.split(".").reduce((value, part) => value[part], rules);
|
|
132
|
+
const assign = (rules, key, value) => {
|
|
133
|
+
const [head, tail] = key.split(".");
|
|
134
|
+
if (tail === undefined)
|
|
135
|
+
return { ...rules, [head]: value };
|
|
136
|
+
return { ...rules, [head]: { ...rules[head], [tail]: value } };
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/moderation/rules.ts"],"names":[],"mappings":"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"}
|