@leemour/cli-messaging 0.107.0 → 0.109.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.
@@ -7,37 +7,84 @@ export const placedText = (model, directory) => model.files.map((file) => [file,
7
7
  export const isTextModelInstalled = (model, directory) => filesPresent(placedText(model, directory));
8
8
  /** Past 8 threads one session gains nothing; Bun takes 1 unless told (`2026-10-02-embeddings.md`). */
9
9
  export const defaultThreads = () => Math.min(8, availableParallelism());
10
- export const warmEmbedders = () => {
10
+ export const WARM_IDLE_MS = 10 * 60_000;
11
+ /**
12
+ * Measured 2026-10-02, three load-and-close cycles: on Node a model in a worker leaves ~0.2 GB once closed,
13
+ * every time, while one in this thread leaves ~0.8 GB; on Bun either way grows ~0.2–0.55 GB a cycle, so
14
+ * there the model is kept rather than reloaded.
15
+ */
16
+ const unloads = process.versions.bun === undefined;
17
+ export const warmEmbedders = ({ idleMs = unloads ? WARM_IDLE_MS : undefined, } = {}) => {
11
18
  const held = new Map();
19
+ const timers = new Map();
20
+ const running = new Map();
21
+ const drop = (key) => {
22
+ const one = held.get(key);
23
+ held.delete(key);
24
+ clearTimeout(timers.get(key));
25
+ timers.delete(key);
26
+ return one;
27
+ };
28
+ const rearm = (key) => {
29
+ if (idleMs === undefined)
30
+ return;
31
+ clearTimeout(timers.get(key));
32
+ const timer = setTimeout(() => {
33
+ // A search still running rearms the clock when it ends.
34
+ if (running.get(key))
35
+ return;
36
+ drop(key)
37
+ ?.then((one) => one.close())
38
+ .catch(() => { });
39
+ }, idleMs);
40
+ // The MCP server exits when its client goes; a timer must not hold it open.
41
+ timer.unref?.();
42
+ timers.set(key, timer);
43
+ };
12
44
  return {
45
+ isolated: idleMs !== undefined,
13
46
  get: (key, open) => {
14
- const known = held.get(key);
15
- if (known)
16
- return known;
17
- const opening = open().then(serial);
18
- held.set(key, opening);
19
- // A model not downloaded yet must not stay refused once it is.
20
- opening.catch(() => held.delete(key));
47
+ let opening = held.get(key);
48
+ if (!opening) {
49
+ const started = open().then((one) => serial(one, {
50
+ starts: () => running.set(key, (running.get(key) ?? 0) + 1),
51
+ ends: () => {
52
+ running.set(key, (running.get(key) ?? 1) - 1);
53
+ rearm(key);
54
+ },
55
+ }));
56
+ held.set(key, started);
57
+ // A model not downloaded yet must not stay refused once it is.
58
+ started.catch(() => {
59
+ if (held.get(key) === started)
60
+ drop(key);
61
+ });
62
+ opening = started;
63
+ }
64
+ rearm(key);
21
65
  return opening;
22
66
  },
23
67
  close: async () => {
24
- const all = [...held.values()];
25
- held.clear();
26
- await Promise.allSettled(all.map(async (one) => (await one).close()));
68
+ const all = [...held.keys()].map(drop);
69
+ await Promise.allSettled(all.map(async (one) => (await one)?.close()));
27
70
  },
28
71
  };
29
72
  };
30
73
  /** Two MCP calls may arrive at once; a session is not documented to take overlapping runs. */
31
- const serial = (embedder) => {
74
+ const serial = (embedder, { starts, ends }) => {
32
75
  let last = Promise.resolve();
33
76
  return {
34
77
  model: embedder.model,
35
78
  embed: (texts, kind) => {
79
+ starts();
36
80
  const next = last.then(() => embedder.embed(texts, kind));
37
- last = next.catch(() => { });
81
+ last = next.then(ends, ends);
38
82
  return next;
39
83
  },
40
- close: () => embedder.close(),
84
+ close: async () => {
85
+ await last;
86
+ await embedder.close();
87
+ },
41
88
  };
42
89
  };
43
90
  /** A text longer than the model's limit keeps its beginning and the closing special token. */
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/embeddings/embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/embeddings/embed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/bot/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEtF,OAAO,EAAyB,SAAS,EAAsB,MAAM,8BAA8B,CAAA;AAInG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKrD,OAAO,EAAa,KAAK,OAAO,EAAgD,MAAM,YAAY,CAAA;AAElG,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,KAAK,CAAA;IACV,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAC7C,KACE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,YAAY,CAAA;IACjB;;;OAGG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK;QAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,GAAG,SAAS,CAAA;IAC3F,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,aAAa,GAAG,eAAe,CAAC,CAAA;IACrE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,GAAG,EAAE,aAAa,CAAA;IAClB,oGAAoG;IACpG,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,+BAA+B;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAID,eAAO,MAAM,WAAW,YAAa,MAAM,SAAS,SAAS,MAAM,EAAE,KAAG,MACd,CAAA;AAsD1D,eAAO,MAAM,eAAe,YAAa,gBAAgB;iBAiDrC,SAAS;;CAiF5B,CAAA;AAED,4GAA4G;AAC5G,eAAO,MAAM,iBAAiB,YAAmB,gBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAG,OAAO,CAAC,IAAI,CAUhH,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/bot/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEtF,OAAO,EAAyB,SAAS,EAAsB,MAAM,8BAA8B,CAAA;AAInG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKrD,OAAO,EAAa,KAAK,OAAO,EAAgD,MAAM,YAAY,CAAA;AAElG,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,KAAK,CAAA;IACV,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAC7C,KACE,OAAO,CAAC,MAAM,CAAC,CAAA;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,YAAY,CAAA;IACjB;;;OAGG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK;QAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,GAAG,SAAS,CAAA;IAC3F,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,aAAa,GAAG,eAAe,CAAC,CAAA;IACrE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;IACtB,GAAG,EAAE,aAAa,CAAA;IAClB,oGAAoG;IACpG,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,+BAA+B;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAID,eAAO,MAAM,WAAW,YAAa,MAAM,SAAS,SAAS,MAAM,EAAE,KAAG,MACd,CAAA;AAsD1D,eAAO,MAAM,eAAe,YAAa,gBAAgB;iBAiDrC,SAAS;;CAqF5B,CAAA;AAED,4GAA4G;AAC5G,eAAO,MAAM,iBAAiB,YAAmB,gBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAAG,OAAO,CAAC,IAAI,CAUhH,CAAA"}
@@ -131,7 +131,7 @@ export const createBotServer = (options) => {
131
131
  throw invalid(checked.issues);
132
132
  const args = checked.output;
133
133
  if (tool.handle) {
134
- const handled = await tool.handle(args, { ...kit, confirmFirst: formFirst(tool) }, ctx);
134
+ const handled = await tool.handle(args, { ...kit, confirmFirst: formFirst(tool), answerFlags: answerFlag(tool) }, ctx);
135
135
  return isInputRequiredResult(handled) ? handled : answered(body(handled));
136
136
  }
137
137
  const act = async (given) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/bot/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/bot/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAgB,MAAM,mBAAmB,CAAA;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAsB,MAAM,8BAA8B,CAAA;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAc,QAAQ,EAAsB,MAAM,4BAA4B,CAAA;AACpG,OAAO,EAAE,SAAS,EAAoB,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAkD,UAAU,EAAE,MAAM,YAAY,CAAA;AAkClG,MAAM,SAAS,GAAG,6EAA6E,CAAA;AAE/F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,KAAwB,EAAU,EAAE,CAC/E,GAAG,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;AAE1D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE;IACvC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI;aACR,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;aACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,KAAc,EAAU,EAAE,CACtC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAA;AAExG,MAAM,OAAO,GAAG,CAAC,MAA8B,EAAY,EAAE,CAC3D,IAAI,QAAQ,CACV,kBAAkB,EAClB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9F,CAAA;AAEH;;;;GAIG;AACH,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAoB,EAAE,EAAE;IAC1D,IAAI,KAAK,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,IAAI,GAAG,KAAK,EAChB,KAAwB,EACxB,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAc,EAC9C,MAA4C,EAC5C,EAAE;QACF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;QAChC,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,CAAA;QACtF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACzF,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACxD,MAAM,KAAK,GAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAA4D,EAAE,KAAK,CAAA;QACpH,MAAM,IAAI,QAAQ,CAChB,CAAC,KAAK,EAAE,IAAI,IAAI,iBAAiB,CAA8C,EAC/E,KAAK,EAAE,OAAO,IAAI,2BAA2B,IAAI,EAAE,EACnD,KAA4C,CAC7C,CAAA;IACH,CAAC,CAAA;IACD,OAAO,CAAC,KAAwB,EAAE,UAAsB,EAAE,MAA4C,EAAE,EAAE;QACxG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;QAC9D,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAyB,EAAE,EAAE;IAC3D,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,EAAE,cAAc,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;IACtG,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,CAAC,IAAa,EAAoC,EAAE,CAChE,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,CAAC,IAAa,EAAS,EAAE;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;IAClE,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/G,gGAAgG;IAChG,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;QACnB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,UAAU,CAAC,CAAA;IAC1G,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAqB,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACpH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAE9E,MAAM,WAAW,GAAgB,KAAK,EAAE,SAAS,EAAE,EAAE;QACnD,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAA;QAClE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAEpF,CAAA;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAA;QACnG,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oCAAoC,SAAS,EAAE,CAAC,CAAA;QAC5F,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAA;IACrD,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAA;IAC7B,MAAM,GAAG,GAAqD,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAA;IAChG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE/E,8GAA8G;IAC9G,MAAM,UAAU,GAAG,CAAC,IAAa,EAAY,EAAE;QAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,EAAE,CAAA;QACzD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3C,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,IAAa,EAAW,EAAE;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAC9B,IAAI,WAAW;YAAE,OAAO,IAAI,CAAA;QAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAA;QACzC,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACnF,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,GAAc,EAAE;QAC5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,GAAG,OAAO,QAAQ,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EACxE;YACE,YAAY,EAAE,eAAe,CAAC;gBAC5B,OAAO;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO;gBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM;gBACN,WAAW;gBACX,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/C,CAAC;SACH,CACF,CAAA;QACD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;YAC/D,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAA;QAC5E,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,YAAY,CACjB,IAAI,EACJ;gBACE,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE;gBAChF,WAAW,EAAE,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACvC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3C,EACD,KAAK,EAAE,GAA4B,EAAE,GAAkB,EAAE,EAAE;gBACzD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;oBAC5C,IAAI,CAAC,OAAO,CAAC,OAAO;wBAAE,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACnD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAiC,CAAA;oBACtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAC/B,IAAI,EACJ,EAAE,GAAG,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EACxE,GAAG,CACJ,CAAA;wBACD,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC3E,CAAC;oBACD,MAAM,GAAG,GAAG,KAAK,EAAE,KAA8B,EAAE,EAAE;wBACnD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;wBAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;oBACtG,CAAC,CAAA;oBACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;wBAC5B,CAAC,CAAC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;wBAC3E,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;oBACnB,IAAI,qBAAqB,CAAC,MAAM,CAAC;wBAAE,OAAO,MAAM,CAAA;oBAChD,OAAO,QAAQ,CAAC,IAAI,CAAE,MAA8B,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,CACF,CAAA;QACH,CAAC;QAED,MAAM,CAAC,YAAY,CACjB,GAAG,OAAO,aAAa,EACvB;YACE,KAAK,EAAE,+BAA+B;YACtC,WAAW,EACT,mGAAmG;gBACnG,sCAAsC;YACxC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;SAC/C,EACD,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CACvE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CACvG,CAAA;YACD,OAAO,QAAQ,CAAC;gBACd,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,KAAK;gBACX,IAAI;gBACJ,MAAM;gBACN,WAAW;gBACX,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC,CAAA;QACJ,CAAC,CACF,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAA;AAC1D,CAAC,CAAA;AAED,4GAA4G;AAC5G,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAyB,EAAE,IAA+B,EAAiB,EAAE;IACnH,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IACvF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAClC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;AACtB,CAAC,CAAA"}
@@ -18,6 +18,8 @@ export interface BotToolKit {
18
18
  resolveChat: ResolveChat;
19
19
  /** The owner must see this call in a form before anything is written: `--confirm-send`, or level `ask`. */
20
20
  confirmFirst: boolean;
21
+ /** The flag that answers the command's own question at level `ask` (`--yes`), for the run the owner agreed to. */
22
+ answerFlags: string[];
21
23
  }
22
24
  export interface BotTool {
23
25
  /** The command under `bot`; also the tool's name, `<cli>_bot_<words>`. Offered only when the command exists. */
@@ -46,7 +48,7 @@ export declare const text: v.SchemaWithPipe<readonly [v.StringSchema<undefined>,
46
48
  export declare const limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100, undefined>, v.DescriptionAction<number, "how many">]>, undefined>;
47
49
  export declare const format: v.OptionalSchema<v.SchemaWithPipe<readonly [v.PicklistSchema<["markdown", "html"], undefined>, v.DescriptionAction<"html" | "markdown", "how the text is marked up">]>, undefined>;
48
50
  export declare const offline: v.OptionalSchema<v.SchemaWithPipe<readonly [v.BooleanSchema<undefined>, v.DescriptionAction<boolean, "answer from the copy on this machine only">]>, undefined>;
49
- export declare const person: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, "a person's id">]>;
51
+ export declare const person: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.DescriptionAction<string, "an id, @username or part of a name">]>;
50
52
  export declare const message: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 256, undefined>, v.RegexAction<string, "a message id has no spaces or control characters, and no - first">, v.DescriptionAction<string, "message id">]>;
51
53
  /** `all_bots` and `bots`, added to an `across` tool only when this bot may read others. */
52
54
  export declare const withAcross: (tool: BotTool) => BotTool;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/bot/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACtF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,wGAAwG;AACxG,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,iHAAiH;IACjH,MAAM,EAAE,CACN,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,KACzC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB,SAAS,EAAE,CACT,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACrC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KACxD,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAA;IAC1C,WAAW,EAAE,WAAW,CAAA;IACxB,2GAA2G;IAC3G,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,gHAAgH;IAChH,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACjD;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,sGAAsG;IACtG,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAA;IAC1D,yFAAyF;IACzF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAA;CACvH;AAED,0FAA0F;AAC1F,eAAO,MAAM,MAAM,SAAU,MAAM,SAAS,OAAO,KAAG,MAAM,EACD,CAAA;AAC3D,eAAO,MAAM,IAAI,SAAU,MAAM,MAAM,OAAO,KAAG,MAAM,EAAwC,CAAA;AAC/F,gFAAgF;AAChF,eAAO,MAAM,KAAK,WAAY,OAAO,KAAG,MAAM,EAC0B,CAAA;AAExE,eAAO,MAAM,IAAI,mOAIhB,CAAA;AACD,eAAO,MAAM,IAAI,kJAAsG,CAAA;AACvH,eAAO,MAAM,KAAK,oPAEjB,CAAA;AACD,eAAO,MAAM,MAAM,oLAAmG,CAAA;AACtH,eAAO,MAAM,OAAO,iKAA8F,CAAA;AAClH,eAAO,MAAM,MAAM,+IAAqE,CAAA;AACxF,eAAO,MAAM,OAAO,yOAMnB,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,SAAU,OAAO,KAAG,OAiBzC,CAAA;AAoDF,2GAA2G;AAC3G,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,EAoJvC,CAAA"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/bot/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACtF,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAI5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,wGAAwG;AACxG,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,iHAAiH;IACjH,MAAM,EAAE,CACN,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,KACzC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrB,SAAS,EAAE,CACT,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACrC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KACxD,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAA;IAC1C,WAAW,EAAE,WAAW,CAAA;IACxB,2GAA2G;IAC3G,YAAY,EAAE,OAAO,CAAA;IACrB,kHAAkH;IAClH,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,gHAAgH;IAChH,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACjD;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,sGAAsG;IACtG,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAA;IAC1D,yFAAyF;IACzF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAA;CACvH;AAED,0FAA0F;AAC1F,eAAO,MAAM,MAAM,SAAU,MAAM,SAAS,OAAO,KAAG,MAAM,EACD,CAAA;AAC3D,eAAO,MAAM,IAAI,SAAU,MAAM,MAAM,OAAO,KAAG,MAAM,EAAwC,CAAA;AAC/F,gFAAgF;AAChF,eAAO,MAAM,KAAK,WAAY,OAAO,KAAG,MAAM,EAC0B,CAAA;AAExE,eAAO,MAAM,IAAI,mOAIhB,CAAA;AACD,eAAO,MAAM,IAAI,kJAAsG,CAAA;AACvH,eAAO,MAAM,KAAK,oPAEjB,CAAA;AACD,eAAO,MAAM,MAAM,oLAAmG,CAAA;AACtH,eAAO,MAAM,OAAO,iKAA8F,CAAA;AAClH,eAAO,MAAM,MAAM,oKAA0F,CAAA;AAC7G,eAAO,MAAM,OAAO,yOAMnB,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,SAAU,OAAO,KAAG,OAiBzC,CAAA;AAuDF,2GAA2G;AAC3G,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,EAmLvC,CAAA"}
@@ -11,7 +11,7 @@ export const text = v.pipe(v.string(), v.regex(/^(?!-$)[\s\S]+$/, "a text, and n
11
11
  export const limit = v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100), v.description("how many")));
12
12
  export const format = v.optional(v.pipe(v.picklist(["markdown", "html"]), v.description("how the text is marked up")));
13
13
  export const offline = v.optional(v.pipe(v.boolean(), v.description("answer from the copy on this machine only")));
14
- export const person = v.pipe(v.string(), v.minLength(1), v.description("a person's id"));
14
+ export const person = v.pipe(v.string(), v.minLength(1), v.description("an id, @username or part of a name"));
15
15
  export const message = v.pipe(v.string(), v.maxLength(256),
16
16
  // biome-ignore lint/suspicious/noControlCharactersInRegex: refusing them is the point
17
17
  v.regex(/^(?!-)[^\s\x00-\x1F\x7F-\x9F]+$/, "a message id has no spaces or control characters, and no - first"), v.description("message id"));
@@ -53,10 +53,13 @@ const moderate = {
53
53
  since_time: v.optional(v.pipe(time, v.description("judge what came after this time; the saved point stays"))),
54
54
  dry_run: v.optional(v.pipe(v.boolean(), v.description("judge and plan; do nothing"))),
55
55
  }),
56
- handle: async (args, { invoke, confirmed, resolveChat, confirmFirst }, ctx) => {
56
+ handle: async (args, { invoke, confirmed, resolveChat, confirmFirst, answerFlags }, ctx) => {
57
57
  const words = ["chats", "moderate"];
58
58
  const positionals = [String(args.chat)];
59
- const run = async (dry, answer) => (await invoke(words, { options: [...option("since-time", args.since_time), ...flag("dry-run", dry)], positionals }, answer));
59
+ const run = async (dry, answer) => (await invoke(words, {
60
+ options: [...option("since-time", args.since_time), ...(dry ? ["--dry-run"] : answerFlags)],
61
+ positionals,
62
+ }, answer));
60
63
  if (args.dry_run === true)
61
64
  return run(true);
62
65
  const { chatId, rules } = (await invoke(["chats", "rules", "show"], { positionals }));
@@ -105,6 +108,36 @@ export const BOT_TOOLS = [
105
108
  positionals: [String(args.chat), String(args.message)],
106
109
  }),
107
110
  },
111
+ {
112
+ words: ["messages", "search"],
113
+ across: true,
114
+ title: "Search the bot's messages",
115
+ description: "Search the messages this machine has kept for the bot, best match first; from narrows to what one person wrote.",
116
+ input: v.object({ text: v.optional(v.pipe(v.string(), v.minLength(1))), from: v.optional(person), limit }),
117
+ invocation: (args) => ({
118
+ options: [...option("from", args.from), ...option("limit", args.limit)],
119
+ positionals: args.text === undefined ? [] : [String(args.text)],
120
+ }),
121
+ },
122
+ {
123
+ words: ["messages", "between"],
124
+ across: true,
125
+ title: "Messages between people",
126
+ description: "What these people wrote in the chats this bot shares with them, from the copy on this machine.",
127
+ input: v.object({ people: v.pipe(v.array(person), v.minLength(2)), limit }),
128
+ invocation: (args) => ({
129
+ options: option("limit", args.limit),
130
+ positionals: args.people.map(String),
131
+ }),
132
+ },
133
+ {
134
+ words: ["contacts", "show"],
135
+ across: true,
136
+ title: "One person",
137
+ description: "A person this bot has seen write: who they are, where, and the private chat with them.",
138
+ input: v.object({ who: person, limit }),
139
+ invocation: (args) => ({ options: option("limit", args.limit), positionals: [String(args.who)] }),
140
+ },
108
141
  {
109
142
  words: ["chats", "admins", "list"],
110
143
  title: "Admins of a chat",
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/bot/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/bot/tools.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Fetching } from "../cli/messenger/context.js";
2
2
  import type { Id, Message } from "../domain/models.js";
3
- import { type ChatStats, type Range } from "../store/store.js";
3
+ import { type AccountKey, type ChatStats, type MessageStore, type Range } from "../store/store.js";
4
4
  import { type Estimate } from "./backfill-estimate.js";
5
5
  import type { ServiceDeps } from "./deps.js";
6
6
  /** The most messages a provider hands out per history request — Telegram's cap. */
@@ -79,4 +79,20 @@ export interface ArchiveService {
79
79
  }>;
80
80
  }
81
81
  export declare const archiveService: (deps: ServiceDeps) => ArchiveService;
82
+ /** One page of a chat's history, newest first, older than `before` when it is given. */
83
+ export type HistoryPage = (window: {
84
+ limit: number;
85
+ before?: string;
86
+ }) => Promise<{
87
+ items: Message[];
88
+ hasMore: boolean;
89
+ }>;
90
+ export interface FetchInto extends FetchOptions {
91
+ history: HistoryPage;
92
+ store: MessageStore;
93
+ account: AccountKey;
94
+ fetching: Fetching;
95
+ }
96
+ /** The fetch loop, over any history and store: the personal account's service and a bot's command share it. */
97
+ export declare const fetchInto: ({ history, store, account, fetching, limit, pageSize, pauseMs, sinceMs, last, note, stop, onPage, }: FetchInto) => Promise<Fetched>;
82
98
  //# sourceMappingURL=archive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/services/archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/services/archive.ts"],"names":[],"mappings":"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"}
@@ -65,96 +65,102 @@ export const archiveService = (deps) => {
65
65
  }),
66
66
  };
67
67
  },
68
- fetch: async (chat, { limit, pageSize, pauseMs, sinceMs, last, note, stop, onPage }) => {
68
+ fetch: async (chat, options) => {
69
69
  pushed(deps, "`store fetch`");
70
- const fetching = deps.messenger.fetching ?? FETCHING;
71
- const byTime = fetching.orderBy === "time";
72
- const keyed = keyOf(fetching);
73
70
  const connection = await deps.connection();
74
71
  const history = capability(connection, "history", "read a chat's history");
75
72
  const self = connection.self();
76
73
  if (self === null)
77
74
  throw new CliError("authentication_error", "not logged in — nothing to fetch for");
78
- const account = { provider: deps.messenger.provider, account: self };
79
- const store = await deps.store();
80
- let before;
81
- let chatId;
82
- let top;
83
- let fetched = 0;
84
- // By time a page reaches back into the moment the last one ended at, so its ids repeat.
85
- const seen = new Set();
86
- let idle = 0;
87
- let reachedStart = false;
88
- let reachedSince = false;
89
- let reachedLast = false;
90
- while (fetched < limit && !stop.aborted) {
91
- const page = await patiently(() => history(chat, {
92
- limit: Math.min(pageSize, limit - fetched),
93
- reactions: false,
94
- ...(before ? { before } : {}),
95
- }), note, stop);
96
- const first = page.items[0];
97
- if (!first) {
98
- reachedStart = true;
99
- break;
100
- }
101
- chatId ??= first.chatId;
102
- const keys = page.items.map(keyed);
103
- if (keys.some((key) => !Number.isSafeInteger(key))) {
104
- throw new CliError("validation_error", "this messenger's message ids do not order a chat, so it cannot fetch its history");
105
- }
106
- const low = Math.min(...keys);
107
- top ??= Math.max(...keys);
108
- const fresh = page.items.filter((message) => !seen.has(message.id)).length;
109
- for (const message of page.items)
110
- seen.add(message.id);
111
- fetched += fresh;
112
- // This run's pages are contiguous, so everything from `low` to its first message is held.
113
- const held = await store.markRange(account, chatId, low, top);
114
- onPage({ fetched, chatId, oldest: held.from });
115
- // Nothing new: by id the messenger ignored `before`; by time a second such page did after the step past.
116
- // Repeats do not count towards the limit, so without this the run would never end.
117
- idle = fresh === 0 ? idle + 1 : 0;
118
- if (idle > (byTime ? 1 : 0))
119
- break;
120
- if (!page.hasMore) {
121
- reachedStart = true;
122
- break;
123
- }
124
- if (sinceMs !== undefined && page.items.some((message) => Date.parse(message.timestamp) < sinceMs)) {
125
- reachedSince = true;
126
- break;
127
- }
128
- const oldestAt = page.items.reduce((at, message) => (message.timestamp < at ? message.timestamp : at), first.timestamp);
129
- const fromAt = held.from === low ? oldestAt : await timeOfKey(store, account, chatId, held.from, byTime, oldestAt);
130
- if (last !== undefined && (await store.countMessages(account, chatId, { since: fromAt })) >= last) {
131
- reachedLast = true;
132
- break;
133
- }
134
- // Two messages can share a millisecond, and the page may have ended between them: ask up to and including
135
- // it. A page with nothing new means that moment holds a whole page, so step past it rather than loop.
136
- before = byTime ? new Date(held.from + (fresh > 0 ? 1 : 0)).toISOString() : String(held.from);
137
- note(`${fetched} messages so far, back to ${held.from}`);
138
- const wait = fetching.jitter ? pauseMs * (1 + Math.random()) : pauseMs;
139
- await sleep(wait, undefined, { signal: stop }).catch(() => { });
140
- }
141
- const ranges = chatId === undefined ? [] : await store.ranges(account, chatId);
142
- // What a search says about completeness: a stretch held from the chat's very first message.
143
- if (reachedStart && chatId !== undefined && ranges[0]) {
144
- await store.setSyncState(account, historyStartKey(chatId), String(ranges[0].from));
145
- }
146
- return {
147
- chat: chatId ?? null,
148
- fetched,
149
- complete: reachedStart && ranges.length === 1,
150
- ranges,
151
- ...(reachedSince ? { reachedSince: true } : {}),
152
- ...(reachedLast ? { reachedLast: true } : {}),
153
- ...(stop.aborted ? { stopped: true } : {}),
154
- };
75
+ return fetchInto({
76
+ history: (window) => history(chat, { ...window, reactions: false }),
77
+ store: await deps.store(),
78
+ account: { provider: deps.messenger.provider, account: self },
79
+ fetching: deps.messenger.fetching ?? FETCHING,
80
+ ...options,
81
+ });
155
82
  },
156
83
  };
157
84
  };
85
+ /** The fetch loop, over any history and store: the personal account's service and a bot's command share it. */
86
+ export const fetchInto = async ({ history, store, account, fetching, limit, pageSize, pauseMs, sinceMs, last, note, stop, onPage, }) => {
87
+ const byTime = fetching.orderBy === "time";
88
+ const keyed = keyOf(fetching);
89
+ let before;
90
+ let chatId;
91
+ let top;
92
+ let fetched = 0;
93
+ // By time a page reaches back into the moment the last one ended at, so its ids repeat.
94
+ const seen = new Set();
95
+ let idle = 0;
96
+ let reachedStart = false;
97
+ let reachedSince = false;
98
+ let reachedLast = false;
99
+ while (fetched < limit && !stop.aborted) {
100
+ const page = await patiently(() => history({
101
+ limit: Math.min(pageSize, limit - fetched),
102
+ ...(before ? { before } : {}),
103
+ }), note, stop);
104
+ const first = page.items[0];
105
+ if (!first) {
106
+ reachedStart = true;
107
+ break;
108
+ }
109
+ chatId ??= first.chatId;
110
+ const keys = page.items.map(keyed);
111
+ if (keys.some((key) => !Number.isSafeInteger(key))) {
112
+ throw new CliError("validation_error", "this messenger's message ids do not order a chat, so it cannot fetch its history");
113
+ }
114
+ const low = Math.min(...keys);
115
+ top ??= Math.max(...keys);
116
+ const fresh = page.items.filter((message) => !seen.has(message.id)).length;
117
+ for (const message of page.items)
118
+ seen.add(message.id);
119
+ fetched += fresh;
120
+ // This run's pages are contiguous, so everything from `low` to its first message is held.
121
+ const held = await store.markRange(account, chatId, low, top);
122
+ onPage({ fetched, chatId, oldest: held.from });
123
+ // Nothing new: by id the messenger ignored `before`; by time a second such page did after the step past.
124
+ // Repeats do not count towards the limit, so without this the run would never end.
125
+ idle = fresh === 0 ? idle + 1 : 0;
126
+ if (idle > (byTime ? 1 : 0))
127
+ break;
128
+ if (!page.hasMore) {
129
+ reachedStart = true;
130
+ break;
131
+ }
132
+ if (sinceMs !== undefined && page.items.some((message) => Date.parse(message.timestamp) < sinceMs)) {
133
+ reachedSince = true;
134
+ break;
135
+ }
136
+ const oldestAt = page.items.reduce((at, message) => (message.timestamp < at ? message.timestamp : at), first.timestamp);
137
+ const fromAt = held.from === low ? oldestAt : await timeOfKey(store, account, chatId, held.from, byTime, oldestAt);
138
+ if (last !== undefined && (await store.countMessages(account, chatId, { since: fromAt })) >= last) {
139
+ reachedLast = true;
140
+ break;
141
+ }
142
+ // Two messages can share a millisecond, and the page may have ended between them: ask up to and including
143
+ // it. A page with nothing new means that moment holds a whole page, so step past it rather than loop.
144
+ before = byTime ? new Date(held.from + (fresh > 0 ? 1 : 0)).toISOString() : String(held.from);
145
+ note(`${fetched} messages so far, back to ${held.from}`);
146
+ const wait = fetching.jitter ? pauseMs * (1 + Math.random()) : pauseMs;
147
+ await sleep(wait, undefined, { signal: stop }).catch(() => { });
148
+ }
149
+ const ranges = chatId === undefined ? [] : await store.ranges(account, chatId);
150
+ // What a search says about completeness: a stretch held from the chat's very first message.
151
+ if (reachedStart && chatId !== undefined && ranges[0]) {
152
+ await store.setSyncState(account, historyStartKey(chatId), String(ranges[0].from));
153
+ }
154
+ return {
155
+ chat: chatId ?? null,
156
+ fetched,
157
+ complete: reachedStart && ranges.length === 1,
158
+ ranges,
159
+ ...(reachedSince ? { reachedSince: true } : {}),
160
+ ...(reachedLast ? { reachedLast: true } : {}),
161
+ ...(stop.aborted ? { stopped: true } : {}),
162
+ };
163
+ };
158
164
  /** When the message a held stretch starts at was sent: by time the key is the time; by id, the stored message says. */
159
165
  const timeOfKey = async (store, account, chatId, key, byTime, fallback) => {
160
166
  if (byTime)