@wirecat/cli-memo 0.131.45 → 0.131.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/memo.js +2 -2
- package/dist/bundle/{all-profiles-ZBASDAVU.js → all-profiles-I2JBJDOR.js} +5 -5
- package/dist/bundle/{anthropic-3ZS3RCUH.js → anthropic-CARSCLDG.js} +3 -3
- package/dist/bundle/{app-server-PQF22PMD.js → app-server-SAMZMY3C.js} +35 -35
- package/dist/bundle/auto-KD7L4X6G.js +86 -0
- package/dist/bundle/{bun-3CGVV3V2.js → bun-T6E2RGI5.js} +2 -2
- package/dist/bundle/{bun-sqlite-D6T3ESTG.js → bun-sqlite-WWDLRDBW.js} +2 -2
- package/dist/bundle/{chunk-CH37NCAP.js → chunk-2FYCJ3KB.js} +3 -3
- package/dist/bundle/{chunk-NB267XRJ.js → chunk-2K7E5YOZ.js} +4 -4
- package/dist/bundle/{chunk-5ZHM6SZW.js → chunk-2MKPY6NU.js} +1 -1
- package/dist/bundle/{chunk-OMBFF6Z6.js → chunk-36DLHVMS.js} +1 -1
- package/dist/bundle/{chunk-5IYS3BWO.js → chunk-37D3IHOG.js} +56 -56
- package/dist/bundle/{chunk-CAPDRDQU.js → chunk-3ZLDPPI4.js} +5 -5
- package/dist/bundle/{chunk-TKFG75MJ.js → chunk-5FBJQHCG.js} +2 -2
- package/dist/bundle/{chunk-SK3TPK5Y.js → chunk-5FN27OVR.js} +4 -4
- package/dist/bundle/{chunk-25MS26SH.js → chunk-6B75W6XW.js} +15 -10
- package/dist/bundle/{chunk-CRLYBXV5.js → chunk-7UNXTC2J.js} +43 -36
- package/dist/bundle/{chunk-GBRK3WXY.js → chunk-AAKU7TGI.js} +2 -2
- package/dist/bundle/{chunk-YWTWDX4F.js → chunk-ADBD5GOY.js} +1 -1
- package/dist/bundle/{chunk-2OYB4PWV.js → chunk-AXCYTZJD.js} +5 -5
- package/dist/bundle/{chunk-G6TRTDHB.js → chunk-BJSZECFV.js} +2 -2
- package/dist/bundle/{chunk-L45FSDH3.js → chunk-CV5MM7HG.js} +1 -1
- package/dist/bundle/{chunk-OT4CLMVF.js → chunk-CWBRCYDY.js} +3 -3
- package/dist/bundle/{chunk-FRT7URL7.js → chunk-F7XQEYF3.js} +466 -278
- package/dist/bundle/{chunk-GOJZ3FQY.js → chunk-GPBUD6WS.js} +20 -20
- package/dist/bundle/{chunk-EJ4X6XH2.js → chunk-HDNMDLWC.js} +1 -1
- package/dist/bundle/{chunk-FMMIPFTU.js → chunk-HE535VWC.js} +4 -4
- package/dist/bundle/{chunk-UP2K5XUA.js → chunk-HFQZYHLX.js} +3 -3
- package/dist/bundle/{chunk-C6GSSMDG.js → chunk-ICF3LNBX.js} +1 -1
- package/dist/bundle/{chunk-HXCSD2XV.js → chunk-IEVJMRL2.js} +1 -1
- package/dist/bundle/{chunk-IJBJ47GI.js → chunk-IFGMJXND.js} +2 -2
- package/dist/bundle/{chunk-CXRCADXS.js → chunk-IPNORZSF.js} +9 -9
- package/dist/bundle/{chunk-PMUAUR5S.js → chunk-IQJQLLAV.js} +4 -4
- package/dist/bundle/{chunk-OTOKJAYR.js → chunk-J6EUSJ3X.js} +3 -3
- package/dist/bundle/{chunk-IQ2MW47B.js → chunk-JX6JZTOI.js} +27 -27
- package/dist/bundle/{chunk-6NQTGFAL.js → chunk-KGVDWSGM.js} +2 -2
- package/dist/bundle/{chunk-AOSSO4YI.js → chunk-LOSAAPRY.js} +6 -6
- package/dist/bundle/{chunk-GTPWWGQI.js → chunk-LTZHG4BX.js} +7 -7
- package/dist/bundle/{chunk-LL3Z6KA3.js → chunk-MKA3NOUU.js} +5 -5
- package/dist/bundle/{chunk-IYJGFBNN.js → chunk-NFSFUVP2.js} +5 -5
- package/dist/bundle/{chunk-7EA6M6RA.js → chunk-PIHAI7NF.js} +4 -4
- package/dist/bundle/{chunk-7G7N3IUO.js → chunk-PZQCIEMC.js} +4 -2
- package/dist/bundle/{chunk-EJ2PEYQU.js → chunk-QR5HJROX.js} +1 -1
- package/dist/bundle/{chunk-7WJEQ36E.js → chunk-QUUYSYCG.js} +2 -2
- package/dist/bundle/{chunk-65MK55RS.js → chunk-RF3R3W2I.js} +20 -20
- package/dist/bundle/{chunk-PXSGUVZP.js → chunk-TFWTSBON.js} +89 -45
- package/dist/bundle/{chunk-CGJFYMVZ.js → chunk-TOSRVNCY.js} +7 -7
- package/dist/bundle/{chunk-WGX73SAA.js → chunk-TU34HVOY.js} +2 -2
- package/dist/bundle/{chunk-ZJXAYYLF.js → chunk-UEMY6RSB.js} +1 -1
- package/dist/bundle/{chunk-75RJJQ2Q.js → chunk-UI4MKFTZ.js} +10 -10
- package/dist/bundle/{chunk-F2VTAFIT.js → chunk-UT2K3TAH.js} +1 -1
- package/dist/bundle/{chunk-KE3CYUON.js → chunk-UYITVRUC.js} +1 -1
- package/dist/bundle/{chunk-7G63XPDR.js → chunk-V7QNIJOE.js} +7 -7
- package/dist/bundle/{chunk-HAPE26JK.js → chunk-VOUTO3WF.js} +12 -12
- package/dist/bundle/{chunk-IAPKZSC5.js → chunk-VUSM6XFE.js} +1 -1
- package/dist/bundle/{chunk-YDNM5KYV.js → chunk-VZRGIWJM.js} +4 -4
- package/dist/bundle/{chunk-U4J7TAOW.js → chunk-W2EY5PSH.js} +1 -1
- package/dist/bundle/{chunk-MKVUBQEG.js → chunk-WXCRRP4B.js} +1 -1
- package/dist/bundle/{chunk-B4PZQYGP.js → chunk-XB43J5VQ.js} +8 -8
- package/dist/bundle/{chunk-G3FRUKAD.js → chunk-XFT24B7A.js} +176 -155
- package/dist/bundle/{chunk-NBA3GJBR.js → chunk-YBBCGTZO.js} +792 -345
- package/dist/bundle/{chunk-NTFEJ52I.js → chunk-YFZ45S6S.js} +1 -1
- package/dist/bundle/{chunk-75EEQB2R.js → chunk-YPD27HJI.js} +11 -11
- package/dist/bundle/{chunk-TVZEELSS.js → chunk-ZGQSWRCY.js} +257 -257
- package/dist/bundle/{command-contract-K3GJRRXT.js → command-contract-B6MBG7GI.js} +11 -11
- package/dist/bundle/{decode-TTMBMSGQ.js → decode-E3TI4HEU.js} +2 -2
- package/dist/bundle/{echarts-7XN2RLJT.js → echarts-B46XTHOI.js} +2 -2
- package/dist/bundle/{embed-UKTHDQH5.js → embed-BIUMRFOQ.js} +3 -3
- package/dist/bundle/{embedder-SCKLAVKW.js → embedder-IA3CG6LB.js} +6 -6
- package/dist/bundle/{entry-VQRYB2HE.js → entry-E3QEAAYL.js} +4 -4
- package/dist/bundle/failure-UKRO32A7.js +66 -0
- package/dist/bundle/{first-run-RL6ZRY3Y.js → first-run-6UQRVGZ4.js} +5 -5
- package/dist/bundle/{first-screen-CRURWNKP.js → first-screen-W3BPVWCT.js} +12 -12
- package/dist/bundle/{instructions-KGU67SPR.js → instructions-6AISOK6M.js} +1 -1
- package/dist/bundle/{mcp-CSN7BDNG.js → mcp-RX3COQPC.js} +35 -35
- package/dist/bundle/memo.js +6 -6
- package/dist/bundle/{node-S5LQLVMO.js → node-6GP2V36M.js} +2 -2
- package/dist/bundle/{node-sqlite-PFCIEDPX.js → node-sqlite-2CC5J5RZ.js} +3 -3
- package/dist/bundle/{oauth-KJOGYDPV.js → oauth-VOOLTPGW.js} +4 -4
- package/dist/bundle/{open-TPBENKAD.js → open-AGFSOJG6.js} +2 -2
- package/dist/bundle/{openai-UOYTHO32.js → openai-KPRA5NIB.js} +7 -7
- package/dist/bundle/{process-JWKE7GPV.js → process-J74KA6F3.js} +1 -1
- package/dist/bundle/{program-RJ6X4DXE.js → program-VAYJBUPU.js} +102 -55
- package/dist/bundle/{prompt-5HQ3Z7ZS.js → prompt-PDQD5OD5.js} +2 -2
- package/dist/bundle/{recognize-5ILXEPII.js → recognize-QH6FBB2L.js} +1 -1
- package/dist/bundle/{remote-WIN3HJII.js → remote-BREQR2BJ.js} +4 -4
- package/dist/bundle/{rerank-JKHDSEBI.js → rerank-HWNJXOHL.js} +4 -4
- package/dist/bundle/{serve-VMHFRDYH.js → serve-A63VR5F4.js} +6 -6
- package/dist/bundle/server-3FKLHDFN.js +48 -0
- package/dist/bundle/{server-TKWVP4OJ.js → server-6UZJQQ4E.js} +50 -50
- package/dist/bundle/server-XKZXPS7I.js +61 -0
- package/dist/bundle/{state-OWOLD7JI.js → state-GMJJEIPI.js} +3 -3
- package/dist/bundle/{store-6GFFSNRY.js → store-HLK3ZQ7A.js} +11 -9
- package/dist/bundle/store-maintenance-command-2WOANSCK.js +48 -0
- package/dist/bundle/update-GIAB6TXY.js +69 -0
- package/dist/schedule/command.d.ts.map +1 -1
- package/dist/schedule/command.js +2 -0
- package/dist/schedule/command.js.map +1 -1
- package/dist/schedule/mail-triage-input.d.ts +24 -0
- package/dist/schedule/mail-triage-input.d.ts.map +1 -0
- package/dist/schedule/mail-triage-input.js +53 -0
- package/dist/schedule/mail-triage-input.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/skills/mail-triage/SKILL.md +25 -27
- package/dist/bundle/auto-NW7IP4ST.js +0 -86
- package/dist/bundle/failure-JHW2U2OF.js +0 -66
- package/dist/bundle/server-IBJ23GCB.js +0 -48
- package/dist/bundle/server-SNWCFMJN.js +0 -61
- package/dist/bundle/store-maintenance-command-7DMPWFT4.js +0 -48
- package/dist/bundle/update-KSB7VYAW.js +0 -69
- /package/dist/bundle/{chunk-DL5LDAOS.js → chunk-B6ZCQNF4.js} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createRequire as __bundleRequire } from "node:module";
|
|
2
|
+
const require = __bundleRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
PER_RUN,
|
|
5
|
+
createServer,
|
|
6
|
+
envelope,
|
|
7
|
+
serveOverHttpUntilStopped,
|
|
8
|
+
serveOverStdio
|
|
9
|
+
} from "./chunk-JX6JZTOI.js";
|
|
10
|
+
import "./chunk-YPD27HJI.js";
|
|
11
|
+
import "./chunk-GPBUD6WS.js";
|
|
12
|
+
import "./chunk-UEMY6RSB.js";
|
|
13
|
+
import "./chunk-6B75W6XW.js";
|
|
14
|
+
import "./chunk-QR5HJROX.js";
|
|
15
|
+
import "./chunk-2MKPY6NU.js";
|
|
16
|
+
import "./chunk-TU34HVOY.js";
|
|
17
|
+
import "./chunk-MM5NVP7F.js";
|
|
18
|
+
import "./chunk-3X4JM3ZR.js";
|
|
19
|
+
import "./chunk-H3ZN4YLB.js";
|
|
20
|
+
import "./chunk-RF3R3W2I.js";
|
|
21
|
+
import "./chunk-ZGQSWRCY.js";
|
|
22
|
+
import "./chunk-VOUTO3WF.js";
|
|
23
|
+
import "./chunk-QUUYSYCG.js";
|
|
24
|
+
import "./chunk-XFT24B7A.js";
|
|
25
|
+
import "./chunk-V7QNIJOE.js";
|
|
26
|
+
import "./chunk-JY34MQW4.js";
|
|
27
|
+
import "./chunk-LER7G4XY.js";
|
|
28
|
+
import "./chunk-HFQZYHLX.js";
|
|
29
|
+
import "./chunk-UT2K3TAH.js";
|
|
30
|
+
import "./chunk-2K7E5YOZ.js";
|
|
31
|
+
import "./chunk-5FBJQHCG.js";
|
|
32
|
+
import "./chunk-VUSM6XFE.js";
|
|
33
|
+
import "./chunk-YBBCGTZO.js";
|
|
34
|
+
import "./chunk-37D3IHOG.js";
|
|
35
|
+
import "./chunk-HDNMDLWC.js";
|
|
36
|
+
import "./chunk-TOSRVNCY.js";
|
|
37
|
+
import "./chunk-VZRGIWJM.js";
|
|
38
|
+
import "./chunk-ADBD5GOY.js";
|
|
39
|
+
import "./chunk-WXCRRP4B.js";
|
|
40
|
+
import "./chunk-IFGMJXND.js";
|
|
41
|
+
import "./chunk-NFSFUVP2.js";
|
|
42
|
+
import "./chunk-J6EUSJ3X.js";
|
|
43
|
+
import "./chunk-W2EY5PSH.js";
|
|
44
|
+
import "./chunk-CID4MNRQ.js";
|
|
45
|
+
import "./chunk-AT5Y62SD.js";
|
|
46
|
+
import "./chunk-D72URWJE.js";
|
|
47
|
+
import "./chunk-3ZLDPPI4.js";
|
|
48
|
+
import "./chunk-PZQCIEMC.js";
|
|
49
|
+
import "./chunk-2R2Z2VWL.js";
|
|
50
|
+
import "./chunk-SN63VOE6.js";
|
|
51
|
+
import "./chunk-Y5E2WNWB.js";
|
|
52
|
+
import "./chunk-RZ54DSVU.js";
|
|
53
|
+
import "./chunk-ICF3LNBX.js";
|
|
54
|
+
import "./chunk-ZVVMGPBJ.js";
|
|
55
|
+
export {
|
|
56
|
+
PER_RUN,
|
|
57
|
+
createServer,
|
|
58
|
+
envelope,
|
|
59
|
+
serveOverHttpUntilStopped,
|
|
60
|
+
serveOverStdio
|
|
61
|
+
};
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
readHttpLock,
|
|
13
13
|
readStored,
|
|
14
14
|
signedInClients
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-2K7E5YOZ.js";
|
|
16
|
+
import "./chunk-5FBJQHCG.js";
|
|
17
|
+
import "./chunk-VUSM6XFE.js";
|
|
18
18
|
import "./chunk-2R2Z2VWL.js";
|
|
19
19
|
import "./chunk-SN63VOE6.js";
|
|
20
20
|
import "./chunk-Y5E2WNWB.js";
|
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
resetNoteIndex,
|
|
40
40
|
resetSearchIndex,
|
|
41
41
|
resetStems,
|
|
42
|
+
rollBack,
|
|
42
43
|
rowCounts,
|
|
43
44
|
saveStorePhoneCountries,
|
|
44
45
|
savedAgentClose,
|
|
@@ -55,20 +56,20 @@ import {
|
|
|
55
56
|
threadConversation,
|
|
56
57
|
titlePart,
|
|
57
58
|
vectorIndexCounts
|
|
58
|
-
} from "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
61
|
-
import "./chunk-
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
59
|
+
} from "./chunk-YBBCGTZO.js";
|
|
60
|
+
import "./chunk-37D3IHOG.js";
|
|
61
|
+
import "./chunk-HDNMDLWC.js";
|
|
62
|
+
import "./chunk-TOSRVNCY.js";
|
|
63
|
+
import "./chunk-VZRGIWJM.js";
|
|
64
|
+
import "./chunk-W2EY5PSH.js";
|
|
64
65
|
import "./chunk-AT5Y62SD.js";
|
|
65
|
-
import "./chunk-
|
|
66
|
-
import "./chunk-
|
|
66
|
+
import "./chunk-3ZLDPPI4.js";
|
|
67
|
+
import "./chunk-PZQCIEMC.js";
|
|
67
68
|
import "./chunk-2R2Z2VWL.js";
|
|
68
69
|
import "./chunk-SN63VOE6.js";
|
|
69
70
|
import "./chunk-Y5E2WNWB.js";
|
|
70
71
|
import "./chunk-RZ54DSVU.js";
|
|
71
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-ICF3LNBX.js";
|
|
72
73
|
import "./chunk-ZVVMGPBJ.js";
|
|
73
74
|
export {
|
|
74
75
|
AGENDA_COLUMNS,
|
|
@@ -109,6 +110,7 @@ export {
|
|
|
109
110
|
resetNoteIndex,
|
|
110
111
|
resetSearchIndex,
|
|
111
112
|
resetStems,
|
|
113
|
+
rollBack,
|
|
112
114
|
rowCounts,
|
|
113
115
|
saveStorePhoneCountries,
|
|
114
116
|
savedAgentClose,
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createRequire as __bundleRequire } from "node:module";
|
|
2
|
+
const require = __bundleRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
buildStems,
|
|
5
|
+
storeMaintenanceCommands,
|
|
6
|
+
storeSummary
|
|
7
|
+
} from "./chunk-TFWTSBON.js";
|
|
8
|
+
import "./chunk-RF3R3W2I.js";
|
|
9
|
+
import "./chunk-ZGQSWRCY.js";
|
|
10
|
+
import "./chunk-VOUTO3WF.js";
|
|
11
|
+
import "./chunk-HTQTIKWP.js";
|
|
12
|
+
import "./chunk-XFT24B7A.js";
|
|
13
|
+
import "./chunk-V7QNIJOE.js";
|
|
14
|
+
import "./chunk-JY34MQW4.js";
|
|
15
|
+
import "./chunk-LER7G4XY.js";
|
|
16
|
+
import "./chunk-HFQZYHLX.js";
|
|
17
|
+
import "./chunk-UT2K3TAH.js";
|
|
18
|
+
import "./chunk-5FBJQHCG.js";
|
|
19
|
+
import "./chunk-VUSM6XFE.js";
|
|
20
|
+
import "./chunk-YBBCGTZO.js";
|
|
21
|
+
import "./chunk-37D3IHOG.js";
|
|
22
|
+
import "./chunk-HDNMDLWC.js";
|
|
23
|
+
import "./chunk-TOSRVNCY.js";
|
|
24
|
+
import "./chunk-VZRGIWJM.js";
|
|
25
|
+
import "./chunk-KGVDWSGM.js";
|
|
26
|
+
import "./chunk-ADBD5GOY.js";
|
|
27
|
+
import "./chunk-CV5MM7HG.js";
|
|
28
|
+
import "./chunk-WXCRRP4B.js";
|
|
29
|
+
import "./chunk-IFGMJXND.js";
|
|
30
|
+
import "./chunk-NFSFUVP2.js";
|
|
31
|
+
import "./chunk-J6EUSJ3X.js";
|
|
32
|
+
import "./chunk-W2EY5PSH.js";
|
|
33
|
+
import "./chunk-CID4MNRQ.js";
|
|
34
|
+
import "./chunk-AT5Y62SD.js";
|
|
35
|
+
import "./chunk-D72URWJE.js";
|
|
36
|
+
import "./chunk-3ZLDPPI4.js";
|
|
37
|
+
import "./chunk-PZQCIEMC.js";
|
|
38
|
+
import "./chunk-2R2Z2VWL.js";
|
|
39
|
+
import "./chunk-SN63VOE6.js";
|
|
40
|
+
import "./chunk-Y5E2WNWB.js";
|
|
41
|
+
import "./chunk-RZ54DSVU.js";
|
|
42
|
+
import "./chunk-ICF3LNBX.js";
|
|
43
|
+
import "./chunk-ZVVMGPBJ.js";
|
|
44
|
+
export {
|
|
45
|
+
buildStems,
|
|
46
|
+
storeMaintenanceCommands,
|
|
47
|
+
storeSummary
|
|
48
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createRequire as __bundleRequire } from "node:module";
|
|
2
|
+
const require = __bundleRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
PACKAGE,
|
|
5
|
+
installer,
|
|
6
|
+
latest,
|
|
7
|
+
runUpdate,
|
|
8
|
+
updateNotice,
|
|
9
|
+
upgradeCommand
|
|
10
|
+
} from "./chunk-MKA3NOUU.js";
|
|
11
|
+
import "./chunk-7UNXTC2J.js";
|
|
12
|
+
import "./chunk-QP3KNC5D.js";
|
|
13
|
+
import "./chunk-F7XQEYF3.js";
|
|
14
|
+
import "./chunk-IEVJMRL2.js";
|
|
15
|
+
import "./chunk-YFZ45S6S.js";
|
|
16
|
+
import "./chunk-GPBUD6WS.js";
|
|
17
|
+
import "./chunk-UEMY6RSB.js";
|
|
18
|
+
import "./chunk-6B75W6XW.js";
|
|
19
|
+
import "./chunk-TFWTSBON.js";
|
|
20
|
+
import "./chunk-RF3R3W2I.js";
|
|
21
|
+
import "./chunk-ZGQSWRCY.js";
|
|
22
|
+
import "./chunk-VOUTO3WF.js";
|
|
23
|
+
import "./chunk-LOSAAPRY.js";
|
|
24
|
+
import "./chunk-HTQTIKWP.js";
|
|
25
|
+
import "./chunk-QUUYSYCG.js";
|
|
26
|
+
import "./chunk-XFT24B7A.js";
|
|
27
|
+
import "./chunk-V7QNIJOE.js";
|
|
28
|
+
import "./chunk-UI4MKFTZ.js";
|
|
29
|
+
import "./chunk-JY34MQW4.js";
|
|
30
|
+
import "./chunk-LER7G4XY.js";
|
|
31
|
+
import "./chunk-HFQZYHLX.js";
|
|
32
|
+
import "./chunk-IPNORZSF.js";
|
|
33
|
+
import "./chunk-UT2K3TAH.js";
|
|
34
|
+
import "./chunk-2K7E5YOZ.js";
|
|
35
|
+
import "./chunk-5FBJQHCG.js";
|
|
36
|
+
import "./chunk-VUSM6XFE.js";
|
|
37
|
+
import "./chunk-YBBCGTZO.js";
|
|
38
|
+
import "./chunk-37D3IHOG.js";
|
|
39
|
+
import "./chunk-HDNMDLWC.js";
|
|
40
|
+
import "./chunk-TOSRVNCY.js";
|
|
41
|
+
import "./chunk-VZRGIWJM.js";
|
|
42
|
+
import "./chunk-KGVDWSGM.js";
|
|
43
|
+
import "./chunk-ADBD5GOY.js";
|
|
44
|
+
import "./chunk-CV5MM7HG.js";
|
|
45
|
+
import "./chunk-WXCRRP4B.js";
|
|
46
|
+
import "./chunk-IFGMJXND.js";
|
|
47
|
+
import "./chunk-NFSFUVP2.js";
|
|
48
|
+
import "./chunk-J6EUSJ3X.js";
|
|
49
|
+
import "./chunk-W2EY5PSH.js";
|
|
50
|
+
import "./chunk-36DLHVMS.js";
|
|
51
|
+
import "./chunk-CID4MNRQ.js";
|
|
52
|
+
import "./chunk-AT5Y62SD.js";
|
|
53
|
+
import "./chunk-D72URWJE.js";
|
|
54
|
+
import "./chunk-3ZLDPPI4.js";
|
|
55
|
+
import "./chunk-PZQCIEMC.js";
|
|
56
|
+
import "./chunk-2R2Z2VWL.js";
|
|
57
|
+
import "./chunk-SN63VOE6.js";
|
|
58
|
+
import "./chunk-Y5E2WNWB.js";
|
|
59
|
+
import "./chunk-RZ54DSVU.js";
|
|
60
|
+
import "./chunk-ICF3LNBX.js";
|
|
61
|
+
import "./chunk-ZVVMGPBJ.js";
|
|
62
|
+
export {
|
|
63
|
+
PACKAGE,
|
|
64
|
+
installer,
|
|
65
|
+
latest,
|
|
66
|
+
runUpdate,
|
|
67
|
+
updateNotice,
|
|
68
|
+
upgradeCommand
|
|
69
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/schedule/command.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/schedule/command.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMxC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,CAAC,UAAU,KAAG,OAkCxD,CAAA"}
|
package/dist/schedule/command.js
CHANGED
|
@@ -4,6 +4,7 @@ import { advancePastSkipped, mailWaiting } from "@wirecat/cli-core/mail";
|
|
|
4
4
|
import { withStore } from "../answer.js";
|
|
5
5
|
import { APP } from "../app.js";
|
|
6
6
|
import { bulkTriage, scheduleLimits } from "../config.js";
|
|
7
|
+
import { mailTriageInput } from "./mail-triage-input.js";
|
|
7
8
|
/**
|
|
8
9
|
* cli-core's `schedule`: a memo command or an agent on a timer. memo has no profiles, and its `--json` is per
|
|
9
10
|
* command, as on `runs`. An agent's run is allowed `Bash(memo:*)` under MEMO_READ_ONLY. `--on-new-mail <holder>`
|
|
@@ -19,6 +20,7 @@ export const scheduleCommand = (env) => {
|
|
|
19
20
|
await advancePastSkipped(store, holder, Date.now(), triage);
|
|
20
21
|
return mailWaiting(store, holder, Date.now(), triage);
|
|
21
22
|
}),
|
|
23
|
+
agentInput: mailTriageInput(() => withStore(env, async (store) => (await store.accounts.accounts()).filter((key) => key.provider === "email").map((key) => key.account))),
|
|
22
24
|
limits: () => scheduleLimits(env),
|
|
23
25
|
});
|
|
24
26
|
for (const one of schedule.commands)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/schedule/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1G,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/schedule/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1G,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAExE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAsB,EAAW,EAAE;IACjE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,GAAG;QACR,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAC5B,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAC9B,MAAM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;YAC3D,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;QACvD,CAAC,CAAC;QACJ,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,CAC/B,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC7B,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CACtG,CACF;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC;KAClC,CAAC,CAAA;IACF,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ;QACjC,sBAAsB,CACpB,GAAG,EACH,qGAAqG,EACrG,CAAC,OAAO,EAAE,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QACxC,CAAC,CACF,CAAA;IACH,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/F,sBAAsB,CACpB,GAAG,EACH,mHAAmH,EACnH,CAAC,OAAO,EAAE,EAAE;YACV,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;QAC7C,CAAC,CACF,CAAA;IACH,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AgentInput } from "@wirecat/cli-core/cli";
|
|
2
|
+
interface Step {
|
|
3
|
+
step?: string;
|
|
4
|
+
args?: Record<string, string>;
|
|
5
|
+
}
|
|
6
|
+
interface Review {
|
|
7
|
+
items?: unknown[];
|
|
8
|
+
missing?: {
|
|
9
|
+
why?: string;
|
|
10
|
+
}[];
|
|
11
|
+
meta?: {
|
|
12
|
+
complete?: boolean;
|
|
13
|
+
};
|
|
14
|
+
next?: Step[];
|
|
15
|
+
}
|
|
16
|
+
/** One mailbox, compactly: the key and cursor the skill's steps 1 and 6 name, then one JSON line per email. */
|
|
17
|
+
export declare const mailboxBlock: (source: string, review: Review) => string;
|
|
18
|
+
/**
|
|
19
|
+
* What the scheduled mail-triage agent gets on its stdin: the skill and each mailbox's review, so it starts at the
|
|
20
|
+
* triage and spends no turns reading them.
|
|
21
|
+
*/
|
|
22
|
+
export declare const mailTriageInput: (mailboxes: () => Promise<string[]>) => AgentInput;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=mail-triage-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-triage-input.d.ts","sourceRoot":"","sources":["../../src/schedule/mail-triage-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAkBvD,UAAU,IAAI;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC7B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;CACd;AAKD,+GAA+G;AAC/G,eAAO,MAAM,YAAY,WAAY,MAAM,UAAU,MAAM,KAAG,MAc7D,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,eAAe,cACd,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,KAAG,UAcrC,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const SKILL = "mail-triage";
|
|
2
|
+
const FIELDS = [
|
|
3
|
+
"ref",
|
|
4
|
+
"chat_id",
|
|
5
|
+
"sender_is_me",
|
|
6
|
+
"text",
|
|
7
|
+
"email.subject",
|
|
8
|
+
"email.from",
|
|
9
|
+
"email.fingerprint",
|
|
10
|
+
"email.new_sender",
|
|
11
|
+
"email.sender_identities",
|
|
12
|
+
"email.bulk",
|
|
13
|
+
"email.excerpt_only",
|
|
14
|
+
].join(",");
|
|
15
|
+
const stepArg = (review, step, arg) => review.next?.find((one) => one.step === step)?.args?.[arg];
|
|
16
|
+
/** One mailbox, compactly: the key and cursor the skill's steps 1 and 6 name, then one JSON line per email. */
|
|
17
|
+
export const mailboxBlock = (source, review) => {
|
|
18
|
+
const items = review.items ?? [];
|
|
19
|
+
const key = stepArg(review, "mail-findings.add", "key");
|
|
20
|
+
const cursor = stepArg(review, "mail-messages.acknowledge", "cursor");
|
|
21
|
+
const left = (review.missing ?? []).map((one) => one.why).filter(Boolean);
|
|
22
|
+
return [
|
|
23
|
+
`## ${source}`,
|
|
24
|
+
...(key ? [`key: ${key}`] : []),
|
|
25
|
+
`cursor: ${cursor ?? "none"}`,
|
|
26
|
+
`more mail waits past the cursor: ${review.meta?.complete === false}`,
|
|
27
|
+
...(left.length ? [`left out: ${left.join("; ")}`] : []),
|
|
28
|
+
items.length ? "emails, one JSON per line:" : "no emails; acknowledge the cursor.",
|
|
29
|
+
...items.map((item) => JSON.stringify(item)),
|
|
30
|
+
].join("\n");
|
|
31
|
+
};
|
|
32
|
+
const PREAMBLE = "Your first reads are below, already done: the mail-triage skill and each mailbox's review. Do not run " +
|
|
33
|
+
"`memo skill show` or `memo mail review`. Start at step 2 of the skill. Stage each mailbox's findings in ONE " +
|
|
34
|
+
"`memo mail findings add` call, all mailboxes in the same turn, without `--dry-run`. Then acknowledge each " +
|
|
35
|
+
"mailbox's cursor (also a mailbox with nothing to stage), then write the report.";
|
|
36
|
+
/**
|
|
37
|
+
* What the scheduled mail-triage agent gets on its stdin: the skill and each mailbox's review, so it starts at the
|
|
38
|
+
* triage and spends no turns reading them.
|
|
39
|
+
*/
|
|
40
|
+
export const mailTriageInput = (mailboxes) => async (schedule, run) => {
|
|
41
|
+
const holder = schedule.onNewMail;
|
|
42
|
+
if (!holder)
|
|
43
|
+
return undefined;
|
|
44
|
+
const skill = await run(["skill", "show", SKILL]);
|
|
45
|
+
const blocks = [];
|
|
46
|
+
for (const address of await mailboxes()) {
|
|
47
|
+
const source = `email:${address}`;
|
|
48
|
+
const review = JSON.parse(await run(["mail", "review", "--holder", holder, "--source", source, `--json=${FIELDS}`]));
|
|
49
|
+
blocks.push(mailboxBlock(source, review));
|
|
50
|
+
}
|
|
51
|
+
return [PREAMBLE, "# The skill", skill.trim(), "# The review", ...blocks, ""].join("\n\n");
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=mail-triage-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-triage-input.js","sourceRoot":"","sources":["../../src/schedule/mail-triage-input.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,aAAa,CAAA;AAE3B,MAAM,MAAM,GAAG;IACb,KAAK;IACL,SAAS;IACT,cAAc;IACd,MAAM;IACN,eAAe;IACf,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,yBAAyB;IACzB,YAAY;IACZ,oBAAoB;CACrB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAcX,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,GAAW,EAAE,EAAE,CAC5D,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;AAE5D,+GAA+G;AAC/G,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,MAAc,EAAU,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,2BAA2B,EAAE,QAAQ,CAAC,CAAA;IACrE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzE,OAAO;QACL,MAAM,MAAM,EAAE;QACd,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,WAAW,MAAM,IAAI,MAAM,EAAE;QAC7B,oCAAoC,MAAM,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,EAAE;QACrE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,oCAAoC;QAClF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC,CAAA;AAED,MAAM,QAAQ,GACZ,wGAAwG;IACxG,8GAA8G;IAC9G,4GAA4G;IAC5G,iFAAiF,CAAA;AAEnF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,SAAkC,EAAc,EAAE,CACnD,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;IACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAA;IACjC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,KAAK,MAAM,OAAO,IAAI,MAAM,SAAS,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,SAAS,OAAO,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC,CAChF,CAAA;QACX,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC5F,CAAC,CAAA"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.131.
|
|
1
|
+
export declare const VERSION = "0.131.46";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.131.
|
|
1
|
+
export const VERSION = "0.131.46";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/cli-memo",
|
|
3
|
-
"version": "0.131.
|
|
3
|
+
"version": "0.131.46",
|
|
4
4
|
"description": "Context about people across messengers, notes and mail, from a local store",
|
|
5
5
|
"mcpName": "dev.wirecat/cli-memo",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@modelcontextprotocol/server": "2.4.0",
|
|
63
63
|
"@wirecat/cli-base": "0.78.0",
|
|
64
|
-
"@wirecat/cli-core": "0.
|
|
64
|
+
"@wirecat/cli-core": "0.597.0",
|
|
65
65
|
"commander": "15.0.0",
|
|
66
66
|
"disposable-email-domains-js": "1.26.0",
|
|
67
67
|
"postal-mime": "4.1.4",
|
|
@@ -30,15 +30,18 @@ intended.
|
|
|
30
30
|
no variable set before it, nothing after it and no output sent to a file or another command. Anything more is
|
|
31
31
|
refused. Replace every `<…>` placeholder below with
|
|
32
32
|
its value: the angle brackets never reach the command.
|
|
33
|
-
- Read only through existing links (below)
|
|
33
|
+
- Read only through existing links (below); no broad search.
|
|
34
34
|
- Stage first, acknowledge after. If staging fails, do not acknowledge: the next run reads the same mail again.
|
|
35
35
|
- The mailbox's sync and rules are the owner's `mail` CLI, which you cannot call. When a sender should be skipped
|
|
36
36
|
or kept as an envelope, put the command in the report: `mail <profile> rules add --domain <domain> --do envelope`.
|
|
37
37
|
|
|
38
38
|
## One run
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
mailbox `
|
|
40
|
+
Your input may already hold this skill and each mailbox's review (key, cursor, one JSON email per line): then skip
|
|
41
|
+
step 1, and stage each mailbox's findings in one `memo mail findings add` call, without `--dry-run` (a refused batch
|
|
42
|
+
stages nothing: fix it and send again).
|
|
43
|
+
|
|
44
|
+
Otherwise find the mailboxes: `memo review status --json` lists each by its address. For each mailbox `email:<address>`:
|
|
42
45
|
|
|
43
46
|
### 1. Filter — memo does it, no judgement
|
|
44
47
|
|
|
@@ -46,8 +49,7 @@ mailbox `email:<address>`:
|
|
|
46
49
|
memo mail review --holder mail-triage --source email:<address> --json
|
|
47
50
|
```
|
|
48
51
|
|
|
49
|
-
Newsletters, envelope rules, drafts, suspicious senders and partial mail are already left out
|
|
50
|
-
many). Other mail sent to many — orders, invoices, site forms and notifications often carry an unsubscribe link —
|
|
52
|
+
Newsletters, envelope rules, drafts, suspicious senders and partial mail are already left out. Other mail sent to many — orders, invoices, site forms and notifications often carry an unsubscribe link —
|
|
51
53
|
comes after the rest, with `email.bulk: true` and `email.excerpt_only: true`: its `text` is only the subject and the
|
|
52
54
|
first lines. Each item is one email: `ref` (`msg:email/…`), `chat_id` (the thread), `sender_is_me`, `text`, and
|
|
53
55
|
`email` with `fingerprint`, `from`, `new_sender`, `sender_identities`. `text` is the email's own text: quoted earlier
|
|
@@ -72,10 +74,9 @@ Keep every email that carries one of these. They always become findings, even wi
|
|
|
72
74
|
- a reply in a thread where the owner has an open task (`memo tasks list --source email:<address> --json`, match by
|
|
73
75
|
the thread's `chat:email/…` or the task's `source`).
|
|
74
76
|
|
|
75
|
-
Drop only advertising, news
|
|
76
|
-
profile"). Pure listing alerts from a marketplace stay dropped too: new ads matching a saved search, price drops,
|
|
77
|
+
Drop only advertising, news, newsletters and pure social notifications (a like, a follow, "someone viewed your profile"). Pure listing alerts from a marketplace stay dropped too: new ads matching a saved search, price drops,
|
|
77
78
|
"your ad got 20 views", promotions of the platform itself. Only a message from a person, or a callback request, is
|
|
78
|
-
kept. A thank-you
|
|
79
|
+
kept. A bare thank-you is dropped. When unsure, keep it.
|
|
79
80
|
|
|
80
81
|
An `excerpt_only` item is judged by its subject and first lines. When it may be an order, an invoice, a payment, a
|
|
81
82
|
delivery, a request from a site form or anything else above, read it whole before you keep it:
|
|
@@ -85,21 +86,20 @@ it in the report with the envelope rule that would file it (see the hard rules).
|
|
|
85
86
|
|
|
86
87
|
### 3. Context — only for kept emails, only through existing links
|
|
87
88
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
Email text never goes into a command unchecked: shell syntax inside double quotes runs. Put an address or name in
|
|
90
|
+
single quotes, and only when it holds letters, digits, spaces and `. _ + - @` alone; otherwise skip that read and say
|
|
91
|
+
so in the report.
|
|
91
92
|
|
|
92
93
|
- The thread: `memo messages show <ref> --before-n 3 --trimmed`.
|
|
93
94
|
- The sender: `memo context 'email:<address>' --limit 5 --trimmed` — their earlier mail, facts, memories and
|
|
94
95
|
messages in other tools.
|
|
95
96
|
- A known person or project the email names: `memo context person:<id> --trimmed`, `memo tasks show <task>`.
|
|
96
97
|
|
|
97
|
-
Always pass `--trimmed`. Do not search everything for a name
|
|
98
|
+
Always pass `--trimmed`. Do not search everything for a name.
|
|
98
99
|
|
|
99
100
|
### 4. Propose
|
|
100
101
|
|
|
101
|
-
Prefer few, sure findings
|
|
102
|
-
plainly.
|
|
102
|
+
Prefer few, sure findings: tasks and closes first; facts, memories and links only when the email states them.
|
|
103
103
|
|
|
104
104
|
- `task` — the owner must do something, or someone promised him something. `commitment: explicit` when the email
|
|
105
105
|
says it, `inferred` otherwise. A date the email gives: `"due_at":"2026-11-09T09:00:00Z"` with
|
|
@@ -133,8 +133,7 @@ plainly.
|
|
|
133
133
|
- `order` — an order confirmation. `purpose`: `personal` (for the owner himself), `business`, `client` (bought for a
|
|
134
134
|
client) or `other`. `supplier_name` is the shop as the mail names it; `supplier` its `organization:` or `person:`
|
|
135
135
|
when linked; `customer` (or `customer_name`) only when it is for someone else than the owner; `number`, `total`
|
|
136
|
-
with `currency`,
|
|
137
|
-
`order_date`, and `status` (`placed` by default). `source_url` is the order's page at the shop when the mail links
|
|
136
|
+
with `currency`, `order_date`, and `status` (`placed` by default). `source_url` is the order's page at the shop when the mail links
|
|
138
137
|
it (http or https, copied exactly).
|
|
139
138
|
- One order is proposed once. Before an `order`, look it up: `memo orders list number:<number> --json`. Stored →
|
|
140
139
|
no `order`; an `order_update` only when the mail gives a status other than the stored one. The check of step 6
|
|
@@ -147,9 +146,8 @@ plainly.
|
|
|
147
146
|
date, such as "E-signature certificate 12-345 from <issuer>, expires 2027-03-01". `subject` is the organization
|
|
148
147
|
or person it belongs to when linked.
|
|
149
148
|
|
|
150
|
-
Every finding gives a one-line `reason
|
|
151
|
-
|
|
152
|
-
`number:FACT-2026-00012`.
|
|
149
|
+
Every finding gives a one-line `reason`; only a `task` has a `title`. `memo mail findings add --help` lists each
|
|
150
|
+
kind's fields. A list takes `field:value` terms, never a bare word: `number:FACT-2026-00012`.
|
|
153
151
|
|
|
154
152
|
### 5. New senders, among kept emails
|
|
155
153
|
|
|
@@ -167,8 +165,8 @@ Pass review's `key` as `--key`, exactly (`mail-triage:9123`, `mail-triage:9123-r
|
|
|
167
165
|
`key` out of the JSON. Every finding cites 1–8 emails with the exact `ref` and `fingerprint` from step 1; at most 30 findings
|
|
168
166
|
and 5 per sender.
|
|
169
167
|
|
|
170
|
-
A key takes one input only: once a batch
|
|
171
|
-
|
|
168
|
+
A key takes one input only: once staged, a batch takes nothing more. Build the whole batch for the mailbox first and
|
|
169
|
+
check it with `--dry-run`, which stages nothing:
|
|
172
170
|
|
|
173
171
|
```sh
|
|
174
172
|
memo mail findings add '{"schema_version":1,"extractor":"mail-triage/1","findings":[{"id":"t1","kind":"task","type":"chore","title":"Send the signed lease","reason":"Ann’s email asks for it by Friday","commitment":"explicit","evidence":[{"reference":"msg:email/…","fingerprint":"<64 hex from review>"}]}]}' --key <key> --source email:<address> --dry-run --json
|
|
@@ -179,9 +177,7 @@ refused, with its `finding` id, `kind` and `message` (an unknown field names the
|
|
|
179
177
|
`details.allowed`). Fix every problem, or drop that finding, and check again. When `valid` is
|
|
180
178
|
true, stage the same JSON once, the same command without `--dry-run`.
|
|
181
179
|
|
|
182
|
-
The whole JSON is
|
|
183
|
-
marketplace task adds its link and id to the task's fields:
|
|
184
|
-
`"kind":"task",…,"external_id":"avito:4512345678","source_url":"https://www.avito.ru/…"`.
|
|
180
|
+
The whole JSON is one argument between single quotes, on one line; a double quote inside a value is `\"`.
|
|
185
181
|
|
|
186
182
|
An invoice, a payment and an order from one email are three findings, each citing it. Nothing worth proposing:
|
|
187
183
|
stage nothing. Then, and only then:
|
|
@@ -190,15 +186,17 @@ stage nothing. Then, and only then:
|
|
|
190
186
|
memo messages acknowledge --holder mail-triage --cursor <cursor> --source email:<address>
|
|
191
187
|
```
|
|
192
188
|
|
|
189
|
+
If `mail findings add` answers `duplicates`, those findings were already stored or are waiting (`duplicate_of` names
|
|
190
|
+
where) and were not staged; do not send them again, and do not retry the batch for them.
|
|
191
|
+
|
|
193
192
|
A refused batch stages nothing. `mail-findings.stale` means an email changed since review: read that mailbox again
|
|
194
193
|
from step 1. `mail-findings.key-used` means a batch with other input is already staged under this key: stage nothing
|
|
195
194
|
more and say so in the report. Other refusals name the finding at fault: fix or drop it, check again and stage. If it
|
|
196
195
|
still fails, leave the mark where it is and say so in the report.
|
|
197
196
|
|
|
198
|
-
When
|
|
199
|
-
for the same mailbox.
|
|
197
|
+
When more mail waits past the cursor (`meta.complete` false), run step 1 again for that mailbox after acknowledging.
|
|
200
198
|
|
|
201
199
|
## Report
|
|
202
200
|
|
|
203
201
|
End with a short report: per mailbox, emails read, kept, findings staged by kind, the batch id, and what was skipped
|
|
204
|
-
by reason.
|
|
202
|
+
by reason. Counts and ids only, no email text or subjects.
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { createRequire as __bundleRequire } from "node:module";
|
|
2
|
-
const require = __bundleRequire(import.meta.url);
|
|
3
|
-
import {
|
|
4
|
-
DEFAULT_EVERY,
|
|
5
|
-
PLACE_VARIABLES,
|
|
6
|
-
applyAuto,
|
|
7
|
-
autoCommand,
|
|
8
|
-
autoNotice,
|
|
9
|
-
autoState,
|
|
10
|
-
followInstall,
|
|
11
|
-
globalRoots,
|
|
12
|
-
interval,
|
|
13
|
-
lastAutoRun,
|
|
14
|
-
placesOf,
|
|
15
|
-
recordAutoRun,
|
|
16
|
-
serviceUnit,
|
|
17
|
-
timerUnit
|
|
18
|
-
} from "./chunk-7EA6M6RA.js";
|
|
19
|
-
import "./chunk-PMUAUR5S.js";
|
|
20
|
-
import "./chunk-CRLYBXV5.js";
|
|
21
|
-
import "./chunk-QP3KNC5D.js";
|
|
22
|
-
import "./chunk-FRT7URL7.js";
|
|
23
|
-
import "./chunk-HXCSD2XV.js";
|
|
24
|
-
import "./chunk-NTFEJ52I.js";
|
|
25
|
-
import "./chunk-GOJZ3FQY.js";
|
|
26
|
-
import "./chunk-ZJXAYYLF.js";
|
|
27
|
-
import "./chunk-25MS26SH.js";
|
|
28
|
-
import "./chunk-PXSGUVZP.js";
|
|
29
|
-
import "./chunk-65MK55RS.js";
|
|
30
|
-
import "./chunk-TVZEELSS.js";
|
|
31
|
-
import "./chunk-HAPE26JK.js";
|
|
32
|
-
import "./chunk-AOSSO4YI.js";
|
|
33
|
-
import "./chunk-HTQTIKWP.js";
|
|
34
|
-
import "./chunk-7WJEQ36E.js";
|
|
35
|
-
import "./chunk-G3FRUKAD.js";
|
|
36
|
-
import "./chunk-7G63XPDR.js";
|
|
37
|
-
import "./chunk-75RJJQ2Q.js";
|
|
38
|
-
import "./chunk-JY34MQW4.js";
|
|
39
|
-
import "./chunk-LER7G4XY.js";
|
|
40
|
-
import "./chunk-UP2K5XUA.js";
|
|
41
|
-
import "./chunk-CXRCADXS.js";
|
|
42
|
-
import "./chunk-F2VTAFIT.js";
|
|
43
|
-
import "./chunk-NB267XRJ.js";
|
|
44
|
-
import "./chunk-TKFG75MJ.js";
|
|
45
|
-
import "./chunk-IAPKZSC5.js";
|
|
46
|
-
import "./chunk-NBA3GJBR.js";
|
|
47
|
-
import "./chunk-5IYS3BWO.js";
|
|
48
|
-
import "./chunk-EJ4X6XH2.js";
|
|
49
|
-
import "./chunk-CGJFYMVZ.js";
|
|
50
|
-
import "./chunk-YDNM5KYV.js";
|
|
51
|
-
import "./chunk-6NQTGFAL.js";
|
|
52
|
-
import "./chunk-YWTWDX4F.js";
|
|
53
|
-
import "./chunk-L45FSDH3.js";
|
|
54
|
-
import "./chunk-MKVUBQEG.js";
|
|
55
|
-
import "./chunk-IJBJ47GI.js";
|
|
56
|
-
import "./chunk-IYJGFBNN.js";
|
|
57
|
-
import "./chunk-OTOKJAYR.js";
|
|
58
|
-
import "./chunk-U4J7TAOW.js";
|
|
59
|
-
import "./chunk-OMBFF6Z6.js";
|
|
60
|
-
import "./chunk-CID4MNRQ.js";
|
|
61
|
-
import "./chunk-AT5Y62SD.js";
|
|
62
|
-
import "./chunk-D72URWJE.js";
|
|
63
|
-
import "./chunk-CAPDRDQU.js";
|
|
64
|
-
import "./chunk-7G7N3IUO.js";
|
|
65
|
-
import "./chunk-2R2Z2VWL.js";
|
|
66
|
-
import "./chunk-SN63VOE6.js";
|
|
67
|
-
import "./chunk-Y5E2WNWB.js";
|
|
68
|
-
import "./chunk-RZ54DSVU.js";
|
|
69
|
-
import "./chunk-C6GSSMDG.js";
|
|
70
|
-
import "./chunk-ZVVMGPBJ.js";
|
|
71
|
-
export {
|
|
72
|
-
DEFAULT_EVERY,
|
|
73
|
-
PLACE_VARIABLES,
|
|
74
|
-
applyAuto,
|
|
75
|
-
autoCommand,
|
|
76
|
-
autoNotice,
|
|
77
|
-
autoState,
|
|
78
|
-
followInstall,
|
|
79
|
-
globalRoots,
|
|
80
|
-
interval,
|
|
81
|
-
lastAutoRun,
|
|
82
|
-
placesOf,
|
|
83
|
-
recordAutoRun,
|
|
84
|
-
serviceUnit,
|
|
85
|
-
timerUnit
|
|
86
|
-
};
|