@wirecat/cli-memo 0.131.71 → 0.131.72

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 (120) hide show
  1. package/dist/bin/memo.js +2 -2
  2. package/dist/bundle/{app-server-W622CBPF.js → app-server-SESNZIAV.js} +6 -6
  3. package/dist/bundle/{auto-WUU2MYGS.js → auto-WU47LYXJ.js} +12 -12
  4. package/dist/bundle/{chunk-DW6CDBXA.js → chunk-2RNNWFU7.js} +2 -2
  5. package/dist/bundle/{chunk-V6BJM3XW.js → chunk-2VETW2QK.js} +10 -10
  6. package/dist/bundle/{chunk-DXWDHC2K.js → chunk-5XRCF57Z.js} +73 -1
  7. package/dist/bundle/{chunk-3PIKTX3U.js → chunk-A4UQKFGY.js} +1 -1
  8. package/dist/bundle/{chunk-OHBP2KPQ.js → chunk-B7LGXY3S.js} +1 -1
  9. package/dist/bundle/{chunk-TG3XWDFI.js → chunk-BD7AGXJJ.js} +12 -6
  10. package/dist/bundle/{chunk-NLRPCKUS.js → chunk-FDSM2TU6.js} +2 -2
  11. package/dist/bundle/{chunk-OWFC6BAF.js → chunk-FENNNSCI.js} +3 -3
  12. package/dist/bundle/{chunk-X337K4BD.js → chunk-FOPDWCRG.js} +3 -3
  13. package/dist/bundle/{chunk-NNUS57F4.js → chunk-FXZ7PQKG.js} +2 -2
  14. package/dist/bundle/{chunk-HNQGX4AG.js → chunk-II2SXJEO.js} +5 -5
  15. package/dist/bundle/{chunk-6EIWRE6E.js → chunk-IRBYZUI7.js} +3 -3
  16. package/dist/bundle/{chunk-CZUAGRL7.js → chunk-NRLXWY4Q.js} +2 -0
  17. package/dist/bundle/{chunk-BE22RDTR.js → chunk-RGIS2DRA.js} +3 -3
  18. package/dist/bundle/{chunk-LRS5X7G3.js → chunk-THPGFRPZ.js} +1 -1
  19. package/dist/bundle/{chunk-IP5CA3CW.js → chunk-WT2P44YD.js} +2 -2
  20. package/dist/bundle/{chunk-2LTQ6ZBS.js → chunk-XXEHPPNS.js} +1 -1
  21. package/dist/bundle/{chunk-QNJ4EKKW.js → chunk-YBL4QKLV.js} +3 -3
  22. package/dist/bundle/{entry-4P5556KI.js → entry-W6SHKRBE.js} +1 -1
  23. package/dist/bundle/{failure-3F3YHF7G.js → failure-NRJ3EPBO.js} +10 -10
  24. package/dist/bundle/{first-run-EKRDZLLY.js → first-run-7HAWGQ3B.js} +1 -1
  25. package/dist/bundle/{mcp-FQPK2KAF.js → mcp-OL6ZYF2T.js} +4 -4
  26. package/dist/bundle/memo.js +6 -6
  27. package/dist/bundle/{program-L5IM35PO.js → program-MRG4ZQQI.js} +899 -90
  28. package/dist/bundle/{server-GCESLOOF.js → server-AEZPZ3ZD.js} +4 -4
  29. package/dist/bundle/{server-JUSMYLIQ.js → server-CIT5B2SV.js} +6 -6
  30. package/dist/bundle/{server-LWQAHDBH.js → server-D5BJDKTJ.js} +22 -16
  31. package/dist/bundle/{store-WG2GYWTG.js → store-JXD7SGIK.js} +1 -1
  32. package/dist/bundle/{store-maintenance-command-GTY6VU76.js → store-maintenance-command-5DG4SEQA.js} +4 -4
  33. package/dist/bundle/{update-LICMP7UR.js → update-NI24ED4V.js} +11 -11
  34. package/dist/config.d.ts +5 -0
  35. package/dist/config.d.ts.map +1 -1
  36. package/dist/config.js +5 -0
  37. package/dist/config.js.map +1 -1
  38. package/dist/examples.d.ts.map +1 -1
  39. package/dist/examples.js +16 -0
  40. package/dist/examples.js.map +1 -1
  41. package/dist/mcp/catalogue.d.ts +18 -0
  42. package/dist/mcp/catalogue.d.ts.map +1 -1
  43. package/dist/mcp/catalogue.js +6 -0
  44. package/dist/mcp/catalogue.js.map +1 -1
  45. package/dist/people/command.d.ts.map +1 -1
  46. package/dist/people/command.js +5 -1
  47. package/dist/people/command.js.map +1 -1
  48. package/dist/people/identities-command.d.ts +5 -0
  49. package/dist/people/identities-command.d.ts.map +1 -0
  50. package/dist/people/identities-command.js +179 -0
  51. package/dist/people/identities-command.js.map +1 -0
  52. package/dist/people/identity.d.ts +5 -0
  53. package/dist/people/identity.d.ts.map +1 -1
  54. package/dist/people/identity.js +19 -2
  55. package/dist/people/identity.js.map +1 -1
  56. package/dist/program.d.ts +3 -1
  57. package/dist/program.d.ts.map +1 -1
  58. package/dist/program.js +34 -2
  59. package/dist/program.js.map +1 -1
  60. package/dist/reasons.d.ts.map +1 -1
  61. package/dist/reasons.js +72 -0
  62. package/dist/reasons.js.map +1 -1
  63. package/dist/review/kinds.d.ts +1 -1
  64. package/dist/review/kinds.d.ts.map +1 -1
  65. package/dist/review/kinds.js +1 -0
  66. package/dist/review/kinds.js.map +1 -1
  67. package/dist/run/import.d.ts +6 -0
  68. package/dist/run/import.d.ts.map +1 -1
  69. package/dist/run/import.js +22 -8
  70. package/dist/run/import.js.map +1 -1
  71. package/dist/sources/command.d.ts +3 -1
  72. package/dist/sources/command.d.ts.map +1 -1
  73. package/dist/sources/command.js +3 -1
  74. package/dist/sources/command.js.map +1 -1
  75. package/dist/sources/readers/api.d.ts +4 -0
  76. package/dist/sources/readers/api.d.ts.map +1 -0
  77. package/dist/sources/readers/api.js +48 -0
  78. package/dist/sources/readers/api.js.map +1 -0
  79. package/dist/sources/readers/claude-code.d.ts +7 -0
  80. package/dist/sources/readers/claude-code.d.ts.map +1 -0
  81. package/dist/sources/readers/claude-code.js +74 -0
  82. package/dist/sources/readers/claude-code.js.map +1 -0
  83. package/dist/sources/readers/codex.d.ts +7 -0
  84. package/dist/sources/readers/codex.d.ts.map +1 -0
  85. package/dist/sources/readers/codex.js +72 -0
  86. package/dist/sources/readers/codex.js.map +1 -0
  87. package/dist/sources/readers/index.d.ts +6 -0
  88. package/dist/sources/readers/index.d.ts.map +1 -0
  89. package/dist/sources/readers/index.js +8 -0
  90. package/dist/sources/readers/index.js.map +1 -0
  91. package/dist/sources/readers/keys.d.ts +13 -0
  92. package/dist/sources/readers/keys.d.ts.map +1 -0
  93. package/dist/sources/readers/keys.js +25 -0
  94. package/dist/sources/readers/keys.js.map +1 -0
  95. package/dist/sources/readers/ollama.d.ts +3 -0
  96. package/dist/sources/readers/ollama.d.ts.map +1 -0
  97. package/dist/sources/readers/ollama.js +60 -0
  98. package/dist/sources/readers/ollama.js.map +1 -0
  99. package/dist/sources/readers/process.d.ts +16 -0
  100. package/dist/sources/readers/process.d.ts.map +1 -0
  101. package/dist/sources/readers/process.js +49 -0
  102. package/dist/sources/readers/process.js.map +1 -0
  103. package/dist/sources/readers/types.d.ts +38 -0
  104. package/dist/sources/readers/types.d.ts.map +1 -0
  105. package/dist/sources/readers/types.js +2 -0
  106. package/dist/sources/readers/types.js.map +1 -0
  107. package/dist/sources/suggest-command.d.ts +9 -0
  108. package/dist/sources/suggest-command.d.ts.map +1 -0
  109. package/dist/sources/suggest-command.js +202 -0
  110. package/dist/sources/suggest-command.js.map +1 -0
  111. package/dist/sources/suggest.d.ts +56 -0
  112. package/dist/sources/suggest.d.ts.map +1 -0
  113. package/dist/sources/suggest.js +143 -0
  114. package/dist/sources/suggest.js.map +1 -0
  115. package/dist/version.d.ts +1 -1
  116. package/dist/version.js +1 -1
  117. package/package.json +2 -2
  118. package/skills/cli-memo/SKILL.md +2 -2
  119. package/skills/cli-memo/topics/proposals.md +40 -1
  120. package/skills/cli-memo/topics/search.md +3 -1
package/dist/bin/memo.js CHANGED
@@ -9,7 +9,7 @@ if (
9
9
  (words[0] === "--version" || words[0] === "-V") &&
10
10
  !Object.keys(process.env).some((key) => key.endsWith("_TEST_ARGV_LOG"))
11
11
  ) {
12
- process.stdout.write("0.131.71\n")
12
+ process.stdout.write("0.131.72\n")
13
13
  } else {
14
14
  // Before the bundle compiles: the bundle's own call comes after its chunks.
15
15
  module.enableCompileCache()
@@ -28,7 +28,7 @@ if (
28
28
  : next(specifier, context),
29
29
  })
30
30
  }
31
- const chunks = ["../bundle/all-profiles-G6S5HOBT.js","../bundle/anthropic-LA6PXTPQ.js","../bundle/app-server-W622CBPF.js","../bundle/auto-WUU2MYGS.js","../bundle/bun-PZNVNH4G.js","../bundle/bun-sqlite-VICDK5FS.js","../bundle/command-contract-7QECBB6M.js","../bundle/decode-WRWXOJML.js","../bundle/dispatch-VJSUBAUM.js","../bundle/dist-GZQWFMCL.js","../bundle/echarts-MTCNTCST.js","../bundle/embed-PPPCHSTE.js","../bundle/embedder-UJBIX6A2.js","../bundle/entry-4P5556KI.js","../bundle/failure-3F3YHF7G.js","../bundle/failure-GLF7OMMM.js","../bundle/first-run-EKRDZLLY.js","../bundle/first-screen-FRRTKWFB.js","../bundle/instructions-JKIO4JF7.js","../bundle/mcp-FQPK2KAF.js","../bundle/mcp-H2WYFBNW.js","../bundle/node-3AIXDDDR.js","../bundle/node-P4E63KXA.js","../bundle/node-TLZSIHIJ.js","../bundle/node-sqlite-NX722DXD.js","../bundle/oauth-2NPSI7Q3.js","../bundle/open-AFRN6Q36.js","../bundle/openai-U5CQFLRU.js","../bundle/process-J2IBN6X7.js","../bundle/program-L5IM35PO.js","../bundle/prompt-6XNKR4VQ.js","../bundle/recognize-G3GI32QS.js","../bundle/remote-DJO255PT.js","../bundle/rerank-5SBZRIHF.js","../bundle/serve-BZVBKGU3.js","../bundle/server-GCESLOOF.js","../bundle/server-JUSMYLIQ.js","../bundle/server-LWQAHDBH.js","../bundle/state-A57F7T5D.js","../bundle/stdio-FRV4R7LJ.js","../bundle/store-WG2GYWTG.js","../bundle/store-maintenance-command-GTY6VU76.js","../bundle/update-LICMP7UR.js"]
31
+ const chunks = ["../bundle/all-profiles-G6S5HOBT.js","../bundle/anthropic-LA6PXTPQ.js","../bundle/app-server-SESNZIAV.js","../bundle/auto-WU47LYXJ.js","../bundle/bun-PZNVNH4G.js","../bundle/bun-sqlite-VICDK5FS.js","../bundle/command-contract-7QECBB6M.js","../bundle/decode-WRWXOJML.js","../bundle/dispatch-VJSUBAUM.js","../bundle/dist-GZQWFMCL.js","../bundle/echarts-MTCNTCST.js","../bundle/embed-PPPCHSTE.js","../bundle/embedder-UJBIX6A2.js","../bundle/entry-W6SHKRBE.js","../bundle/failure-GLF7OMMM.js","../bundle/failure-NRJ3EPBO.js","../bundle/first-run-7HAWGQ3B.js","../bundle/first-screen-FRRTKWFB.js","../bundle/instructions-JKIO4JF7.js","../bundle/mcp-H2WYFBNW.js","../bundle/mcp-OL6ZYF2T.js","../bundle/node-3AIXDDDR.js","../bundle/node-P4E63KXA.js","../bundle/node-TLZSIHIJ.js","../bundle/node-sqlite-NX722DXD.js","../bundle/oauth-2NPSI7Q3.js","../bundle/open-AFRN6Q36.js","../bundle/openai-U5CQFLRU.js","../bundle/process-J2IBN6X7.js","../bundle/program-MRG4ZQQI.js","../bundle/prompt-6XNKR4VQ.js","../bundle/recognize-G3GI32QS.js","../bundle/remote-DJO255PT.js","../bundle/rerank-5SBZRIHF.js","../bundle/serve-BZVBKGU3.js","../bundle/server-AEZPZ3ZD.js","../bundle/server-CIT5B2SV.js","../bundle/server-D5BJDKTJ.js","../bundle/state-A57F7T5D.js","../bundle/stdio-FRV4R7LJ.js","../bundle/store-JXD7SGIK.js","../bundle/store-maintenance-command-5DG4SEQA.js","../bundle/update-NI24ED4V.js"]
32
32
  if (((words) => words
33
33
  .filter((word) => !word.startsWith("-"))
34
34
  .slice(0, 2)
@@ -3,15 +3,15 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  PER_RUN,
5
5
  envelope
6
- } from "./chunk-HNQGX4AG.js";
6
+ } from "./chunk-II2SXJEO.js";
7
7
  import {
8
8
  answered,
9
9
  failed,
10
10
  registerCommands,
11
11
  runCommandForAgent,
12
12
  toolsFromCommands
13
- } from "./chunk-3PIKTX3U.js";
14
- import "./chunk-6EIWRE6E.js";
13
+ } from "./chunk-A4UQKFGY.js";
14
+ import "./chunk-IRBYZUI7.js";
15
15
  import {
16
16
  mcpUrlOf
17
17
  } from "./chunk-FHIGY5K6.js";
@@ -34,8 +34,8 @@ import "./chunk-3X4JM3ZR.js";
34
34
  import {
35
35
  McpServer
36
36
  } from "./chunk-H3ZN4YLB.js";
37
- import "./chunk-DW6CDBXA.js";
38
- import "./chunk-2LTQ6ZBS.js";
37
+ import "./chunk-2RNNWFU7.js";
38
+ import "./chunk-XXEHPPNS.js";
39
39
  import "./chunk-FPWF2XLH.js";
40
40
  import "./chunk-ASDOPGKC.js";
41
41
  import {
@@ -59,7 +59,7 @@ import {
59
59
  } from "./chunk-I4HWKPQR.js";
60
60
  import "./chunk-ZM6J47GY.js";
61
61
  import "./chunk-3LS76TFB.js";
62
- import "./chunk-CZUAGRL7.js";
62
+ import "./chunk-NRLXWY4Q.js";
63
63
  import "./chunk-INQAQ55X.js";
64
64
  import "./chunk-M2DAITNE.js";
65
65
  import "./chunk-G3FQTKHT.js";
@@ -15,35 +15,35 @@ import {
15
15
  recordAutoRun,
16
16
  serviceUnit,
17
17
  timerUnit
18
- } from "./chunk-BE22RDTR.js";
19
- import "./chunk-X337K4BD.js";
20
- import "./chunk-TG3XWDFI.js";
18
+ } from "./chunk-RGIS2DRA.js";
19
+ import "./chunk-FOPDWCRG.js";
20
+ import "./chunk-BD7AGXJJ.js";
21
21
  import "./chunk-QP3KNC5D.js";
22
- import "./chunk-V6BJM3XW.js";
22
+ import "./chunk-2VETW2QK.js";
23
23
  import "./chunk-MKOQDN3I.js";
24
24
  import "./chunk-6B3GQMR6.js";
25
- import "./chunk-6EIWRE6E.js";
25
+ import "./chunk-IRBYZUI7.js";
26
26
  import "./chunk-FHIGY5K6.js";
27
27
  import "./chunk-FVJSDDSV.js";
28
- import "./chunk-QNJ4EKKW.js";
29
- import "./chunk-DW6CDBXA.js";
30
- import "./chunk-2LTQ6ZBS.js";
28
+ import "./chunk-YBL4QKLV.js";
29
+ import "./chunk-2RNNWFU7.js";
30
+ import "./chunk-XXEHPPNS.js";
31
31
  import "./chunk-FPWF2XLH.js";
32
32
  import "./chunk-XNX3U6GD.js";
33
33
  import "./chunk-HTQTIKWP.js";
34
34
  import "./chunk-ASDOPGKC.js";
35
35
  import "./chunk-MAGAWAPG.js";
36
36
  import "./chunk-3ZSPTUG3.js";
37
- import "./chunk-IP5CA3CW.js";
37
+ import "./chunk-WT2P44YD.js";
38
38
  import "./chunk-LJCT7YG6.js";
39
39
  import "./chunk-L62FWN3Y.js";
40
40
  import "./chunk-6Z62U7NY.js";
41
- import "./chunk-LRS5X7G3.js";
41
+ import "./chunk-THPGFRPZ.js";
42
42
  import "./chunk-HIHZNBR7.js";
43
43
  import "./chunk-I4HWKPQR.js";
44
44
  import "./chunk-ZM6J47GY.js";
45
45
  import "./chunk-3LS76TFB.js";
46
- import "./chunk-CZUAGRL7.js";
46
+ import "./chunk-NRLXWY4Q.js";
47
47
  import "./chunk-INQAQ55X.js";
48
48
  import "./chunk-M2DAITNE.js";
49
49
  import "./chunk-G3FQTKHT.js";
@@ -55,7 +55,7 @@ import "./chunk-SR7C53CS.js";
55
55
  import "./chunk-CLQXHFKG.js";
56
56
  import "./chunk-G7XOBQB5.js";
57
57
  import "./chunk-U3P5F57B.js";
58
- import "./chunk-DXWDHC2K.js";
58
+ import "./chunk-5XRCF57Z.js";
59
59
  import "./chunk-DSU6UR2X.js";
60
60
  import "./chunk-SYWHHQMC.js";
61
61
  import "./chunk-D72URWJE.js";
@@ -21,7 +21,7 @@ import {
21
21
  servicesFor,
22
22
  throughWrapper,
23
23
  withFileLockAsync
24
- } from "./chunk-2LTQ6ZBS.js";
24
+ } from "./chunk-XXEHPPNS.js";
25
25
  import {
26
26
  CEILING_KEY,
27
27
  WRITE_KEYS,
@@ -50,7 +50,7 @@ import {
50
50
  } from "./chunk-ZM6J47GY.js";
51
51
  import {
52
52
  openStore
53
- } from "./chunk-CZUAGRL7.js";
53
+ } from "./chunk-NRLXWY4Q.js";
54
54
  import {
55
55
  isCliFailure
56
56
  } from "./chunk-M2DAITNE.js";
@@ -42,7 +42,7 @@ import {
42
42
  syncsFirst,
43
43
  taskStatsAnswer,
44
44
  waitingAnswer
45
- } from "./chunk-6EIWRE6E.js";
45
+ } from "./chunk-IRBYZUI7.js";
46
46
  import {
47
47
  mcpUrlOf,
48
48
  portOf,
@@ -90,7 +90,7 @@ import {
90
90
  writeRepliesFile,
91
91
  writeRepliesState,
92
92
  writeReplyConsent
93
- } from "./chunk-QNJ4EKKW.js";
93
+ } from "./chunk-YBL4QKLV.js";
94
94
  import {
95
95
  DEFAULT_PACE,
96
96
  Pacer,
@@ -103,7 +103,7 @@ import {
103
103
  refuseUnknownPermissionKeys,
104
104
  terminalAsker,
105
105
  unknownPermissionIssues
106
- } from "./chunk-DW6CDBXA.js";
106
+ } from "./chunk-2RNNWFU7.js";
107
107
  import {
108
108
  ADMIN_RIGHTS,
109
109
  AGENDA_QUERY,
@@ -299,7 +299,7 @@ import {
299
299
  withoutPhone,
300
300
  writeEnrichmentSetting,
301
301
  wrongAccount
302
- } from "./chunk-2LTQ6ZBS.js";
302
+ } from "./chunk-XXEHPPNS.js";
303
303
  import {
304
304
  acquireLock,
305
305
  readBoundedUtf8File,
@@ -550,7 +550,7 @@ import {
550
550
  titlePart,
551
551
  validateEvidenceFindings,
552
552
  validateMailFindings
553
- } from "./chunk-CZUAGRL7.js";
553
+ } from "./chunk-NRLXWY4Q.js";
554
554
  import {
555
555
  ACCOUNT_GROUPS_SETTING,
556
556
  DEAL_KINDS,
@@ -3702,11 +3702,11 @@ var messengerHost = /* @__PURE__ */ __name((messenger) => ({
3702
3702
  context: /* @__PURE__ */ __name((self, options) => messengerContext(self, messenger, options), "context"),
3703
3703
  permissionExample: "messages.send=deny",
3704
3704
  serveStdio: /* @__PURE__ */ __name(async (self, context) => {
3705
- const { serveOverStdio } = await import("./server-JUSMYLIQ.js");
3705
+ const { serveOverStdio } = await import("./server-CIT5B2SV.js");
3706
3706
  await serveOverStdio(self, context, messenger, {});
3707
3707
  }, "serveStdio"),
3708
3708
  serveHttp: /* @__PURE__ */ __name(async (self, context, http) => {
3709
- const { serveOverHttpUntilStopped } = await import("./server-JUSMYLIQ.js");
3709
+ const { serveOverHttpUntilStopped } = await import("./server-CIT5B2SV.js");
3710
3710
  await serveOverHttpUntilStopped(self, context, messenger, {}, http);
3711
3711
  }, "serveHttp"),
3712
3712
  instructions: /* @__PURE__ */ __name(async (profiles) => {
@@ -4065,12 +4065,12 @@ var appMcpCommand = /* @__PURE__ */ __name((app, configuration, options) => {
4065
4065
  permissionExample: options.permissionExample,
4066
4066
  serveStdio: /* @__PURE__ */ __name(async (self, context) => {
4067
4067
  checked3(self, context);
4068
- const { serveAppOverStdio } = await import("./app-server-W622CBPF.js");
4068
+ const { serveAppOverStdio } = await import("./app-server-SESNZIAV.js");
4069
4069
  await serveAppOverStdio(self, context, server());
4070
4070
  }, "serveStdio"),
4071
4071
  serveHttp: /* @__PURE__ */ __name(async (self, context, http) => {
4072
4072
  checked3(self, context);
4073
- const { serveAppOverHttp } = await import("./app-server-W622CBPF.js");
4073
+ const { serveAppOverHttp } = await import("./app-server-SESNZIAV.js");
4074
4074
  await serveAppOverHttp(self, context, server(), http);
4075
4075
  }, "serveHttp"),
4076
4076
  instructions: /* @__PURE__ */ __name(async (profiles) => {
@@ -5436,7 +5436,7 @@ var botMcpCommand = /* @__PURE__ */ __name((bot) => {
5436
5436
  const mcp = bot.mcp;
5437
5437
  if (!mcp)
5438
5438
  throw new Error("bot mcp is mounted only with BotMessenger.mcp");
5439
- const [{ serveBotOverStdio }, run2] = await Promise.all([import("./server-GCESLOOF.js"), mcp.program()]);
5439
+ const [{ serveBotOverStdio }, run2] = await Promise.all([import("./server-AEZPZ3ZD.js"), mcp.program()]);
5440
5440
  await serveBotOverStdio({
5441
5441
  bot,
5442
5442
  program: { run: run2, commands: describeProgram(rootOf2(this)) },
@@ -170,6 +170,12 @@ var REASONS = defineReasons([
170
170
  details: []
171
171
  },
172
172
  { reason: "person.not-found", code: "not_found", message: "the store has no person by that name", details: [] },
173
+ {
174
+ reason: "identity.not-found",
175
+ code: "not_found",
176
+ message: "no identity has that exact id; people show lists them",
177
+ details: []
178
+ },
173
179
  {
174
180
  reason: "identity.no-messenger",
175
181
  code: "validation_error",
@@ -188,11 +194,77 @@ var REASONS = defineReasons([
188
194
  code: "validation_error",
189
195
  message: "the row is a CRM's copy: its CRM's CLI moves it to a base stage, as writes_with names it",
190
196
  details: ["writes_with"]
197
+ },
198
+ {
199
+ reason: "reader.none-chosen",
200
+ code: "configuration_error",
201
+ message: "no reader is chosen for sources; the owner picks one with memo sources readers set <reader>",
202
+ details: ["readers"]
203
+ },
204
+ {
205
+ reason: "reader.owner-picks",
206
+ code: "permission_error",
207
+ message: "only the owner picks the reader that reads a source; an agent uses the one the owner chose",
208
+ details: []
209
+ },
210
+ {
211
+ reason: "reader.unknown",
212
+ code: "validation_error",
213
+ message: "{reader} is not a reader memo knows; it reads with one of {readers}",
214
+ details: ["reader", "readers"]
215
+ },
216
+ {
217
+ reason: "reader.unavailable",
218
+ code: "configuration_error",
219
+ message: "the chosen reader cannot read now; memo sources readers says why and what fixes it",
220
+ details: []
221
+ },
222
+ {
223
+ reason: "reader.model-missing",
224
+ code: "configuration_error",
225
+ message: "the reader needs a model the owner names; memo sources readers set <reader> --model <model>",
226
+ details: []
227
+ },
228
+ {
229
+ reason: "reader.no-key",
230
+ code: "authentication_error",
231
+ message: "no API key is kept for the reader's provider; memo models keys set <provider> keeps one",
232
+ details: []
233
+ },
234
+ {
235
+ reason: "reader.not-running",
236
+ code: "provider_unavailable",
237
+ message: "the local model server is not running on this computer; start it, then try again",
238
+ details: []
239
+ },
240
+ {
241
+ reason: "reader.timeout",
242
+ code: "timeout",
243
+ message: "the reader gave no answer in time; try again, or a smaller source",
244
+ details: []
245
+ },
246
+ {
247
+ reason: "reader.limit",
248
+ code: "rate_limited",
249
+ message: "the reader's provider says the limit is reached; try again later",
250
+ details: []
251
+ },
252
+ {
253
+ reason: "reader.failed",
254
+ code: "invalid_response",
255
+ message: "the reader failed; check its sign-in, key, model and credit, then try again",
256
+ details: []
257
+ },
258
+ {
259
+ reason: "reader.unusable-answer",
260
+ code: "invalid_response",
261
+ message: "the reader's answer was not the JSON memo asked for; nothing was staged, so try again",
262
+ details: []
191
263
  }
192
264
  ]);
193
265
 
194
266
  // dist/version.js
195
- var VERSION = "0.131.71";
267
+ var VERSION = "0.131.72";
196
268
 
197
269
  // dist/app.js
198
270
  var APP = {
@@ -18,7 +18,7 @@ import {
18
18
  refuseLacking,
19
19
  servicesFor,
20
20
  storeModeDeps
21
- } from "./chunk-2LTQ6ZBS.js";
21
+ } from "./chunk-XXEHPPNS.js";
22
22
  import {
23
23
  DEFAULT_OUTPUT_BYTES,
24
24
  ENTITIES,
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-BPGYTJNB.js";
19
19
  import {
20
20
  APP
21
- } from "./chunk-DXWDHC2K.js";
21
+ } from "./chunk-5XRCF57Z.js";
22
22
  import {
23
23
  ValiError,
24
24
  errorObjectOf,
@@ -27,19 +27,19 @@ import {
27
27
  serverSearchOptions,
28
28
  summaryOf,
29
29
  unansweredHours
30
- } from "./chunk-V6BJM3XW.js";
30
+ } from "./chunk-2VETW2QK.js";
31
31
  import {
32
32
  MAIL_HIT_UNTRUSTED,
33
33
  messagesAnswer,
34
34
  offsetOf,
35
35
  shownOf
36
- } from "./chunk-6EIWRE6E.js";
36
+ } from "./chunk-IRBYZUI7.js";
37
37
  import {
38
38
  messageItem
39
- } from "./chunk-QNJ4EKKW.js";
39
+ } from "./chunk-YBL4QKLV.js";
40
40
  import {
41
41
  knownPermissionKeys
42
- } from "./chunk-DW6CDBXA.js";
42
+ } from "./chunk-2RNNWFU7.js";
43
43
  import {
44
44
  AGENDA_DEFAULTS,
45
45
  DEFAULT_BACKEND,
@@ -63,7 +63,7 @@ import {
63
63
  sourceKey,
64
64
  typedQuery,
65
65
  withQuery
66
- } from "./chunk-2LTQ6ZBS.js";
66
+ } from "./chunk-XXEHPPNS.js";
67
67
  import {
68
68
  Command,
69
69
  FETCH,
@@ -107,7 +107,7 @@ import {
107
107
  registrableOf,
108
108
  scoreGroup,
109
109
  validateFields
110
- } from "./chunk-CZUAGRL7.js";
110
+ } from "./chunk-NRLXWY4Q.js";
111
111
  import {
112
112
  DEAL_KINDS,
113
113
  KEEP_RUNS_FOR_DAYS,
@@ -138,6 +138,7 @@ import {
138
138
  defineSteps,
139
139
  integer,
140
140
  literal,
141
+ maxLength,
141
142
  minLength,
142
143
  minValue,
143
144
  nullable,
@@ -9184,6 +9185,11 @@ var ConfigSchema = strictObject({
9184
9185
  mail_bulk_newsletter_words: optional(string()),
9185
9186
  mail_bulk_newsletter_senders: optional(string()),
9186
9187
  mail_bulk_order_words: optional(string()),
9188
+ /** The reader `memo sources suggest` sends a source's text to, and its model; only the owner picks them. */
9189
+ sources: optional(strictObject({
9190
+ reader: optional(pipe(string(), minLength(1))),
9191
+ model: optional(pipe(string(), minLength(1), maxLength(200)))
9192
+ })),
9187
9193
  /** Retired: memo no longer imports mail, the `mail` CLI does. Still loads so an old config works; doctor names it. */
9188
9194
  mail: optional(unknown())
9189
9195
  });
@@ -9,7 +9,7 @@ import {
9
9
  registerCommands,
10
10
  runCommandForAgent,
11
11
  toolsFromCommands
12
- } from "./chunk-3PIKTX3U.js";
12
+ } from "./chunk-A4UQKFGY.js";
13
13
  import {
14
14
  agentJson,
15
15
  skillResource
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-H3ZN4YLB.js";
26
26
  import {
27
27
  wholeList
28
- } from "./chunk-2LTQ6ZBS.js";
28
+ } from "./chunk-XXEHPPNS.js";
29
29
  import {
30
30
  changesMessenger,
31
31
  flatten,
@@ -2,10 +2,10 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  loadConfig
5
- } from "./chunk-TG3XWDFI.js";
5
+ } from "./chunk-BD7AGXJJ.js";
6
6
  import {
7
7
  upgradeCommand
8
- } from "./chunk-V6BJM3XW.js";
8
+ } from "./chunk-2VETW2QK.js";
9
9
  import {
10
10
  FETCH,
11
11
  annotate,
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  APP,
21
21
  VERSION
22
- } from "./chunk-DXWDHC2K.js";
22
+ } from "./chunk-5XRCF57Z.js";
23
23
  import {
24
24
  installerOf
25
25
  } from "./chunk-DSU6UR2X.js";
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  decisionPolicy
5
- } from "./chunk-TG3XWDFI.js";
5
+ } from "./chunk-BD7AGXJJ.js";
6
6
  import {
7
7
  compactText,
8
8
  itemOf,
@@ -17,13 +17,13 @@ import {
17
17
  } from "./chunk-MAGAWAPG.js";
18
18
  import {
19
19
  openStore
20
- } from "./chunk-CZUAGRL7.js";
20
+ } from "./chunk-NRLXWY4Q.js";
21
21
  import {
22
22
  currentRun
23
23
  } from "./chunk-INQAQ55X.js";
24
24
  import {
25
25
  STORE_CLIENT
26
- } from "./chunk-DXWDHC2K.js";
26
+ } from "./chunk-5XRCF57Z.js";
27
27
  import {
28
28
  createRenderer
29
29
  } from "./chunk-UUBV5ATQ.js";
@@ -4,7 +4,7 @@ import {
4
4
  inspectConfig,
5
5
  loadConfig,
6
6
  memoPermissionKeys
7
- } from "./chunk-TG3XWDFI.js";
7
+ } from "./chunk-BD7AGXJJ.js";
8
8
  import {
9
9
  CEILING_KEY,
10
10
  changesAuthority,
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-HIHZNBR7.js";
24
24
  import {
25
25
  APP
26
- } from "./chunk-DXWDHC2K.js";
26
+ } from "./chunk-5XRCF57Z.js";
27
27
  import {
28
28
  CliError
29
29
  } from "./chunk-ZTONSM5X.js";
@@ -20,7 +20,7 @@ import {
20
20
  tool,
21
21
  toolKey,
22
22
  toolsFromCommands
23
- } from "./chunk-3PIKTX3U.js";
23
+ } from "./chunk-A4UQKFGY.js";
24
24
  import {
25
25
  CHART_KINDS,
26
26
  CHART_SIZE,
@@ -33,7 +33,7 @@ import {
33
33
  registerPrompts,
34
34
  stdinFieldOf,
35
35
  syncsFirst
36
- } from "./chunk-6EIWRE6E.js";
36
+ } from "./chunk-IRBYZUI7.js";
37
37
  import {
38
38
  mcpUrlOf
39
39
  } from "./chunk-FHIGY5K6.js";
@@ -61,7 +61,7 @@ import {
61
61
  } from "./chunk-H3ZN4YLB.js";
62
62
  import {
63
63
  connectedFor
64
- } from "./chunk-DW6CDBXA.js";
64
+ } from "./chunk-2RNNWFU7.js";
65
65
  import {
66
66
  capability,
67
67
  dateWindow,
@@ -71,7 +71,7 @@ import {
71
71
  servicesFor,
72
72
  storedDeps,
73
73
  wholeList
74
- } from "./chunk-2LTQ6ZBS.js";
74
+ } from "./chunk-XXEHPPNS.js";
75
75
  import {
76
76
  findCommand
77
77
  } from "./chunk-ASDOPGKC.js";
@@ -102,7 +102,7 @@ import {
102
102
  import {
103
103
  openStore,
104
104
  pdfPreviewLimits
105
- } from "./chunk-CZUAGRL7.js";
105
+ } from "./chunk-NRLXWY4Q.js";
106
106
  import {
107
107
  timezoneOf,
108
108
  typedCommand
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  refuseLocalWrite
5
- } from "./chunk-DW6CDBXA.js";
5
+ } from "./chunk-2RNNWFU7.js";
6
6
  import {
7
7
  MAX_SEARCH_OFFSET,
8
8
  SendJournal,
@@ -15,7 +15,7 @@ import {
15
15
  refreshedFiles,
16
16
  senderIsMe,
17
17
  sendsPathFor
18
- } from "./chunk-2LTQ6ZBS.js";
18
+ } from "./chunk-XXEHPPNS.js";
19
19
  import {
20
20
  commandPathOf
21
21
  } from "./chunk-ASDOPGKC.js";
@@ -43,7 +43,7 @@ import {
43
43
  import {
44
44
  hitFiles,
45
45
  openStore
46
- } from "./chunk-CZUAGRL7.js";
46
+ } from "./chunk-NRLXWY4Q.js";
47
47
  import {
48
48
  BUSINESS_KINDS,
49
49
  formatLocator,
@@ -60191,6 +60191,8 @@ var storeOver = /* @__PURE__ */ __name((context) => {
60191
60191
  export {
60192
60192
  WORD_BODY,
60193
60193
  orphanPointers,
60194
+ QUOTE_LIMIT,
60195
+ quoteKept,
60194
60196
  IDENTITY_LINK_KIND,
60195
60197
  isGoogleDocumentHost,
60196
60198
  googleDocumentLinks,
@@ -3,15 +3,15 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  answers,
5
5
  itemAnswer
6
- } from "./chunk-X337K4BD.js";
6
+ } from "./chunk-FOPDWCRG.js";
7
7
  import {
8
8
  loadConfig,
9
9
  updateConfig
10
- } from "./chunk-TG3XWDFI.js";
10
+ } from "./chunk-BD7AGXJJ.js";
11
11
  import {
12
12
  failingNotice,
13
13
  recordRun
14
- } from "./chunk-V6BJM3XW.js";
14
+ } from "./chunk-2VETW2QK.js";
15
15
  import {
16
16
  InvalidArgumentError,
17
17
  LOCAL_READ,
@@ -173,7 +173,7 @@ var startCli = /* @__PURE__ */ __name(async (entry) => {
173
173
  if (command.optsWithGlobals().dryRun === true)
174
174
  return;
175
175
  const [{ setupAtStart }, { commandPathOf }] = await Promise.all([
176
- import("./first-run-EKRDZLLY.js"),
176
+ import("./first-run-7HAWGQ3B.js"),
177
177
  import("./command-contract-7QECBB6M.js")
178
178
  ]);
179
179
  await setupAtStart({
@@ -84,7 +84,7 @@ var suggested = /* @__PURE__ */ __name((env, contentLanguages) => {
84
84
  return (own.length ? own : LANGUAGES.filter(({ code }) => code === "en" || code === system)).map(({ name }) => name);
85
85
  }, "suggested");
86
86
  var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLanguages }) => {
87
- const { openStore } = await import("./store-WG2GYWTG.js");
87
+ const { openStore } = await import("./store-JXD7SGIK.js");
88
88
  const store = await openStore({ env });
89
89
  let rebuild = false;
90
90
  try {
@@ -114,7 +114,7 @@ var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLang
114
114
  return;
115
115
  const [{ openCache }, { buildStems }] = await Promise.all([
116
116
  import("./open-AFRN6Q36.js"),
117
- import("./store-maintenance-command-GTY6VU76.js")
117
+ import("./store-maintenance-command-5DG4SEQA.js")
118
118
  ]);
119
119
  const database = await openCache(storePath(env));
120
120
  try {
@@ -162,7 +162,7 @@ import {
162
162
  validateFields,
163
163
  waitingPointer,
164
164
  withoutField
165
- } from "./chunk-CZUAGRL7.js";
165
+ } from "./chunk-NRLXWY4Q.js";
166
166
  import {
167
167
  CATEGORIES,
168
168
  DEAL_KINDS,
@@ -3,7 +3,7 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  answerOf,
5
5
  messengerContext
6
- } from "./chunk-DW6CDBXA.js";
6
+ } from "./chunk-2RNNWFU7.js";
7
7
  import {
8
8
  FETCHING,
9
9
  QUICK_HEALTH_CHECKS,
@@ -33,7 +33,7 @@ import {
33
33
  typedQuery,
34
34
  withQuery,
35
35
  withTimeLimit
36
- } from "./chunk-2LTQ6ZBS.js";
36
+ } from "./chunk-XXEHPPNS.js";
37
37
  import {
38
38
  stringWidth,
39
39
  wrapAnsi
@@ -108,7 +108,7 @@ import {
108
108
  storeClients,
109
109
  storeContents,
110
110
  vectorIndexCounts
111
- } from "./chunk-CZUAGRL7.js";
111
+ } from "./chunk-NRLXWY4Q.js";
112
112
  import {
113
113
  currentRun,
114
114
  formatLocator,
@@ -3,7 +3,7 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  openBrowser,
5
5
  startCli
6
- } from "./chunk-LRS5X7G3.js";
6
+ } from "./chunk-THPGFRPZ.js";
7
7
  import "./chunk-HIHZNBR7.js";
8
8
  import "./chunk-KH43CUE2.js";
9
9
  import "./chunk-MSTWHRLN.js";