@leemour/cli-messaging 0.152.0 → 0.154.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 (160) hide show
  1. package/README.md +14 -6
  2. package/THIRD_PARTY_NOTICES +7 -0
  3. package/dist/analysis/anthropic.d.ts.map +1 -1
  4. package/dist/analysis/anthropic.js +2 -27
  5. package/dist/analysis/anthropic.js.map +1 -1
  6. package/dist/analysis/provider.d.ts.map +1 -1
  7. package/dist/analysis/provider.js +8 -38
  8. package/dist/analysis/provider.js.map +1 -1
  9. package/dist/analysis/settings.d.ts +7 -2
  10. package/dist/analysis/settings.d.ts.map +1 -1
  11. package/dist/analysis/settings.js +16 -12
  12. package/dist/analysis/settings.js.map +1 -1
  13. package/dist/botcheck/registries.d.ts +2 -0
  14. package/dist/botcheck/registries.d.ts.map +1 -1
  15. package/dist/botcheck/registries.js +2 -0
  16. package/dist/botcheck/registries.js.map +1 -1
  17. package/dist/botcheck/service.d.ts +1 -0
  18. package/dist/botcheck/service.d.ts.map +1 -1
  19. package/dist/botcheck/service.js +2 -3
  20. package/dist/botcheck/service.js.map +1 -1
  21. package/dist/charts/fonts/NotoSans-Regular.ttf +0 -0
  22. package/dist/charts/fonts/OFL.txt +94 -0
  23. package/dist/charts/fonts/SOURCE.md +5 -0
  24. package/dist/charts/index.d.ts +1 -0
  25. package/dist/charts/index.d.ts.map +1 -1
  26. package/dist/charts/index.js +1 -0
  27. package/dist/charts/index.js.map +1 -1
  28. package/dist/charts/png.d.ts +8 -0
  29. package/dist/charts/png.d.ts.map +1 -0
  30. package/dist/charts/png.js +14 -0
  31. package/dist/charts/png.js.map +1 -0
  32. package/dist/cli/analysis-choice.d.ts.map +1 -1
  33. package/dist/cli/analysis-choice.js +7 -0
  34. package/dist/cli/analysis-choice.js.map +1 -1
  35. package/dist/cli/config-command.js +8 -0
  36. package/dist/cli/config-command.js.map +1 -1
  37. package/dist/cli/index.d.ts +1 -0
  38. package/dist/cli/index.d.ts.map +1 -1
  39. package/dist/cli/index.js +1 -0
  40. package/dist/cli/index.js.map +1 -1
  41. package/dist/cli/messenger/contacts-command.d.ts.map +1 -1
  42. package/dist/cli/messenger/contacts-command.js +8 -5
  43. package/dist/cli/messenger/contacts-command.js.map +1 -1
  44. package/dist/cli/messenger/replies-command.d.ts.map +1 -1
  45. package/dist/cli/messenger/replies-command.js +2 -0
  46. package/dist/cli/messenger/replies-command.js.map +1 -1
  47. package/dist/cli/messenger/replies-edit-command.d.ts +6 -0
  48. package/dist/cli/messenger/replies-edit-command.d.ts.map +1 -0
  49. package/dist/cli/messenger/replies-edit-command.js +81 -0
  50. package/dist/cli/messenger/replies-edit-command.js.map +1 -0
  51. package/dist/cli/messenger/stats-command.d.ts.map +1 -1
  52. package/dist/cli/messenger/stats-command.js +8 -5
  53. package/dist/cli/messenger/stats-command.js.map +1 -1
  54. package/dist/cli/messenger/tasks-command.d.ts +5 -0
  55. package/dist/cli/messenger/tasks-command.d.ts.map +1 -0
  56. package/dist/cli/messenger/tasks-command.js +108 -0
  57. package/dist/cli/messenger/tasks-command.js.map +1 -0
  58. package/dist/cli/settings.d.ts +10 -0
  59. package/dist/cli/settings.d.ts.map +1 -1
  60. package/dist/cli/settings.js +24 -2
  61. package/dist/cli/settings.js.map +1 -1
  62. package/dist/conversations/chunks.d.ts +19 -3
  63. package/dist/conversations/chunks.d.ts.map +1 -1
  64. package/dist/conversations/chunks.js +48 -3
  65. package/dist/conversations/chunks.js.map +1 -1
  66. package/dist/conversations/link.d.ts +2 -1
  67. package/dist/conversations/link.d.ts.map +1 -1
  68. package/dist/conversations/link.js +2 -1
  69. package/dist/conversations/link.js.map +1 -1
  70. package/dist/mcp/tools/contacts.d.ts.map +1 -1
  71. package/dist/mcp/tools/contacts.js +8 -5
  72. package/dist/mcp/tools/contacts.js.map +1 -1
  73. package/dist/mcp/tools/stats.d.ts.map +1 -1
  74. package/dist/mcp/tools/stats.js +15 -4
  75. package/dist/mcp/tools/stats.js.map +1 -1
  76. package/dist/mcp/tools/tasks.d.ts +4 -0
  77. package/dist/mcp/tools/tasks.d.ts.map +1 -0
  78. package/dist/mcp/tools/tasks.js +84 -0
  79. package/dist/mcp/tools/tasks.js.map +1 -0
  80. package/dist/mcp/tools.d.ts.map +1 -1
  81. package/dist/mcp/tools.js +2 -0
  82. package/dist/mcp/tools.js.map +1 -1
  83. package/dist/models/anthropic.d.ts +3 -0
  84. package/dist/models/anthropic.d.ts.map +1 -0
  85. package/dist/models/anthropic.js +47 -0
  86. package/dist/models/anthropic.js.map +1 -0
  87. package/dist/models/endpoint.d.ts +2 -0
  88. package/dist/models/endpoint.d.ts.map +1 -0
  89. package/dist/models/endpoint.js +10 -0
  90. package/dist/models/endpoint.js.map +1 -0
  91. package/dist/models/index.d.ts +15 -0
  92. package/dist/models/index.d.ts.map +1 -0
  93. package/dist/models/index.js +40 -0
  94. package/dist/models/index.js.map +1 -0
  95. package/dist/models/openai.d.ts +3 -0
  96. package/dist/models/openai.d.ts.map +1 -0
  97. package/dist/models/openai.js +43 -0
  98. package/dist/models/openai.js.map +1 -0
  99. package/dist/models/options.d.ts +4 -0
  100. package/dist/models/options.d.ts.map +1 -0
  101. package/dist/models/options.js +11 -0
  102. package/dist/models/options.js.map +1 -0
  103. package/dist/models/settings.d.ts +23 -0
  104. package/dist/models/settings.d.ts.map +1 -0
  105. package/dist/models/settings.js +91 -0
  106. package/dist/models/settings.js.map +1 -0
  107. package/dist/models/types.d.ts +35 -0
  108. package/dist/models/types.d.ts.map +1 -0
  109. package/dist/models/types.js +15 -0
  110. package/dist/models/types.js.map +1 -0
  111. package/dist/replies/decide.d.ts.map +1 -1
  112. package/dist/replies/decide.js +4 -0
  113. package/dist/replies/decide.js.map +1 -1
  114. package/dist/replies/edit.d.ts +34 -0
  115. package/dist/replies/edit.d.ts.map +1 -0
  116. package/dist/replies/edit.js +105 -0
  117. package/dist/replies/edit.js.map +1 -0
  118. package/dist/replies/rules.d.ts +110 -32
  119. package/dist/replies/rules.d.ts.map +1 -1
  120. package/dist/replies/rules.js +17 -5
  121. package/dist/replies/rules.js.map +1 -1
  122. package/dist/sends/permissions.d.ts +1 -1
  123. package/dist/sends/permissions.d.ts.map +1 -1
  124. package/dist/sends/permissions.js +3 -0
  125. package/dist/sends/permissions.js.map +1 -1
  126. package/dist/services/conversations.js +1 -1
  127. package/dist/services/conversations.js.map +1 -1
  128. package/dist/services/index.d.ts +4 -0
  129. package/dist/services/index.d.ts.map +1 -1
  130. package/dist/services/index.js +3 -0
  131. package/dist/services/index.js.map +1 -1
  132. package/dist/services/person-context.d.ts.map +1 -1
  133. package/dist/services/person-context.js +3 -1
  134. package/dist/services/person-context.js.map +1 -1
  135. package/dist/services/tasks.d.ts +43 -0
  136. package/dist/services/tasks.d.ts.map +1 -0
  137. package/dist/services/tasks.js +91 -0
  138. package/dist/services/tasks.js.map +1 -0
  139. package/dist/store/sqlite/conversations.d.ts.map +1 -1
  140. package/dist/store/sqlite/conversations.js +4 -0
  141. package/dist/store/sqlite/conversations.js.map +1 -1
  142. package/dist/store/sqlite/manifest.d.ts.map +1 -1
  143. package/dist/store/sqlite/manifest.js +1 -0
  144. package/dist/store/sqlite/manifest.js.map +1 -1
  145. package/dist/store/sqlite/migrations.generated.d.ts.map +1 -1
  146. package/dist/store/sqlite/migrations.generated.js +7 -0
  147. package/dist/store/sqlite/migrations.generated.js.map +1 -1
  148. package/dist/store/sqlite/schema.d.ts +32 -0
  149. package/dist/store/sqlite/schema.d.ts.map +1 -1
  150. package/dist/store/sqlite/schema.js +6 -0
  151. package/dist/store/sqlite/schema.js.map +1 -1
  152. package/dist/store/sqlite/vectors.d.ts +4 -1
  153. package/dist/store/sqlite/vectors.d.ts.map +1 -1
  154. package/dist/store/sqlite/vectors.js +26 -13
  155. package/dist/store/sqlite/vectors.js.map +1 -1
  156. package/dist/store/store.d.ts +2 -0
  157. package/dist/store/store.d.ts.map +1 -1
  158. package/dist/store/store.js.map +1 -1
  159. package/package.json +7 -2
  160. package/parity.json +477 -2
@@ -147,6 +147,11 @@ export declare const settingsFor: (app: AppIdentity, extension?: SettingsExtensi
147
147
  analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
148
148
  analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
149
149
  analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
150
+ models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
151
+ readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
152
+ readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
153
+ readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
154
+ }, undefined>, undefined>, undefined>;
150
155
  limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
151
156
  timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
152
157
  color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
@@ -171,6 +176,11 @@ export declare const settingsFor: (app: AppIdentity, extension?: SettingsExtensi
171
176
  analysisProvider: v.OptionalSchema<v.PicklistSchema<["agent", "openai", "anthropic"], undefined>, undefined>;
172
177
  analysisModel: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
173
178
  analysisBaseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
179
+ models: v.OptionalSchema<v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, undefined>]>, v.StrictObjectSchema<{
180
+ readonly provider: v.OptionalSchema<v.PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
181
+ readonly model: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
182
+ readonly baseUrl: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
183
+ }, undefined>, undefined>, undefined>;
174
184
  limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
175
185
  timeoutMs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<(issue: v.BaseIssue<unknown>) => string>, v.IntegerAction<number, (issue: v.BaseIssue<unknown>) => string>, v.MinValueAction<number, 1, (issue: v.BaseIssue<unknown>) => string>]>, undefined>;
176
186
  color: v.OptionalSchema<v.BooleanSchema<(issue: v.BaseIssue<unknown>) => string>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/cli/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/cli/settings.ts"],"names":[],"mappings":"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"}
@@ -249,7 +249,8 @@ export const settingsFor = (app, extension = {}) => {
249
249
  const changeSetting = (path, { profile, setting, value, kind, }) => {
250
250
  const [name = setting, ...rest] = setting.split(".");
251
251
  const level = name === "permissions" && rest.length > 0 ? rest.join(".") : undefined;
252
- if (!allSettings.includes(setting) && level === undefined) {
252
+ const modelField = /^models\.([a-z][a-z0-9-]*)\.(provider|model|baseUrl)$/.exec(setting);
253
+ if (!allSettings.includes(setting) && level === undefined && !modelField) {
253
254
  throw new CliError("validation_error", `no setting called "${setting}" — one of: ${allSettings.join(", ")}`);
254
255
  }
255
256
  if (profile !== undefined && defaultsOnlyKeys.includes(setting)) {
@@ -271,7 +272,25 @@ export const settingsFor = (app, extension = {}) => {
271
272
  ? section.defaults
272
273
  : section.profiles?.[profile];
273
274
  const scope = { ...current };
274
- if (level !== undefined) {
275
+ if (modelField) {
276
+ const purpose = modelField[1];
277
+ const field = modelField[2];
278
+ const models = { ...scope.models };
279
+ const target = { ...models[purpose] };
280
+ if (value === undefined)
281
+ delete target[field];
282
+ else
283
+ target[field] = parseValue(value);
284
+ if (Object.keys(target).length > 0)
285
+ models[purpose] = target;
286
+ else
287
+ delete models[purpose];
288
+ if (Object.keys(models).length > 0)
289
+ scope.models = models;
290
+ else
291
+ delete scope.models;
292
+ }
293
+ else if (level !== undefined) {
275
294
  const levels = { ...scope.permissions };
276
295
  if (value === undefined)
277
296
  delete levels[level];
@@ -317,6 +336,9 @@ export const settingsFor = (app, extension = {}) => {
317
336
  throw new CliError("validation_error", `${setting} cannot be "${value}": ${checked.issues[0]?.message ?? "invalid"}`);
318
337
  }
319
338
  saveConfigFile(path, checked.output);
339
+ if (modelField)
340
+ return (scope.models?.[modelField[1]]?.[modelField[2]] ??
341
+ null);
320
342
  return level === undefined ? (scope[setting] ?? null) : (scope.permissions?.[level] ?? null);
321
343
  };
322
344
  return { resolveSettings, configuredProfiles, changeSetting, allSettings, defaultsOnlyKeys, schema };
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/cli/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/cli/settings.ts"],"names":[],"mappings":"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"}
@@ -4,25 +4,41 @@ import type { Id } from "../domain/models.js";
4
4
  * (phase 5 E1). Characters, not tokens, so a chunk is the same whatever model embeds it.
5
5
  */
6
6
  export declare const CHUNK_CHARS = 1200;
7
+ /** How much of the piece before a split piece repeats at its start, so a sentence cut in two is whole in one. */
8
+ export declare const CHUNK_OVERLAP = 150;
7
9
  export interface ChunkLine {
8
10
  id: Id;
9
11
  sender: string | null;
10
12
  text: string;
11
13
  }
14
+ /** The stretch of one long message a chunk holds, as offsets into its text. */
15
+ export interface TextRange {
16
+ start: number;
17
+ end: number;
18
+ }
12
19
  export interface Chunk {
13
20
  firstId: Id;
14
21
  lastId: Id;
22
+ /** Set when the chunk is a piece of one message longer than a chunk: `firstId` and `lastId` are that message. */
23
+ range?: TextRange;
15
24
  /** What the model is given; never stored, only its hash. */
16
25
  text: string;
17
26
  hash: string;
18
27
  }
19
28
  /** A chunk's text from its messages, as the build cut it: what is hashed and what the model reads. */
20
- export declare const chunkTextOf: (lines: ChunkLine[]) => string;
29
+ export declare const chunkTextOf: (lines: ChunkLine[], range?: TextRange) => string;
30
+ /**
31
+ * One text longer than `room` as overlapping pieces of at most `room` characters, cut at a paragraph,
32
+ * then a line, a sentence or a word where it can. Each piece after the first starts `overlap` before the
33
+ * last one ended, at a word.
34
+ */
35
+ export declare const splitText: (text: string, room: number, overlap?: number) => TextRange[];
21
36
  export declare const chunkHash: (text: string) => string;
22
37
  /**
23
38
  * A conversation, oldest message first, cut at message boundaries into chunks of at most `limit`
24
- * characters. A message longer than the limit is a chunk of its own; the model cuts it further.
25
- * Messages with no text add nothing, and a conversation of only those has no chunk.
39
+ * characters. A message longer than the limit is split into overlapping pieces, a chunk each, so the
40
+ * model reads all of a long note or mail rather than its beginning. Messages with no text add nothing,
41
+ * and a conversation of only those has no chunk.
26
42
  */
27
43
  export declare const cutChunks: (members: ChunkLine[], limit?: number) => Chunk[];
28
44
  //# sourceMappingURL=chunks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks.d.ts","sourceRoot":"","sources":["../../src/conversations/chunks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,WAAW,OAAQ,CAAA;AAEhC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,CAAA;IACN,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,EAAE,CAAA;IACX,MAAM,EAAE,EAAE,CAAA;IACV,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAID,sGAAsG;AACtG,eAAO,MAAM,WAAW,UAAW,SAAS,EAAE,KAAG,MAIlC,CAAA;AAEf,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,MAAyD,CAAA;AAElG;;;;GAIG;AACH,eAAO,MAAM,SAAS,YAAa,SAAS,EAAE,qBAAwB,KAAK,EAsB1E,CAAA"}
1
+ {"version":3,"file":"chunks.d.ts","sourceRoot":"","sources":["../../src/conversations/chunks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,WAAW,OAAQ,CAAA;AAEhC,iHAAiH;AACjH,eAAO,MAAM,aAAa,MAAM,CAAA;AAEhC,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,EAAE,CAAA;IACN,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,EAAE,CAAA;IACX,MAAM,EAAE,EAAE,CAAA;IACV,iHAAiH;IACjH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAID,sGAAsG;AACtG,eAAO,MAAM,WAAW,UAAW,SAAS,EAAE,UAAU,SAAS,KAAG,MAKrD,CAAA;AAef;;;;GAIG;AACH,eAAO,MAAM,SAAS,SAAU,MAAM,QAAQ,MAAM,uBAA4B,SAAS,EAWxF,CAAA;AAED,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,MAAyD,CAAA;AAElG;;;;;GAKG;AACH,eAAO,MAAM,SAAS,YAAa,SAAS,EAAE,qBAAwB,KAAK,EA+B1E,CAAA"}
@@ -4,17 +4,52 @@ import { createHash } from "node:crypto";
4
4
  * (phase 5 E1). Characters, not tokens, so a chunk is the same whatever model embeds it.
5
5
  */
6
6
  export const CHUNK_CHARS = 1_200;
7
+ /** How much of the piece before a split piece repeats at its start, so a sentence cut in two is whole in one. */
8
+ export const CHUNK_OVERLAP = 150;
7
9
  const lineOf = ({ sender, text }) => (sender ? `${sender}: ${text}` : text);
8
10
  /** A chunk's text from its messages, as the build cut it: what is hashed and what the model reads. */
9
- export const chunkTextOf = (lines) => lines
11
+ export const chunkTextOf = (lines, range) => lines
12
+ .map((line) => (range === undefined ? line : { ...line, text: line.text.slice(range.start, range.end) }))
10
13
  .filter(({ text }) => text.trim())
11
14
  .map(lineOf)
12
15
  .join("\n");
16
+ const BREAKS = [/\n\s*\n/g, /\n/g, /[.!?…](?=\s)/g, /\s/g];
17
+ /** The last place at or before `end`, and after the first half of the piece, where `text` breaks most naturally. */
18
+ const breakBefore = (text, start, end) => {
19
+ const floor = start + Math.floor((end - start) / 2);
20
+ for (const pattern of BREAKS) {
21
+ let found = -1;
22
+ for (const match of text.slice(floor, end).matchAll(pattern))
23
+ found = floor + match.index + match[0].length;
24
+ if (found > floor)
25
+ return found;
26
+ }
27
+ return end;
28
+ };
29
+ /**
30
+ * One text longer than `room` as overlapping pieces of at most `room` characters, cut at a paragraph,
31
+ * then a line, a sentence or a word where it can. Each piece after the first starts `overlap` before the
32
+ * last one ended, at a word.
33
+ */
34
+ export const splitText = (text, room, overlap = CHUNK_OVERLAP) => {
35
+ const ranges = [];
36
+ for (let start = 0; start < text.length;) {
37
+ const end = start + room >= text.length ? text.length : breakBefore(text, start, start + room);
38
+ ranges.push({ start, end });
39
+ if (end >= text.length)
40
+ break;
41
+ const back = Math.max(start + 1, end - overlap);
42
+ const word = text.slice(back, end).search(/\s\S/);
43
+ start = word === -1 ? back : back + word + 1;
44
+ }
45
+ return ranges;
46
+ };
13
47
  export const chunkHash = (text) => createHash("sha256").update(text).digest("hex");
14
48
  /**
15
49
  * A conversation, oldest message first, cut at message boundaries into chunks of at most `limit`
16
- * characters. A message longer than the limit is a chunk of its own; the model cuts it further.
17
- * Messages with no text add nothing, and a conversation of only those has no chunk.
50
+ * characters. A message longer than the limit is split into overlapping pieces, a chunk each, so the
51
+ * model reads all of a long note or mail rather than its beginning. Messages with no text add nothing,
52
+ * and a conversation of only those has no chunk.
18
53
  */
19
54
  export const cutChunks = (members, limit = CHUNK_CHARS) => {
20
55
  const chunks = [];
@@ -34,6 +69,16 @@ export const cutChunks = (members, limit = CHUNK_CHARS) => {
34
69
  if (!member.text.trim())
35
70
  continue;
36
71
  const length = lineOf(member).length;
72
+ if (length > limit) {
73
+ close();
74
+ const room = Math.max(Math.floor(limit / 2), limit - (lineOf(member).length - member.text.length));
75
+ for (const range of splitText(member.text, room)) {
76
+ const text = chunkTextOf([member], range);
77
+ if (text)
78
+ chunks.push({ firstId: member.id, lastId: member.id, range, text, hash: chunkHash(text) });
79
+ }
80
+ continue;
81
+ }
37
82
  if (open.length > 0 && size + 1 + length > limit)
38
83
  close();
39
84
  size += (open.length > 0 ? 1 : 0) + length;
@@ -1 +1 @@
1
- {"version":3,"file":"chunks.js","sourceRoot":"","sources":["../../src/conversations/chunks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAA;AAgBhC,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAa,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAEtF,sGAAsG;AACtG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAU,EAAE,CACxD,KAAK;KACF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACjC,GAAG,CAAC,MAAM,CAAC;KACX,IAAI,CAAC,IAAI,CAAC,CAAA;AAEf,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAElG;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAoB,EAAE,KAAK,GAAG,WAAW,EAAW,EAAE;IAC9E,MAAM,MAAM,GAAY,EAAE,CAAA;IAC1B,IAAI,IAAI,GAAgB,EAAE,CAAA;IAC1B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAM;QAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChF,IAAI,GAAG,EAAE,CAAA;QACT,IAAI,GAAG,CAAC,CAAA;IACV,CAAC,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAQ;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK;YAAE,KAAK,EAAE,CAAA;QACzD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IACD,KAAK,EAAE,CAAA;IACP,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
1
+ {"version":3,"file":"chunks.js","sourceRoot":"","sources":["../../src/conversations/chunks.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Id, Message } from "../domain/models.js";
2
- export declare const RULES_VERSION = 4;
2
+ /** 5: a message longer than a chunk is split into overlapping pieces, so builds before it are outdated. */
3
+ export declare const RULES_VERSION = 5;
3
4
  /** How far back a rule looks, in messages: 97% of reply parents sat within 50 in a measured group. */
4
5
  export declare const LOOK_BACK = 50;
5
6
  export type LinkInput = Pick<Message, "id" | "senderId" | "text" | "timestamp" | "replyToId" | "threadId" | "mentions"> & Partial<Pick<Message, "senderName">>;
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAEtD,eAAO,MAAM,aAAa,IAAI,CAAA;AAE9B,sGAAsG;AACtG,eAAO,MAAM,SAAS,KAAK,CAAA;AAM3B,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,OAAO,EACP,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CACjF,GACC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AAEtC,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,EAAE,CAAA;IACb,QAAQ,EAAE,EAAE,CAAA;IACZ,MAAM,EAAE,UAAU,GAAG,MAAM,CAAA;IAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAA;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,kEAAkE;IAClE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3B,4FAA4F;IAC5F,aAAa,EAAE,EAAE,EAAE,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,aACb,QAAQ,CAAC,SAAS,CAAC,yBACiB,WAAW,KACxD,MA0BF,CAAA"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAEtD,2GAA2G;AAC3G,eAAO,MAAM,aAAa,IAAI,CAAA;AAE9B,sGAAsG;AACtG,eAAO,MAAM,SAAS,KAAK,CAAA;AAM3B,MAAM,MAAM,SAAS,GAAG,IAAI,CAC1B,OAAO,EACP,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CACjF,GACC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AAEtC,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,EAAE,CAAA;IACb,QAAQ,EAAE,EAAE,CAAA;IACZ,MAAM,EAAE,UAAU,GAAG,MAAM,CAAA;IAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAA;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,kEAAkE;IAClE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3B,4FAA4F;IAC5F,aAAa,EAAE,EAAE,EAAE,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,aACb,QAAQ,CAAC,SAAS,CAAC,yBACiB,WAAW,KACxD,MA0BF,CAAA"}
@@ -1,4 +1,5 @@
1
- export const RULES_VERSION = 4;
1
+ /** 5: a message longer than a chunk is split into overlapping pieces, so builds before it are outdated. */
2
+ export const RULES_VERSION = 5;
2
3
  /** How far back a rule looks, in messages: 97% of reply parents sat within 50 in a measured group. */
3
4
  export const LOOK_BACK = 50;
4
5
  // Tuned on the IRC dev split (bench/disentangle/sweep.ts); wider windows gained nothing.
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/conversations/link.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAQ/D,OAAO,EAAE,KAAK,OAAO,EAA6C,MAAM,YAAY,CAAA;AAEpF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAiI1E,CAAA"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAQ/D,OAAO,EAAE,KAAK,OAAO,EAA6C,MAAM,YAAY,CAAA;AAEpF,eAAO,MAAM,aAAa,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAoI1E,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { CliError } from "@leemour/cli-core";
2
2
  import * as v from "valibot";
3
- import { REGISTRIES } from "../../botcheck/registries.js";
3
+ import { REGISTRIES, registriesCover } from "../../botcheck/registries.js";
4
4
  import { casKey } from "../../cli/registry-keys.js";
5
5
  import { onlineDeps, phoneOf, servicesFor, storedDeps } from "../../services/index.js";
6
6
  import { momentOf } from "../../services/moment.js";
@@ -97,10 +97,13 @@ export const contactsTools = (messenger) => {
97
97
  contacts_check: tool({
98
98
  title: "Does a person look like a bot",
99
99
  description: "Scores one person as a possible bot, fake or spammer: the messenger's own marks, their profile, what they " +
100
- "wrote in the store, and the public ban lists " +
101
- `${Object.values(REGISTRIES)
102
- .map(({ title, docs }) => `${title} (${docs})`)
103
- .join(", ")} — **the person's id is sent to each of them** unless registries is false. Returns { person, ` +
100
+ (registriesCover(messenger.provider)
101
+ ? "wrote in the store, and the public ban lists " +
102
+ `${Object.values(REGISTRIES)
103
+ .map(({ title, docs }) => `${title} (${docs})`)
104
+ .join(", ")} — **the person's id is sent to each of them** unless registries is false. `
105
+ : "wrote in the store. The public ban lists cover Telegram only, so nothing is sent. ") +
106
+ "Returns { person, " +
104
107
  "score, reasons: [{ reason, weight, source, detail }], registries: [{ name, answer: listed|clean|unknown, " +
105
108
  "checkedAt, detail }], unknown, notes }. A hint, never a verdict; changes nothing.",
106
109
  input: v.object({
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/mcp/tools/contacts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAAsB,MAAM,YAAY,CAAA;AAE7D,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA0BtE,CAAA"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/stats.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAI/D,OAAO,EAAE,KAAK,OAAO,EAA+B,MAAM,YAAY,CAAA;AAEtE,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAkCtE,CAAA"}
@@ -1,14 +1,17 @@
1
1
  import * as v from "valibot";
2
2
  import { chatChart } from "../../charts/chat.js";
3
- import { CHART_KINDS } from "../../charts/model.js";
3
+ import { CHART_KINDS, CHART_SIZE } from "../../charts/model.js";
4
+ import { chartPng } from "../../charts/png.js";
5
+ import { chartRenderer } from "../../charts/render.js";
4
6
  import { timezoneOf } from "../../search/lucene/dates.js";
5
7
  import { servicesFor, storedDeps } from "../../services/index.js";
6
8
  import { momentOf } from "../../services/moment.js";
7
- import { chatOf, READ, tool } from "../tool.js";
9
+ import { chatOf, Picture, READ, tool } from "../tool.js";
8
10
  export const statsTools = (messenger) => ({
9
11
  stats_charts: tool({
10
12
  title: "A chart from a chat's statistics",
11
- description: "A neutral chart description as JSON: messages or active authors per day or week, from the local store. " +
13
+ description: "A neutral chart description as JSON, or a dark PNG image with that JSON when format is png: " +
14
+ "messages or active authors per day or week, from the local store. " +
12
15
  "Missing dates are gaps, and partial marks lower bounds. Membership needs online events and is unavailable here. " +
13
16
  "No image file is written and no messenger connection is opened.",
14
17
  input: v.object({
@@ -17,6 +20,7 @@ export const statsTools = (messenger) => ({
17
20
  by: v.optional(v.picklist(["day", "week"])),
18
21
  since_time: v.optional(v.pipe(v.string(), v.description("an ISO 8601 time, or 2h / 1d ago"))),
19
22
  timezone: v.optional(v.pipe(v.string(), v.description("the IANA timezone for calendar days"))),
23
+ format: v.optional(v.pipe(v.picklist(["json", "png"]), v.description("JSON by default; png adds image content"))),
20
24
  }),
21
25
  annotations: { ...READ, openWorldHint: false },
22
26
  stored: async (store, account, args, defaults) => {
@@ -27,7 +31,14 @@ export const statsTools = (messenger) => ({
27
31
  timezone,
28
32
  ...(args.since_time === undefined ? {} : { since: momentOf(args.since_time, "since_time") }),
29
33
  });
30
- return { chart: chatChart(stats, { kind: args.chart_kind ?? "messages", by, timezone }) };
34
+ const chart = chatChart(stats, { kind: args.chart_kind ?? "messages", by, timezone });
35
+ if (args.format !== "png")
36
+ return { chart };
37
+ const image = await chartPng(await (await chartRenderer()).render(chart, CHART_SIZE));
38
+ return new Picture(image.bytes, image.mimeType, {
39
+ chart,
40
+ image: { format: image.format, width: image.width, height: image.height },
41
+ });
31
42
  },
32
43
  }),
33
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/mcp/tools/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAgB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAoB,EAA2B,EAAE,CAAC,CAAC;IAC5E,YAAY,EAAE,IAAI,CAAC;QACjB,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,yGAAyG;YACzG,kHAAkH;YAClH,iEAAiE;QACnE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;YACvB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC/C,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC,CAAC;SAC/F,CAAC;QACF,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,CAAA;YAC3B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5G,EAAE;gBACF,QAAQ;gBACR,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;aAC7F,CAAC,CAAA;YACF,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;QAC3F,CAAC;KACF,CAAC;CACH,CAAC,CAAA"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/mcp/tools/stats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Messenger } from "../../cli/messenger/context.js";
2
+ import { type AnyTool } from "../tool.js";
3
+ export declare const tasksTools: (messenger: Messenger) => Record<string, AnyTool>;
4
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/tasks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAM/D,OAAO,EAAE,KAAK,OAAO,EAAoD,MAAM,YAAY,CAAA;AAQ3F,eAAO,MAAM,UAAU,cAAe,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CA4FvE,CAAA"}
@@ -0,0 +1,84 @@
1
+ import { TASK_KINDS, TASK_STATES } from "@leemour/cli-tasks";
2
+ import * as v from "valibot";
3
+ import { listed } from "../../cli/paging.js";
4
+ import { servicesFor, storedDeps } from "../../services/index.js";
5
+ import { momentOf } from "../../services/moment.js";
6
+ import { chatOf, limit, READ, refuseAskedLocalWrite, tool } from "../tool.js";
7
+ const LOCAL = { readOnlyHint: false, openWorldHint: false };
8
+ const ROW = "{ id, source, sourceKind, account, group, kind, state, reason?, origin, createdAt, dueAt?, closedAt?, closedBy?, " +
9
+ "message: { senderName, text, timestamp } | null }";
10
+ const type = v.picklist(TASK_KINDS);
11
+ export const tasksTools = (messenger) => {
12
+ const command = messenger.app.command;
13
+ const tasks = (store, account, guard) => servicesFor(storedDeps(messenger, store, account, guard)).tasks;
14
+ return {
15
+ tasks_list: tool({
16
+ title: "List tasks",
17
+ description: "What waits on the owner — questions nobody answered, mentions, requests, promises — oldest first, each with " +
18
+ "the message it points at (`null` once the store no longer has it). review and serve open and close them. " +
19
+ `Returns { items: [${ROW}], page, limit, hasMore }.`,
20
+ input: v.object({
21
+ state: v.optional(v.picklist(TASK_STATES)),
22
+ chat: v.optional(chatOf(messenger)),
23
+ type: v.optional(v.pipe(v.array(type), v.minLength(1), v.description("only these types"))),
24
+ before_time: v.optional(v.pipe(v.string(), v.minLength(1), v.description("only tasks opened before this ISO 8601 time, or 2h / 1d ago"))),
25
+ limit,
26
+ }),
27
+ annotations: { ...READ, openWorldHint: false },
28
+ stored: async (store, account, args, defaults) => listed(await tasks(store, account, defaults.guard).list({
29
+ ...(args.state === undefined ? {} : { state: args.state }),
30
+ ...(args.chat === undefined ? {} : { chat: args.chat }),
31
+ ...(args.type === undefined ? {} : { types: args.type }),
32
+ ...(args.before_time === undefined ? {} : { before: momentOf(args.before_time, "before_time") }),
33
+ limit: args.limit ?? defaults.limit,
34
+ })),
35
+ }),
36
+ tasks_add: tool({
37
+ title: "Add a task",
38
+ description: 'Adds a task for a message the rules cannot see — "I\'ll send it tomorrow" has no question mark. `message` ' +
39
+ "is a msg: locator, as review shows. A message that already has a task of this type keeps it (`created: " +
40
+ `false\`). Writes only to the local store; nothing is sent. Returns ${ROW} with created.`,
41
+ input: v.object({
42
+ message: v.pipe(v.string(), v.minLength(1), v.description("a msg: locator")),
43
+ type,
44
+ }),
45
+ annotations: { ...LOCAL, destructiveHint: false, idempotentHint: true },
46
+ stored: async (store, account, args, defaults) => {
47
+ refuseAskedLocalWrite(defaults, "tasks.add", command);
48
+ const { task, created } = await tasks(store, account, defaults.guard).add(args.message, args.type, "agent");
49
+ return { ...task, created };
50
+ },
51
+ }),
52
+ tasks_close: tool({
53
+ title: "Close a task",
54
+ description: "Closes a task as done, or as dismissed when it needs no answer; `reason` is kept with it. A closed task " +
55
+ `stays closed, and the rules never reopen it. Writes only to the local store; nothing is sent. Returns ${ROW}.`,
56
+ input: v.object({
57
+ task: v.pipe(v.string(), v.minLength(1), v.description("the task's id, from tasks_list")),
58
+ as: v.picklist(["done", "dismissed"]),
59
+ reason: v.optional(v.pipe(v.string(), v.minLength(1), v.description("why — no-reply-needed, for example"))),
60
+ }),
61
+ annotations: { ...LOCAL, destructiveHint: false, idempotentHint: false },
62
+ stored: async (store, account, args, defaults) => {
63
+ refuseAskedLocalWrite(defaults, "tasks.close", command);
64
+ return tasks(store, account, defaults.guard).close(args.task, {
65
+ as: args.as,
66
+ by: "agent",
67
+ ...(args.reason === undefined ? {} : { reason: args.reason }),
68
+ });
69
+ },
70
+ }),
71
+ tasks_stats: tool({
72
+ title: "Task statistics",
73
+ description: "Per chat: how many tasks are open, when the oldest open one was opened, and the median time to close. " +
74
+ "Returns { items: [{ group, open, oldestOpenAt?, medianCloseMs? }], page, limit, hasMore }.",
75
+ input: v.object({ chat: v.optional(chatOf(messenger)), type: v.optional(type) }),
76
+ annotations: { ...READ, openWorldHint: false },
77
+ stored: async (store, account, args, defaults) => listed(await tasks(store, account, defaults.guard).stats({
78
+ ...(args.chat === undefined ? {} : { chat: args.chat }),
79
+ ...(args.type === undefined ? {} : { type: args.type }),
80
+ })),
81
+ }),
82
+ };
83
+ };
84
+ //# sourceMappingURL=tasks.js.map