@wirecat/max-cli 0.59.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/bin/max.js +0 -13
  2. package/dist/bin/max.js.map +1 -1
  3. package/dist/bot/permissions.d.ts +8 -2
  4. package/dist/bot/permissions.d.ts.map +1 -1
  5. package/dist/bot/permissions.js +8 -2
  6. package/dist/bot/permissions.js.map +1 -1
  7. package/dist/commands/bot-comments.js +4 -4
  8. package/dist/commands/bot-comments.js.map +1 -1
  9. package/dist/commands/bot-context.d.ts +1 -0
  10. package/dist/commands/bot-context.d.ts.map +1 -1
  11. package/dist/commands/bot-context.js +15 -4
  12. package/dist/commands/bot-context.js.map +1 -1
  13. package/dist/commands/bot-members.js +1 -1
  14. package/dist/commands/bot-members.js.map +1 -1
  15. package/dist/commands/bot-messenger.d.ts +2 -2
  16. package/dist/commands/bot-messenger.d.ts.map +1 -1
  17. package/dist/commands/bot-messenger.js +19 -11
  18. package/dist/commands/bot-messenger.js.map +1 -1
  19. package/dist/commands/bot-sends.d.ts.map +1 -1
  20. package/dist/commands/bot-sends.js +15 -8
  21. package/dist/commands/bot-sends.js.map +1 -1
  22. package/dist/commands/bot-setup.d.ts.map +1 -1
  23. package/dist/commands/bot-setup.js +2 -1
  24. package/dist/commands/bot-setup.js.map +1 -1
  25. package/dist/commands/bot.d.ts.map +1 -1
  26. package/dist/commands/bot.js +34 -3
  27. package/dist/commands/bot.js.map +1 -1
  28. package/dist/commands/config.d.ts.map +1 -1
  29. package/dist/commands/config.js +1 -1
  30. package/dist/commands/config.js.map +1 -1
  31. package/dist/commands/context.d.ts.map +1 -1
  32. package/dist/commands/context.js +3 -1
  33. package/dist/commands/context.js.map +1 -1
  34. package/dist/commands/doctor.d.ts.map +1 -1
  35. package/dist/commands/doctor.js +3 -3
  36. package/dist/commands/doctor.js.map +1 -1
  37. package/dist/commands/read-only.d.ts +3 -0
  38. package/dist/commands/read-only.d.ts.map +1 -0
  39. package/dist/commands/read-only.js +15 -0
  40. package/dist/commands/read-only.js.map +1 -0
  41. package/dist/commands/session.d.ts.map +1 -1
  42. package/dist/commands/session.js +10 -11
  43. package/dist/commands/session.js.map +1 -1
  44. package/dist/commands/setup.js +2 -2
  45. package/dist/commands/setup.js.map +1 -1
  46. package/dist/permissions.d.ts +2 -0
  47. package/dist/permissions.d.ts.map +1 -1
  48. package/dist/permissions.js +10 -2
  49. package/dist/permissions.js.map +1 -1
  50. package/dist/program.d.ts +1 -1
  51. package/dist/program.d.ts.map +1 -1
  52. package/dist/program.js +4 -24
  53. package/dist/program.js.map +1 -1
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +1 -1
  56. package/package.json +3 -3
  57. package/dist/bot/mcp-tools.d.ts +0 -4
  58. package/dist/bot/mcp-tools.d.ts.map +0 -1
  59. package/dist/bot/mcp-tools.js +0 -78
  60. package/dist/bot/mcp-tools.js.map +0 -1
package/dist/bin/max.js CHANGED
@@ -3,19 +3,6 @@ import { enableCompileCache } from "node:module";
3
3
  import { catchCrashes } from "@wirecat/cli-base";
4
4
  import { ensureSqlite } from "@wirecat/cli-core/sqlite-runtime";
5
5
  import { MAX_APP } from "../app.js";
6
- // `max chats --json | head` closes the pipe while we are still writing, and an unhandled EPIPE
7
- // makes Node print a stack trace over the output of the command that just worked. A reader that
8
- // stopped reading is not an error: leave quietly, as every other Unix tool does.
9
- for (const stream of [process.stdout, process.stderr]) {
10
- stream.on("error", (error) => {
11
- if (error.code === "EPIPE") {
12
- if (stream.listenerCount("error") === 1)
13
- process.exit(0);
14
- return;
15
- }
16
- throw error;
17
- });
18
- }
19
6
  // Compiling about 1,100 module files is most of a start; later runs reuse what this one compiled.
20
7
  enableCompileCache();
21
8
  const stopCatching = catchCrashes({ cli: MAX_APP.command, interactive: process.stdout.isTTY === true });
@@ -1 +1 @@
1
- {"version":3,"file":"max.js","sourceRoot":"","sources":["../../src/bin/max.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,+FAA+F;AAC/F,gGAAgG;AAChG,iFAAiF;AACjF,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACxD,OAAM;QACR,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,kGAAkG;AAClG,kBAAkB,EAAE,CAAA;AACpB,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA;AACvG,MAAM,YAAY,EAAE,CAAA;AACpB,YAAY,EAAE,CAAA;AACd,mGAAmG;AACnG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;AAC7C,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"max.js","sourceRoot":"","sources":["../../src/bin/max.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,kGAAkG;AAClG,kBAAkB,EAAE,CAAA;AACpB,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA;AACvG,MAAM,YAAY,EAAE,CAAA;AACpB,YAAY,EAAE,CAAA;AACd,mGAAmG;AACnG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;AAC7C,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -6,9 +6,15 @@ import type { Permission, SendKind } from "@wirecat/cli-core/sends";
6
6
  */
7
7
  export declare const BOT_PERMISSIONS: Readonly<Record<string, Permission>>;
8
8
  /**
9
- * How a bot write is journaled. `getUpdates` is absent on purpose: it is a write only because it
10
- * commits the marker, it reaches nobody, and a recipient list has nothing to say about it.
9
+ * How a bot write is journaled. A write missing here and from `UNJOURNALED_WRITES` is refused, so
10
+ * one added by a future schema sync cannot skip the recipient list and the journal.
11
11
  */
12
12
  export declare const BOT_JOURNAL_KINDS: Readonly<Record<string, SendKind>>;
13
+ /**
14
+ * Writes that pass only the permission checks. `getUpdates` is a write only because it commits the
15
+ * marker: it reaches no chat, so a recipient list has nothing to say about it, and it sends nothing
16
+ * an hourly limit or the journal would count.
17
+ */
18
+ export declare const UNJOURNALED_WRITES: ReadonlySet<string>;
13
19
  export declare const BOT_KEYS: Readonly<Record<string, string>>;
14
20
  //# sourceMappingURL=permissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/bot/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEnE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAoBhE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAqBhE,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCrD,CAAA"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/bot/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAEnE;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAoBhE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAqBhE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAA2B,CAAA;AAE9E,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCrD,CAAA"}
@@ -25,8 +25,8 @@ export const BOT_PERMISSIONS = {
25
25
  getUpdates: "read",
26
26
  };
27
27
  /**
28
- * How a bot write is journaled. `getUpdates` is absent on purpose: it is a write only because it
29
- * commits the marker, it reaches nobody, and a recipient list has nothing to say about it.
28
+ * How a bot write is journaled. A write missing here and from `UNJOURNALED_WRITES` is refused, so
29
+ * one added by a future schema sync cannot skip the recipient list and the journal.
30
30
  */
31
31
  export const BOT_JOURNAL_KINDS = {
32
32
  sendMessage: "message",
@@ -50,6 +50,12 @@ export const BOT_JOURNAL_KINDS = {
50
50
  unsubscribe: "account",
51
51
  getUploadUrl: "account",
52
52
  };
53
+ /**
54
+ * Writes that pass only the permission checks. `getUpdates` is a write only because it commits the
55
+ * marker: it reaches no chat, so a recipient list has nothing to say about it, and it sends nothing
56
+ * an hourly limit or the journal would count.
57
+ */
58
+ export const UNJOURNALED_WRITES = new Set(["getUpdates"]);
53
59
  export const BOT_KEYS = {
54
60
  getMyInfo: "bot.me",
55
61
  editMyCommands: "bot.commands.set",
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/bot/permissions.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAyC;IACnE,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,QAAQ;IACtB,cAAc,EAAE,SAAS;IACzB,UAAU,EAAE,MAAM;CACnB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAuC;IACnE,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,SAAS;IAC3B,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,SAAS;IACzB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,SAAS;CACxB,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAqC;IACxD,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,kBAAkB;IAClC,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,kBAAkB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,oBAAoB;IAClC,aAAa,EAAE,sBAAsB;IACrC,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE,sBAAsB;IAClC,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,wBAAwB;IACpC,UAAU,EAAE,uBAAuB;IACnC,YAAY,EAAE,0BAA0B;IACxC,gBAAgB,EAAE,mBAAmB;IACrC,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,qBAAqB;IACpC,cAAc,EAAE,mBAAmB;IACnC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,qBAAqB;IACpC,cAAc,EAAE,mBAAmB;IACnC,yBAAyB,EAAE,uBAAuB;IAClD,gBAAgB,EAAE,mBAAmB;IACrC,UAAU,EAAE,kBAAkB;CAC/B,CAAA"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/bot/permissions.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAyC;IACnE,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,QAAQ;IACtB,cAAc,EAAE,SAAS;IACzB,UAAU,EAAE,MAAM;CACnB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAuC;IACnE,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,SAAS;IAC3B,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,SAAS;IACzB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,SAAS;CACxB,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,QAAQ,GAAqC;IACxD,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,kBAAkB;IAClC,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,kBAAkB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,oBAAoB;IAClC,aAAa,EAAE,sBAAsB;IACrC,SAAS,EAAE,iBAAiB;IAC5B,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE,sBAAsB;IAClC,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,wBAAwB;IACpC,UAAU,EAAE,uBAAuB;IACnC,YAAY,EAAE,0BAA0B;IACxC,gBAAgB,EAAE,mBAAmB;IACrC,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,qBAAqB;IACpC,cAAc,EAAE,mBAAmB;IACnC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,qBAAqB;IACpC,cAAc,EAAE,mBAAmB;IACnC,yBAAyB,EAAE,uBAAuB;IAClD,gBAAgB,EAAE,mBAAmB;IACrC,UAAU,EAAE,kBAAkB;CAC/B,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { CliError } from "@wirecat/cli-base";
2
2
  import { annotate } from "@wirecat/cli-base/commands";
3
- import { itemOf, listOf, REMOTE_READ, REMOTE_WRITE, renderAnswer } from "@wirecat/cli-core/cli";
3
+ import { itemOf, listOf, ownerOnlyOption, REMOTE_READ, REMOTE_WRITE, renderAnswer } from "@wirecat/cli-core/cli";
4
4
  import { Command, Option } from "commander";
5
5
  import { plainJson } from "../bot/transport.js";
6
6
  import { botContext } from "./bot-context.js";
@@ -11,7 +11,7 @@ const format = () => new Option("--format <format>", "how the text is marked up"
11
11
  const commentBody = (id, text, format) => checked(id, JSON.stringify({ text: textOf(text), ...(format ? { format } : {}) }));
12
12
  export const commentsCommand = () => {
13
13
  const command = new Command("comments").description("comments under a channel post — each command takes the post's message id (mid.…) first");
14
- annotate(command.command("list <message>"), { effects: REMOTE_READ })
14
+ annotate(command.command("list <message>"), { effects: REMOTE_READ, offline: false })
15
15
  .description("the comments under a post, newest last")
16
16
  .option("--limit <n>", "how many, up to 100", wholeNumber("--limit"))
17
17
  .action(async function (message) {
@@ -26,7 +26,7 @@ export const commentsCommand = () => {
26
26
  const items = plainJson(answer)?.messages ?? [];
27
27
  renderAnswer(this, context, listOf("bot comments list", { items, limit, has_more: false }));
28
28
  });
29
- annotate(command.command("get <message> <comment>"), { effects: REMOTE_READ })
29
+ annotate(command.command("get <message> <comment>"), { effects: REMOTE_READ, offline: false })
30
30
  .description("one comment under a post")
31
31
  .action(async function (message, comment) {
32
32
  const context = botContext(this);
@@ -60,7 +60,7 @@ export const commentsCommand = () => {
60
60
  });
61
61
  annotate(command.command("delete <message> <comment>"), { effects: REMOTE_WRITE })
62
62
  .description("delete a comment under a post")
63
- .option("--allow-dangerous", "skip confirmation for bot.messages.delete at level ask")
63
+ .addOption(ownerOnlyOption("--allow-dangerous", "skip confirmation for bot.messages.delete at level ask"))
64
64
  .action(async function (message, comment) {
65
65
  const context = botContext(this);
66
66
  const answer = await guardedCall(context, operation("deleteComment"), {
@@ -1 +1 @@
1
- {"version":3,"file":"bot-comments.js","sourceRoot":"","sources":["../../src/commands/bot-comments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-comments.js","sourceRoot":"","sources":["../../src/commands/bot-comments.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare const botContext: (command: Command, { offline: answersOffline }?
16
16
  offline?: boolean;
17
17
  }) => {
18
18
  askPermission: import("@wirecat/cli-core/sends").Asker;
19
+ env: NodeJS.ProcessEnv;
19
20
  sleep: import("@wirecat/cli-base").SleepLike | undefined;
20
21
  /** The run's sink, for the requests that do not go through the transport — the upload. */
21
22
  events: EventSink | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"bot-context.d.ts","sourceRoot":"","sources":["../../src/commands/bot-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAEvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAA;AAS/E;;;GAGG;AACH,eAAO,MAAM,iBAAiB,YAAa,OAAO,KAAG,IA8BpD,CAAA;AAED,eAAO,MAAM,cAAc,YAAa,OAAO,KAAG,SAAS,GAAG,SAA4C,CAAA;AAE1G,wGAAwG;AACxG,eAAO,MAAM,UAAU,YAAa,OAAO,gCAAuC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;;IAkDnG,0FAA0F;;;;;;;;;oBA9BrE,MAAM,SAAS,WAAW,WAAW,SAAS;;2BAevC,WAAW;;;;CA+B1C,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,aAAa,cAAe,iBAAiB,YAAY,QAAQ,KAAG,IAQhF,CAAA"}
1
+ {"version":3,"file":"bot-context.d.ts","sourceRoot":"","sources":["../../src/commands/bot-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAEvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAA;AAS/E;;;GAGG;AACH,eAAO,MAAM,iBAAiB,YAAa,OAAO,KAAG,IAiCpD,CAAA;AAED,eAAO,MAAM,cAAc,YAAa,OAAO,KAAG,SAAS,GAAG,SAA4C,CAAA;AAE1G,wGAAwG;AACxG,eAAO,MAAM,UAAU,YAAa,OAAO,gCAAuC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;;;IA2DnG,0FAA0F;;;;;;;;;oBA/BrE,MAAM,SAAS,WAAW,WAAW,SAAS;;2BAevC,WAAW;;;;CAgC1C,CAAA;AAED,sGAAsG;AACtG,eAAO,MAAM,aAAa,cAAe,iBAAiB,YAAY,QAAQ,KAAG,IAQhF,CAAA"}
@@ -21,7 +21,10 @@ const recordings = new WeakMap();
21
21
  export const startBotRecording = (command) => {
22
22
  const environment = environmentOf(command);
23
23
  // The program's own flags only: `bot api get-updates --limit` is the API's limit, not ours.
24
- const settings = resolveSettings(rootOf(command).opts(), { kind: "bot" });
24
+ const settings = resolveSettings(rootOf(command).opts(), {
25
+ kind: "bot",
26
+ env: environment.env ?? process.env,
27
+ });
25
28
  const { streams, format } = resolveOutput({
26
29
  ...settings,
27
30
  ...(environment.streams ? { streams: environment.streams } : {}),
@@ -54,19 +57,26 @@ export const botRecordingOf = (command) => recordings.get(rootOf(command));
54
57
  /** `offline` is for the reads the local copy can answer; every other command still refuses the flag. */
55
58
  export const botContext = (command, { offline: answersOffline = false } = {}) => {
56
59
  const environment = environmentOf(command);
60
+ const env = environment.env ?? process.env;
57
61
  const flags = command.optsWithGlobals();
58
62
  const offline = flags.offline === true;
59
63
  if (offline && !answersOffline) {
60
64
  throw new CliError("validation_error", `--offline reads the local copy; \`${command.name()}\` has to ask MAX`);
61
65
  }
62
66
  const nativeApi = command.name() === "api" || command.parent?.name() === "api";
63
- const settings = resolveSettings(nativeApi ? rootOf(command).opts() : flags, { kind: "bot" });
67
+ const settings = resolveSettings(nativeApi ? rootOf(command).opts() : flags, { kind: "bot", env });
64
68
  const { renderer, streams, format, color } = resolveOutput({
65
69
  ...settings,
70
+ ...(environment.agent ? { capture: environment.agent.result } : {}),
66
71
  ...(environment.streams ? { streams: environment.streams } : {}),
67
72
  ...(environment.tty === undefined ? {} : { tty: environment.tty }),
68
73
  });
69
- const store = environment.botStore?.(settings.profile) ?? new BotTokenStore({ profile: settings.profile });
74
+ const store = environment.botStore?.(settings.profile) ??
75
+ new BotTokenStore({
76
+ profile: settings.profile,
77
+ env,
78
+ ...(environment.keyring ? { keyring: environment.keyring } : {}),
79
+ });
70
80
  const recording = botRecordingOf(command);
71
81
  const timeout = settings.commandTimeoutMs === undefined ? undefined : AbortSignal.timeout(settings.commandTimeoutMs);
72
82
  const deadline = timeout && environment.signal ? AbortSignal.any([timeout, environment.signal]) : (timeout ?? environment.signal);
@@ -93,10 +103,11 @@ export const botContext = (command, { offline: answersOffline = false } = {}) =>
93
103
  }
94
104
  return client(stored.token, stop);
95
105
  };
96
- const registry = environment.botRegistry?.(settings.profile) ?? new ChatRegistry(settings.profile);
106
+ const registry = environment.botRegistry?.(settings.profile) ?? new ChatRegistry(settings.profile, env);
97
107
  const uploadFetch = () => environment.botFetch ?? botFetch();
98
108
  return {
99
109
  askPermission: askerFor(command.optsWithGlobals(), environment),
110
+ env,
100
111
  sleep: environment.sleep,
101
112
  /** The run's sink, for the requests that do not go through the transport — the upload. */
102
113
  events: recording?.events,
@@ -1 +1 @@
1
- {"version":3,"file":"bot-context.js","sourceRoot":"","sources":["../../src/commands/bot-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-context.js","sourceRoot":"","sources":["../../src/commands/bot-context.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ const showMembers = (command, context, chat, answer) => {
46
46
  * `remove` comes from cli-core with the admins.
47
47
  */
48
48
  export const addMembersCommands = (members) => {
49
- annotate(members.command("list <chat>"), { effects: REMOTE_READ })
49
+ annotate(members.command("list <chat>"), { effects: REMOTE_READ, offline: false })
50
50
  .description("members of a chat, a page at a time — --cursor takes the `page.next_cursor` the last page gave")
51
51
  .option("--limit <n>", "how many, up to 100", wholeNumber("--limit"))
52
52
  .option("--cursor <cursor>", "continue from here")
@@ -1 +1 @@
1
- {"version":3,"file":"bot-members.js","sourceRoot":"","sources":["../../src/commands/bot-members.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-members.js","sourceRoot":"","sources":["../../src/commands/bot-members.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { BotMcp, BotMessenger, RunBotCommand } from "@wirecat/cli-core/cli";
2
2
  import type { run } from "../program.js";
3
3
  /**
4
- * max's `run` as the shared bot MCP server calls it. A test adds its keyring and Bot API stand-in as
5
- * `extra`.
4
+ * max's `run` as the shared bot MCP server calls it, with the whole environment it is handed. A test adds its
5
+ * keyring and Bot API stand-in as `extra`.
6
6
  */
7
7
  export declare const botMcpRun: (program: typeof run, extra?: Parameters<typeof run>[1]) => RunBotCommand;
8
8
  /** `bot mcp`. The program hands in its own `run`: importing it here would close a loop through the program. */
@@ -1 +1 @@
1
- {"version":3,"file":"bot-messenger.d.ts","sourceRoot":"","sources":["../../src/commands/bot-messenger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAA+B,aAAa,EAAY,MAAM,uBAAuB,CAAA;AAYvH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAMxC;;;GAGG;AACH,eAAO,MAAM,SAAS,YACV,OAAO,GAAG,UAAS,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAQ,aAEjB,CAAA;AAE/C,+GAA+G;AAC/G,eAAO,MAAM,SAAS,YAAa,OAAO,GAAG,KAAG,MAI9C,CAAA;AAEF,yGAAyG;AACzG,eAAO,MAAM,MAAM,EAAE,YA2EpB,CAAA"}
1
+ {"version":3,"file":"bot-messenger.d.ts","sourceRoot":"","sources":["../../src/commands/bot-messenger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAA+B,aAAa,EAAY,MAAM,uBAAuB,CAAA;AAYvH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAMxC;;;GAGG;AACH,eAAO,MAAM,SAAS,YACV,OAAO,GAAG,UAAS,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAQ,aAGjB,CAAA;AAE/C,+GAA+G;AAC/G,eAAO,MAAM,SAAS,YAAa,OAAO,GAAG,KAAG,MAI9C,CAAA;AAEF,yGAAyG;AACzG,eAAO,MAAM,MAAM,EAAE,YAmFpB,CAAA"}
@@ -6,22 +6,24 @@ import { BotTokenStore } from "../bot/auth.js";
6
6
  import { JoinLog } from "../bot/joins.js";
7
7
  import { PROVIDER } from "../bot/keep.js";
8
8
  import { KINDS } from "../bot/map.js";
9
- import { MAX_BOT_TOOLS } from "../bot/mcp-tools.js";
10
9
  import { ChatRegistry } from "../bot/registry.js";
11
10
  import { resolveSettings } from "../config.js";
11
+ import { botCommandKey } from "../permissions.js";
12
12
  import { readSecret } from "../session/prompt.js";
13
13
  import { SKILL } from "../skill.js";
14
14
  import { botContext } from "./bot-context.js";
15
15
  import { environmentOf } from "./context.js";
16
16
  /**
17
- * max's `run` as the shared bot MCP server calls it. A test adds its keyring and Bot API stand-in as
18
- * `extra`.
17
+ * max's `run` as the shared bot MCP server calls it, with the whole environment it is handed. A test adds its
18
+ * keyring and Bot API stand-in as `extra`.
19
19
  */
20
- export const botMcpRun = (program, extra = {}) => (argv, environment) => program(argv, { ...extra, ...environment });
20
+ export const botMcpRun = (program, extra = {}) =>
21
+ // An agent's run hears nothing: the recognizer is a test's stand-in, typed differently on each side.
22
+ (argv, { recognizer: _recognizer, ...environment }) => program(argv, { ...extra, ...environment });
21
23
  /** `bot mcp`. The program hands in its own `run`: importing it here would close a loop through the program. */
22
24
  export const maxBotMcp = (program) => ({
23
25
  program: async () => botMcpRun(program),
24
- tools: MAX_BOT_TOOLS,
26
+ keyOf: botCommandKey,
25
27
  skill: SKILL,
26
28
  });
27
29
  /** What the shared `bot` commands need from max: its settings, its Bot API client and its test seams. */
@@ -32,8 +34,8 @@ export const maxBot = {
32
34
  adminRights: BOT_ADMIN_RIGHTS,
33
35
  manyWebhooks: true,
34
36
  // `bot chats check` reads joins from here: MAX hands each update to one reader only.
35
- keepUpdates: (_command, profile, events) => {
36
- JoinLog.for(profile).add(events.flatMap((event) => (event.event === "joined" || event.event === "added" || event.event === "left" || event.event === "removed") &&
37
+ keepUpdates: (command, profile, events) => {
38
+ JoinLog.for(profile, environmentOf(command).env).add(events.flatMap((event) => (event.event === "joined" || event.event === "added" || event.event === "left" || event.event === "removed") &&
37
39
  event.person
38
40
  ? [
39
41
  {
@@ -54,8 +56,8 @@ export const maxBot = {
54
56
  return `${config} permissions.${key} allow`;
55
57
  },
56
58
  chatKindOf: (hit) => KINDS[String(hit.providerMetadata?.chatType)] ?? "unknown",
57
- joinsSince: (_command, profile, chatId, since) => {
58
- const log = JoinLog.for(profile);
59
+ joinsSince: (command, profile, chatId, since) => {
60
+ const log = JoinLog.for(profile, environmentOf(command).env);
59
61
  if (!log.kept())
60
62
  return undefined;
61
63
  return log
@@ -90,8 +92,14 @@ export const maxBot = {
90
92
  ...(context.settings.timeoutMs === undefined ? {} : { timeoutMs: context.settings.timeoutMs }),
91
93
  });
92
94
  },
93
- tokenStore: (command, profile) => environmentOf(command).botStore?.(profile) ?? new BotTokenStore({ profile }),
94
- registry: (command, profile) => environmentOf(command).botRegistry?.(profile) ?? new ChatRegistry(profile),
95
+ tokenStore: (command, profile) => {
96
+ const { botStore, env, keyring } = environmentOf(command);
97
+ return (botStore?.(profile) ?? new BotTokenStore({ profile, ...(env ? { env } : {}), ...(keyring ? { keyring } : {}) }));
98
+ },
99
+ registry: (command, profile) => {
100
+ const { botRegistry, env } = environmentOf(command);
101
+ return botRegistry?.(profile) ?? new ChatRegistry(profile, env);
102
+ },
95
103
  readSecret: (command, prompt) => (environmentOf(command).ask ?? ((text) => readSecret(text, { echo: false })))(prompt, { secret: true }),
96
104
  };
97
105
  //# sourceMappingURL=bot-messenger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bot-messenger.js","sourceRoot":"","sources":["../../src/commands/bot-messenger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,OAAmB,EAAE,KAAK,GAA8B,EAAE,EAAiB,EAAE,CAC9E,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CACpB,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC,CAAA;AAE/C,+GAA+G;AAC/G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAmB,EAAU,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;IACvC,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,KAAK;CACb,CAAC,CAAA;AAEF,yGAAyG;AACzG,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,GAAG,EAAE,OAAO;IACZ,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,IAAI;IAClB,qFAAqF;IACrF,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CACtB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;YAC5G,KAAK,CAAC,MAAM;YACV,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACvB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBACvB,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAE,KAAe,CAAC,CAAC,CAAE,QAAkB;oBACnG,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;iBACjD;aACF;YACH,CAAC,CAAC,EAAE,CACP,CACF,CAAA;IACH,CAAC;IACD,yEAAyE;IACzE,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;IACnE,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAA;QACrE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;QAC1F,OAAO,GAAG,MAAM,gBAAgB,GAAG,QAAQ,CAAA;IAC7C,CAAC;IACD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,IAAI,SAAS;IAC/E,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,OAAO,SAAS,CAAA;QACjC,OAAO,GAAG;aACP,IAAI,EAAE;aACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC;aACxF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnH,CAAC;IACD,eAAe,EAAE,CAAC,KAAkB,EAAE,OAAO,GAAmB,EAAE,EAAY,EAAE;QAC9E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;QAC3C,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAC1D;YACE,IAAI,EAAE,KAAK;YACX,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1D,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;SAC7E,CACF,CAAA;QACD,OAAO;YACL,GAAG,GAAG;YACN,OAAO,EAAE,OAAO,KAAK,IAAI;YACzB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;SACzC,CAAA;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACnC,OAAO,aAAa,CAAC;YACnB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;YACxC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE;YAClC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;SAC/F,CAAC,CAAA;IACJ,CAAC;IACD,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9G,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC;IAC1G,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC9B,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAClH,CAAA"}
1
+ {"version":3,"file":"bot-messenger.js","sourceRoot":"","sources":["../../src/commands/bot-messenger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bot-sends.d.ts","sourceRoot":"","sources":["../../src/commands/bot-sends.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAclE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAc,KAAK,UAAU,EAA4B,MAAM,mBAAmB,CAAA;AAEzF,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEjE,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA;AAE5C,eAAO,MAAM,SAAS,OAAQ,MAAM,sBAInC,CAAA;AA2BD,+FAA+F;AAC/F,eAAO,MAAM,QAAQ,YACV,OAAO,QACV,MAAM,SACN,UAAU,SACV,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,oDAaxE,CAAA;AAED,eAAO,MAAM,MAAM,SAAU,MAAM,KAAG,MAA4E,CAAA;AA8ClH,sGAAsG;AACtG,eAAO,MAAM,WAAW,YAAmB,OAAO,UAAU,iBAAiB,SAAS,SAAS,KAAG,OAAO,CAAC,OAAO,CAahH,CAAA"}
1
+ {"version":3,"file":"bot-sends.d.ts","sourceRoot":"","sources":["../../src/commands/bot-sends.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAelE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAc,KAAK,UAAU,EAA4B,MAAM,mBAAmB,CAAA;AAEzF,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEjE,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA;AAE5C,eAAO,MAAM,SAAS,OAAQ,MAAM,sBAInC,CAAA;AA2BD,+FAA+F;AAC/F,eAAO,MAAM,QAAQ,YACV,OAAO,QACV,MAAM,SACN,UAAU,SACV,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,oDAaxE,CAAA;AAED,eAAO,MAAM,MAAM,SAAU,MAAM,KAAG,MAA4E,CAAA;AA8ClH,sGAAsG;AACtG,eAAO,MAAM,WAAW,YAAmB,OAAO,UAAU,iBAAiB,SAAS,SAAS,KAAG,OAAO,CAAC,OAAO,CAkBhH,CAAA"}
@@ -1,10 +1,11 @@
1
1
  import { readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { CliError } from "@wirecat/cli-base";
4
+ import { readOnlyRefusal } from "@wirecat/cli-core/cli";
4
5
  import { guardedWrite, newOperationId, newSendId, RecipientList, SendJournal, sendGuard, } from "@wirecat/cli-core/sends";
5
6
  import { MAX_APP } from "../app.js";
6
7
  import { botOperations } from "../bot/client.js";
7
- import { BOT_JOURNAL_KINDS, BOT_KEYS } from "../bot/permissions.js";
8
+ import { BOT_JOURNAL_KINDS, BOT_KEYS, UNJOURNALED_WRITES } from "../bot/permissions.js";
8
9
  import { botsDirectory } from "../bot/registry.js";
9
10
  import { endpointOf, uploadFile, uploadTypeOf } from "../bot/uploads.js";
10
11
  import { asFirstWord } from "../profile.js";
@@ -17,17 +18,17 @@ export const operation = (id) => {
17
18
  };
18
19
  /** How the owner types this bot, so every refusal names the command that fixes it. */
19
20
  const botWords = (profile) => `${asFirstWord(profile)}bot`;
20
- const files = (profile) => ({
21
- journal: join(botsDirectory(), "sends", `${profile}.jsonl`),
22
- recipients: join(botsDirectory(), "recipients", `${profile}.json`),
21
+ const files = ({ settings, env }) => ({
22
+ journal: join(botsDirectory(env), "sends", `${settings.profile}.jsonl`),
23
+ recipients: join(botsDirectory(env), "recipients", `${settings.profile}.json`),
23
24
  });
24
- const recipientsOf = (context) => new RecipientList(files(context.settings.profile).recipients, `max ${botWords(context.settings.profile)}`);
25
+ const recipientsOf = (context) => new RecipientList(files(context).recipients, `max ${botWords(context.settings.profile)}`);
25
26
  /** cli-core's guard with the bot's own recipient list and journal; no hourly limit unless `bot.*` sets one (`NEED-305`, `NEED-356`). */
26
27
  const guardOf = (context) => sendGuard({
27
28
  profile: botWords(context.settings.profile),
28
29
  command: "max",
29
30
  sendsPerHour: context.settings.sendsPerHour,
30
- journal: new SendJournal(files(context.settings.profile).journal, {
31
+ journal: new SendJournal(files(context).journal, {
31
32
  service: MAX_APP.command,
32
33
  version: MAX_APP.version,
33
34
  }),
@@ -84,6 +85,9 @@ const chatOfCall = async (context, input) => {
84
85
  };
85
86
  /** Every bot write, from any command: readOnly and allow, then the recipient list and the journal. */
86
87
  export const guardedCall = async (context, target, input) => {
88
+ const lock = context.settings.readOnlyLock;
89
+ if (target.effect !== "read" && lock)
90
+ throw readOnlyRefusal(lock, "send, react, change chats or change the account");
87
91
  const client = context.authenticated();
88
92
  assertAllowed(target, context.settings);
89
93
  if (target.effect === "read")
@@ -92,8 +96,11 @@ export const guardedCall = async (context, target, input) => {
92
96
  if (key && (await import("@wirecat/cli-core/sends")).levelFor(context.settings.permissions, key).level === "ask")
93
97
  await context.askPermission(key, { chatId: null });
94
98
  const kind = BOT_JOURNAL_KINDS[target.id];
95
- if (!kind)
96
- return client.call(target, input);
99
+ if (!kind) {
100
+ if (UNJOURNALED_WRITES.has(target.id))
101
+ return client.call(target, input);
102
+ throw new CliError("configuration_error", `no journal kind for the Bot API write ${target.id}`, { sent: false });
103
+ }
97
104
  const chatId = await chatOfCall(context, input);
98
105
  // The guard names every account change; the bot's own `allow` check has already run in assertAllowed.
99
106
  const action = kind === "account" ? { action: "profile" } : {};
@@ -1 +1 @@
1
- {"version":3,"file":"bot-sends.js","sourceRoot":"","sources":["../../src/commands/bot-sends.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot-sends.js","sourceRoot":"","sources":["../../src/commands/bot-sends.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bot-setup.d.ts","sourceRoot":"","sources":["../../src/commands/bot-setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAM3C,eAAO,MAAM,cAAc,QAAO,OAqBjC,CAAA"}
1
+ {"version":3,"file":"bot-setup.d.ts","sourceRoot":"","sources":["../../src/commands/bot-setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAM3C,eAAO,MAAM,cAAc,QAAO,OAwBjC,CAAA"}
@@ -6,7 +6,8 @@ import { refuseProtected } from "../upload.js";
6
6
  import { botContext } from "./bot-context.js";
7
7
  import { guardedCall, uploaded } from "./bot-sends.js";
8
8
  export const uploadsCommand = () => {
9
- const command = new Command("uploads").description("files uploaded to MAX, to attach to a message");
9
+ // It reads a file from this machine and hands it to MAX: agents get no file options (NEED-1411).
10
+ const command = annotate(new Command("uploads"), { mcp: false }).description("files uploaded to MAX, to attach to a message");
10
11
  annotate(command.command("put <file>"), { effects: REMOTE_WRITE })
11
12
  .description("upload a file from disk and print the attachment to put in a message's `attachments` — " +
12
13
  "`messages send --file` does both steps at once")
@@ -1 +1 @@
1
- {"version":3,"file":"bot-setup.js","sourceRoot":"","sources":["../../src/commands/bot-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,+CAA+C,CAAC,CAAA;IAEnG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;SAC/D,WAAW,CACV,yFAAyF;QACvF,gDAAgD,CACnD;SACA,SAAS,CACR,IAAI,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAC1G;SACA,MAAM,CAAC,kBAAkB,EAAE,qEAAqE,CAAC;SACjG,MAAM,CAAC,KAAK,WAA0B,IAAY;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,EAAiD,CAAA;QACzF,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QAC9G,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEJ,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"bot-setup.js","sourceRoot":"","sources":["../../src/commands/bot-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,iGAAiG;IACjG,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAC1E,+CAA+C,CAChD,CAAA;IAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;SAC/D,WAAW,CACV,yFAAyF;QACvF,gDAAgD,CACnD;SACA,SAAS,CACR,IAAI,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAC1G;SACA,MAAM,CAAC,kBAAkB,EAAE,qEAAqE,CAAC;SACjG,MAAM,CAAC,KAAK,WAA0B,IAAY;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,EAAiD,CAAA;QACzF,eAAe,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QAC9G,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEJ,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/commands/bot.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAWxC,eAAO,MAAM,UAAU,YAAa,OAAO,GAAG,KAAG,OA6ChD,CAAA"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../src/commands/bot.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAqBxC,eAAO,MAAM,UAAU,YAAa,OAAO,GAAG,KAAG,OAgEhD,CAAA"}
@@ -1,5 +1,6 @@
1
+ import { CliError } from "@wirecat/cli-base";
1
2
  import { annotate } from "@wirecat/cli-base/commands";
2
- import { generatedApiCommand, itemOf, REMOTE_READ, renderAnswer, botCommand as sharedBotCommand, } from "@wirecat/cli-core/cli";
3
+ import { generatedApiCommand, itemOf, ownerOnlyOption, REMOTE_READ, renderAnswer, botCommand as sharedBotCommand, } from "@wirecat/cli-core/cli";
3
4
  import { botOperations } from "../bot/client.js";
4
5
  import { checkBody, checkParameter } from "../bot/input.js";
5
6
  import { plainJson } from "../bot/transport.js";
@@ -9,6 +10,14 @@ import { addMembersCommands } from "./bot-members.js";
9
10
  import { maxBot, maxBotMcp } from "./bot-messenger.js";
10
11
  import { guardedCall } from "./bot-sends.js";
11
12
  import { uploadsCommand } from "./bot-setup.js";
13
+ const MESSAGE_ID = /^mid\.[\w.-]+$/;
14
+ const messageId = (value) => {
15
+ const id = value.trim();
16
+ if (!MESSAGE_ID.test(id))
17
+ throw new CliError("validation_error", `a message id is mid.…, not "${value}"`);
18
+ return id;
19
+ };
20
+ const messageIds = (value, previous = []) => [...previous, messageId(value)];
12
21
  /** Every command under `node`, itself included. */
13
22
  const allOf = (node) => [node, ...node.commands.flatMap(allOf)];
14
23
  export const botCommand = (program) => {
@@ -21,12 +30,34 @@ export const botCommand = (program) => {
21
30
  startBotRecording(action);
22
31
  })
23
32
  .hook("postAction", async (_group, action) => botRecordingOf(action)?.succeed());
24
- annotate(command.command("me"), { effects: REMOTE_READ })
33
+ annotate(command.command("me"), { effects: REMOTE_READ, offline: false })
25
34
  .description("the bot this profile's token belongs to: name, id, description, commands")
26
35
  .action(async function () {
27
36
  const context = botContext(this);
28
37
  renderAnswer(this, context, itemOf(plainJson(await context.authenticated().me())));
29
38
  });
39
+ const messages = (name) => {
40
+ const found = command.commands
41
+ .find((child) => child.name() === "messages")
42
+ ?.commands.find((child) => child.name() === name);
43
+ if (!found)
44
+ throw new Error(`the shared bot group has no messages ${name}`);
45
+ return found;
46
+ };
47
+ const replyTo = messages("send").options.find((option) => option.long === "--reply-to");
48
+ if (!replyTo)
49
+ throw new Error("the shared bot group has no messages send --reply-to");
50
+ replyTo.argParser(messageId);
51
+ for (const name of ["show", "edit", "pin", "unpin"]) {
52
+ const message = messages(name).registeredArguments.find((argument) => argument.name() === "message");
53
+ if (!message)
54
+ throw new Error(`the shared bot group has no messages ${name} <message>`);
55
+ message.argParser(messageId);
56
+ }
57
+ const deleted = messages("delete").registeredArguments.find((argument) => argument.name() === "messages");
58
+ if (!deleted)
59
+ throw new Error("the shared bot group has no messages delete <messages...>");
60
+ deleted.argParser(messageIds);
30
61
  const chats = command.commands.find((child) => child.name() === "chats");
31
62
  if (!chats)
32
63
  throw new Error("the shared bot group has no chats");
@@ -53,7 +84,7 @@ export const botCommand = (program) => {
53
84
  });
54
85
  for (const child of api.commands)
55
86
  if (["delete-message", "delete-comment"].includes(child.name()))
56
- child.option("--allow-dangerous", "skip confirmation for bot.messages.delete at level ask");
87
+ child.addOption(ownerOnlyOption("--allow-dangerous", "skip confirmation for bot.messages.delete at level ask"));
57
88
  command.addCommand(api);
58
89
  return command;
59
90
  };