@wirecat/cli-memo 0.131.72 → 0.131.73
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-G6S5HOBT.js → all-profiles-L5QBYI3V.js} +5 -5
- package/dist/bundle/{anthropic-LA6PXTPQ.js → anthropic-XXKHNCQS.js} +13 -4
- package/dist/bundle/{app-server-SESNZIAV.js → app-server-FDMP3IBP.js} +35 -35
- package/dist/bundle/auto-YQAECIZA.js +85 -0
- package/dist/bundle/{bun-PZNVNH4G.js → bun-VLN4HBWB.js} +2 -2
- package/dist/bundle/{bun-sqlite-VICDK5FS.js → bun-sqlite-KJCYXNMS.js} +2 -2
- package/dist/bundle/{chunk-FXZ7PQKG.js → chunk-2BH2RNFR.js} +5 -5
- package/dist/bundle/{chunk-RGIS2DRA.js → chunk-2C323QNQ.js} +4 -4
- package/dist/bundle/{chunk-SR7C53CS.js → chunk-3CANRF2G.js} +2 -2
- package/dist/bundle/{chunk-A4UQKFGY.js → chunk-6OPZTBRR.js} +12 -12
- package/dist/bundle/{chunk-I4HWKPQR.js → chunk-6ZRBQTKZ.js} +4 -4
- package/dist/bundle/{chunk-ASDOPGKC.js → chunk-A7QXBRUH.js} +2 -2
- package/dist/bundle/{chunk-IXZWUHSG.js → chunk-B7ATMWVO.js} +7 -7
- package/dist/bundle/{chunk-FOPDWCRG.js → chunk-BBLT77AO.js} +5 -5
- package/dist/bundle/{chunk-NRLXWY4Q.js → chunk-BOZEBD3I.js} +433 -368
- package/dist/bundle/{chunk-FPWF2XLH.js → chunk-BTVND2RV.js} +12 -12
- package/dist/bundle/{chunk-HIHZNBR7.js → chunk-C3UOKLIT.js} +1 -1
- package/dist/bundle/{chunk-UCRR7R6Q.js → chunk-E75LK7GD.js} +2 -2
- package/dist/bundle/{chunk-M2DAITNE.js → chunk-EH7ACKFW.js} +2 -2
- package/dist/bundle/{chunk-MSTWHRLN.js → chunk-EI2P5E4C.js} +1 -1
- package/dist/bundle/{chunk-FHIGY5K6.js → chunk-EQLOQOIB.js} +1 -1
- package/dist/bundle/{chunk-2VETW2QK.js → chunk-FMSXN2N6.js} +482 -369
- package/dist/bundle/{chunk-UX52EWLQ.js → chunk-FSXQLNU4.js} +1 -1
- package/dist/bundle/{chunk-K55WZ67L.js → chunk-H74CWBSY.js} +3 -3
- package/dist/bundle/{chunk-FENNNSCI.js → chunk-HBP7AQXX.js} +5 -5
- package/dist/bundle/{chunk-SVVSGUMU.js → chunk-I6MGDSYH.js} +4 -4
- package/dist/bundle/{chunk-ZM6J47GY.js → chunk-IDCYBSML.js} +2 -2
- package/dist/bundle/{chunk-QUPPO7DB.js → chunk-IKH4RCJO.js} +1 -1
- package/dist/bundle/{chunk-PHL53ERQ.js → chunk-IUEYR3TK.js} +4 -4
- package/dist/bundle/{chunk-MKOQDN3I.js → chunk-J7ESMDVV.js} +1 -1
- package/dist/bundle/{chunk-INQAQ55X.js → chunk-JABLJBXL.js} +80 -76
- package/dist/bundle/{chunk-YBL4QKLV.js → chunk-JLC2RE4Y.js} +46 -46
- package/dist/bundle/{chunk-FDSM2TU6.js → chunk-JPXDDRBD.js} +8 -8
- package/dist/bundle/{chunk-SL2LXOCN.js → chunk-K54MCZWM.js} +2 -2
- package/dist/bundle/{chunk-5XRCF57Z.js → chunk-KK3ZHBMI.js} +1 -1
- package/dist/bundle/{chunk-THPGFRPZ.js → chunk-KQTR6YA4.js} +9 -9
- package/dist/bundle/{chunk-II2SXJEO.js → chunk-LG5SQGNM.js} +28 -28
- package/dist/bundle/{chunk-LIF2HXIQ.js → chunk-LHZ4QBWB.js} +1 -1
- package/dist/bundle/{chunk-6Z62U7NY.js → chunk-LOYI3STE.js} +3 -3
- package/dist/bundle/{chunk-WT2P44YD.js → chunk-MLN4DPXN.js} +10 -10
- package/dist/bundle/{chunk-FVJSDDSV.js → chunk-MM3OMWST.js} +11 -9
- package/dist/bundle/{chunk-G3FQTKHT.js → chunk-NMOWIFH3.js} +7 -7
- package/dist/bundle/{chunk-ESYCZ575.js → chunk-O5KXCQE4.js} +2 -2
- package/dist/bundle/{chunk-CLQXHFKG.js → chunk-OGUXOAOH.js} +5 -5
- package/dist/bundle/{chunk-H3LAORYX.js → chunk-ON7ZROFP.js} +2 -2
- package/dist/bundle/{chunk-KH43CUE2.js → chunk-PAHBDQ5A.js} +5 -5
- package/dist/bundle/{chunk-MAGAWAPG.js → chunk-PF6LXPK5.js} +167 -165
- package/dist/bundle/{chunk-BD7AGXJJ.js → chunk-QHLEMEF3.js} +31 -31
- package/dist/bundle/{chunk-U3P5F57B.js → chunk-R3PK4Y7C.js} +1 -1
- package/dist/bundle/{chunk-G7XOBQB5.js → chunk-RB266FS6.js} +3 -3
- package/dist/bundle/{chunk-IRBYZUI7.js → chunk-SILEPITK.js} +27 -36
- package/dist/bundle/{chunk-STJWETNW.js → chunk-US2HTCJA.js} +4 -4
- package/dist/bundle/{chunk-6B3GQMR6.js → chunk-VPR47AG4.js} +1 -1
- package/dist/bundle/{chunk-3LS76TFB.js → chunk-VQUSPMYO.js} +1 -1
- package/dist/bundle/{chunk-RF6KPQWV.js → chunk-W6JPIP5C.js} +2 -2
- package/dist/bundle/{chunk-XXEHPPNS.js → chunk-WJNLBQSV.js} +1099 -743
- package/dist/bundle/{chunk-XNX3U6GD.js → chunk-X35Q5CHE.js} +6 -6
- package/dist/bundle/{chunk-B7LGXY3S.js → chunk-XGXEWKR7.js} +4 -4
- package/dist/bundle/{chunk-CPUQC7UF.js → chunk-XM6ZAPFW.js} +1 -1
- package/dist/bundle/{chunk-2RNNWFU7.js → chunk-YDGZJK6U.js} +13 -13
- package/dist/bundle/{chunk-3ZSPTUG3.js → chunk-ZI5Y2EUA.js} +6 -6
- package/dist/bundle/{chunk-PGOMGFXA.js → chunk-ZIGVDRSI.js} +1 -1
- package/dist/bundle/{command-contract-7QECBB6M.js → command-contract-6HJ322BP.js} +11 -11
- package/dist/bundle/{decode-WRWXOJML.js → decode-OS6Y6ICA.js} +2 -2
- package/dist/bundle/{echarts-MTCNTCST.js → echarts-JKGDUDYL.js} +2 -2
- package/dist/bundle/{embed-PPPCHSTE.js → embed-UB4LH6MF.js} +3 -3
- package/dist/bundle/{embedder-UJBIX6A2.js → embedder-TUQBG22Y.js} +6 -6
- package/dist/bundle/{entry-W6SHKRBE.js → entry-N4NCIQYH.js} +4 -4
- package/dist/bundle/failure-BJEFFYH3.js +65 -0
- package/dist/bundle/{first-run-7HAWGQ3B.js → first-run-VNJHZYGS.js} +5 -5
- package/dist/bundle/{first-screen-FRRTKWFB.js → first-screen-4XGF2NZ3.js} +12 -12
- package/dist/bundle/{instructions-JKIO4JF7.js → instructions-Q6IZQUU7.js} +1 -1
- package/dist/bundle/{mcp-OL6ZYF2T.js → mcp-REIASUJR.js} +35 -35
- package/dist/bundle/memo.js +6 -6
- package/dist/bundle/{node-3AIXDDDR.js → node-ZSSIVKVC.js} +2 -2
- package/dist/bundle/{node-sqlite-NX722DXD.js → node-sqlite-AUNJSQQL.js} +3 -3
- package/dist/bundle/{oauth-2NPSI7Q3.js → oauth-2MTJFCMI.js} +4 -4
- package/dist/bundle/{open-AFRN6Q36.js → open-U7RC27MJ.js} +2 -2
- package/dist/bundle/{openai-U5CQFLRU.js → openai-2SJCG6XM.js} +7 -7
- package/dist/bundle/{process-J2IBN6X7.js → process-UEQX5STY.js} +1 -1
- package/dist/bundle/{program-MRG4ZQQI.js → program-G3F26HW7.js} +168 -87
- package/dist/bundle/{prompt-6XNKR4VQ.js → prompt-F23FC5PJ.js} +2 -2
- package/dist/bundle/{recognize-G3GI32QS.js → recognize-ZVEGVD56.js} +1 -1
- package/dist/bundle/{remote-DJO255PT.js → remote-CZXQS7PS.js} +4 -4
- package/dist/bundle/{rerank-5SBZRIHF.js → rerank-IRFXSVVO.js} +4 -4
- package/dist/bundle/{serve-BZVBKGU3.js → serve-6CIMU5HP.js} +6 -6
- package/dist/bundle/server-27KXLL4E.js +61 -0
- package/dist/bundle/{server-D5BJDKTJ.js → server-H24MAUT2.js} +50 -50
- package/dist/bundle/server-TWMUWMFM.js +48 -0
- package/dist/bundle/{state-A57F7T5D.js → state-TRWZWXB5.js} +3 -3
- package/dist/bundle/{store-JXD7SGIK.js → store-E4QUOOLX.js} +9 -9
- package/dist/bundle/store-maintenance-command-GLHRB2VZ.js +47 -0
- package/dist/bundle/update-QQEM73O5.js +68 -0
- package/dist/contract-overrides/search.d.ts.map +1 -1
- package/dist/contract-overrides/search.js +9 -3
- package/dist/contract-overrides/search.js.map +1 -1
- package/dist/digest/backfill.d.ts.map +1 -1
- package/dist/digest/backfill.js +7 -7
- package/dist/digest/backfill.js.map +1 -1
- package/dist/examples.d.ts.map +1 -1
- package/dist/examples.js +9 -3
- package/dist/examples.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/search/answers.d.ts +9 -2
- package/dist/search/answers.d.ts.map +1 -1
- package/dist/search/answers.js +59 -5
- package/dist/search/answers.js.map +1 -1
- package/dist/search/command.d.ts.map +1 -1
- package/dist/search/command.js +38 -7
- package/dist/search/command.js.map +1 -1
- package/dist/search/search.d.ts +6 -2
- package/dist/search/search.d.ts.map +1 -1
- package/dist/search/search.js +14 -5
- package/dist/search/search.js.map +1 -1
- package/dist/store/group.d.ts +1 -1
- package/dist/store/group.d.ts.map +1 -1
- package/dist/store/group.js +2 -1
- package/dist/store/group.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/skills/cli-memo/SKILL.md +3 -3
- package/skills/cli-memo/topics/meetings.md +2 -1
- package/skills/cli-memo/topics/search.md +1 -0
- package/dist/bundle/auto-WU47LYXJ.js +0 -85
- package/dist/bundle/failure-NRJ3EPBO.js +0 -65
- package/dist/bundle/server-AEZPZ3ZD.js +0 -48
- package/dist/bundle/server-CIT5B2SV.js +0 -61
- package/dist/bundle/store-maintenance-command-5DG4SEQA.js +0 -47
- package/dist/bundle/update-NI24ED4V.js +0 -68
- /package/dist/bundle/{chunk-YSYFOIW7.js → chunk-ZOWQ5B33.js} +0 -0
|
@@ -6,18 +6,18 @@ import {
|
|
|
6
6
|
autoState,
|
|
7
7
|
lastAutoRun,
|
|
8
8
|
recordAutoRun
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2C323QNQ.js";
|
|
10
10
|
import {
|
|
11
11
|
installer,
|
|
12
12
|
latest,
|
|
13
13
|
upgradeCommand
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HBP7AQXX.js";
|
|
15
15
|
import {
|
|
16
16
|
mcpOwnerAllowed,
|
|
17
17
|
memoLevels,
|
|
18
18
|
readOnlyAvailability,
|
|
19
19
|
refuseWritesUnderLock
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-2BH2RNFR.js";
|
|
21
21
|
import {
|
|
22
22
|
answers,
|
|
23
23
|
atDetail,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
trackAnswers,
|
|
30
30
|
wholeList,
|
|
31
31
|
withStore
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-BBLT77AO.js";
|
|
33
33
|
import {
|
|
34
34
|
ATTACHMENT_CHARS,
|
|
35
35
|
DIALECTS,
|
|
@@ -61,15 +61,15 @@ import {
|
|
|
61
61
|
showMail,
|
|
62
62
|
unsetConfigKey,
|
|
63
63
|
updateConfig
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-QHLEMEF3.js";
|
|
65
65
|
import "./chunk-QP3KNC5D.js";
|
|
66
|
-
import "./chunk-
|
|
67
|
-
import "./chunk-
|
|
68
|
-
import "./chunk-
|
|
66
|
+
import "./chunk-K54MCZWM.js";
|
|
67
|
+
import "./chunk-B7ATMWVO.js";
|
|
68
|
+
import "./chunk-H74CWBSY.js";
|
|
69
69
|
import {
|
|
70
70
|
errorObject,
|
|
71
71
|
recognisable
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-XGXEWKR7.js";
|
|
73
73
|
import {
|
|
74
74
|
AGENT_INPUT_MAX_CHARS,
|
|
75
75
|
DISCOVERY_DESCRIPTIONS,
|
|
@@ -119,32 +119,32 @@ import {
|
|
|
119
119
|
tasksStatsCommand,
|
|
120
120
|
templatesCommand,
|
|
121
121
|
withSqliteSidecars
|
|
122
|
-
} from "./chunk-
|
|
123
|
-
import "./chunk-
|
|
124
|
-
import "./chunk-
|
|
122
|
+
} from "./chunk-FMSXN2N6.js";
|
|
123
|
+
import "./chunk-J7ESMDVV.js";
|
|
124
|
+
import "./chunk-VPR47AG4.js";
|
|
125
125
|
import {
|
|
126
126
|
allHitItem,
|
|
127
127
|
coverageGaps,
|
|
128
128
|
messageHitItem,
|
|
129
129
|
noteHitItem,
|
|
130
130
|
shownOf
|
|
131
|
-
} from "./chunk-
|
|
132
|
-
import "./chunk-
|
|
131
|
+
} from "./chunk-SILEPITK.js";
|
|
132
|
+
import "./chunk-EQLOQOIB.js";
|
|
133
133
|
import {
|
|
134
134
|
REASONS as REASONS2,
|
|
135
135
|
SKILL_TARGETS,
|
|
136
136
|
skillCommand,
|
|
137
137
|
skillPath,
|
|
138
138
|
skillVersion
|
|
139
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-MM3OMWST.js";
|
|
140
140
|
import {
|
|
141
141
|
recoveryNotes,
|
|
142
142
|
storeInfo,
|
|
143
143
|
storeRecoveryCheck,
|
|
144
144
|
storeRecoveryRun,
|
|
145
145
|
storeSummary
|
|
146
|
-
} from "./chunk-
|
|
147
|
-
import "./chunk-
|
|
146
|
+
} from "./chunk-JLC2RE4Y.js";
|
|
147
|
+
import "./chunk-YDGZJK6U.js";
|
|
148
148
|
import {
|
|
149
149
|
LIST_QUERY_GUIDE,
|
|
150
150
|
RESOURCES_SEARCHED,
|
|
@@ -220,18 +220,18 @@ import {
|
|
|
220
220
|
timeLimit,
|
|
221
221
|
typedQuery,
|
|
222
222
|
withQuery
|
|
223
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-WJNLBQSV.js";
|
|
224
224
|
import {
|
|
225
225
|
readBoundedUtf8File,
|
|
226
226
|
writeFileAtomic
|
|
227
|
-
} from "./chunk-
|
|
227
|
+
} from "./chunk-BTVND2RV.js";
|
|
228
228
|
import {
|
|
229
229
|
commandsText,
|
|
230
230
|
inSection,
|
|
231
231
|
installHelp
|
|
232
|
-
} from "./chunk-
|
|
232
|
+
} from "./chunk-X35Q5CHE.js";
|
|
233
233
|
import "./chunk-HTQTIKWP.js";
|
|
234
|
-
import "./chunk-
|
|
234
|
+
import "./chunk-A7QXBRUH.js";
|
|
235
235
|
import {
|
|
236
236
|
Command,
|
|
237
237
|
DEFAULT_TEXT_MODEL,
|
|
@@ -255,6 +255,7 @@ import {
|
|
|
255
255
|
grantsAuthority,
|
|
256
256
|
hasSharedContract,
|
|
257
257
|
itemOf,
|
|
258
|
+
levelFor,
|
|
258
259
|
liftProfile,
|
|
259
260
|
metaOf,
|
|
260
261
|
outputFor,
|
|
@@ -270,23 +271,23 @@ import {
|
|
|
270
271
|
snakeKeys,
|
|
271
272
|
textModels,
|
|
272
273
|
textModelsFile
|
|
273
|
-
} from "./chunk-
|
|
274
|
-
import "./chunk-
|
|
275
|
-
import "./chunk-
|
|
274
|
+
} from "./chunk-PF6LXPK5.js";
|
|
275
|
+
import "./chunk-ZI5Y2EUA.js";
|
|
276
|
+
import "./chunk-MLN4DPXN.js";
|
|
276
277
|
import {
|
|
277
278
|
isNewer
|
|
278
279
|
} from "./chunk-LJCT7YG6.js";
|
|
279
280
|
import "./chunk-L62FWN3Y.js";
|
|
280
|
-
import "./chunk-
|
|
281
|
-
import "./chunk-
|
|
282
|
-
import "./chunk-
|
|
283
|
-
import "./chunk-
|
|
281
|
+
import "./chunk-LOYI3STE.js";
|
|
282
|
+
import "./chunk-KQTR6YA4.js";
|
|
283
|
+
import "./chunk-C3UOKLIT.js";
|
|
284
|
+
import "./chunk-6ZRBQTKZ.js";
|
|
284
285
|
import {
|
|
285
286
|
releaseLock,
|
|
286
287
|
servingProfiles,
|
|
287
288
|
takeLock
|
|
288
|
-
} from "./chunk-
|
|
289
|
-
import "./chunk-
|
|
289
|
+
} from "./chunk-IDCYBSML.js";
|
|
290
|
+
import "./chunk-VQUSPMYO.js";
|
|
290
291
|
import {
|
|
291
292
|
EVIDENCE_FINDINGS_KIND,
|
|
292
293
|
MAIL_FINDINGS_KIND,
|
|
@@ -323,7 +324,7 @@ import {
|
|
|
323
324
|
refLabel,
|
|
324
325
|
storedProfilesFor,
|
|
325
326
|
writesWithOf
|
|
326
|
-
} from "./chunk-
|
|
327
|
+
} from "./chunk-BOZEBD3I.js";
|
|
327
328
|
import {
|
|
328
329
|
CATALOG_KINDS,
|
|
329
330
|
CATEGORIES,
|
|
@@ -396,21 +397,21 @@ import {
|
|
|
396
397
|
timezoneOf,
|
|
397
398
|
validateQuery,
|
|
398
399
|
walkQuery
|
|
399
|
-
} from "./chunk-
|
|
400
|
-
import "./chunk-
|
|
401
|
-
import "./chunk-
|
|
402
|
-
import "./chunk-
|
|
403
|
-
import "./chunk-
|
|
404
|
-
import "./chunk-
|
|
405
|
-
import "./chunk-
|
|
406
|
-
import "./chunk-
|
|
407
|
-
import "./chunk-
|
|
400
|
+
} from "./chunk-JABLJBXL.js";
|
|
401
|
+
import "./chunk-EH7ACKFW.js";
|
|
402
|
+
import "./chunk-NMOWIFH3.js";
|
|
403
|
+
import "./chunk-I6MGDSYH.js";
|
|
404
|
+
import "./chunk-E75LK7GD.js";
|
|
405
|
+
import "./chunk-LHZ4QBWB.js";
|
|
406
|
+
import "./chunk-O5KXCQE4.js";
|
|
407
|
+
import "./chunk-3CANRF2G.js";
|
|
408
|
+
import "./chunk-OGUXOAOH.js";
|
|
408
409
|
import {
|
|
409
410
|
sharedModelsDirectory
|
|
410
|
-
} from "./chunk-
|
|
411
|
+
} from "./chunk-RB266FS6.js";
|
|
411
412
|
import {
|
|
412
413
|
storePath
|
|
413
|
-
} from "./chunk-
|
|
414
|
+
} from "./chunk-R3PK4Y7C.js";
|
|
414
415
|
import {
|
|
415
416
|
provideTerminal,
|
|
416
417
|
terminalOf
|
|
@@ -420,12 +421,12 @@ import {
|
|
|
420
421
|
REASONS,
|
|
421
422
|
STORE_CLIENT,
|
|
422
423
|
VERSION
|
|
423
|
-
} from "./chunk-
|
|
424
|
+
} from "./chunk-KK3ZHBMI.js";
|
|
424
425
|
import "./chunk-DSU6UR2X.js";
|
|
425
426
|
import "./chunk-SYWHHQMC.js";
|
|
426
427
|
import "./chunk-D72URWJE.js";
|
|
427
|
-
import "./chunk-
|
|
428
|
-
import "./chunk-
|
|
428
|
+
import "./chunk-PAHBDQ5A.js";
|
|
429
|
+
import "./chunk-EI2P5E4C.js";
|
|
429
430
|
import {
|
|
430
431
|
Credentials,
|
|
431
432
|
configFilePath,
|
|
@@ -467,7 +468,7 @@ import {
|
|
|
467
468
|
errorCodes,
|
|
468
469
|
isCliError
|
|
469
470
|
} from "./chunk-ZTONSM5X.js";
|
|
470
|
-
import "./chunk-
|
|
471
|
+
import "./chunk-XM6ZAPFW.js";
|
|
471
472
|
import {
|
|
472
473
|
__name
|
|
473
474
|
} from "./chunk-ZVVMGPBJ.js";
|
|
@@ -584,13 +585,14 @@ var accountsByKind = /* @__PURE__ */ __name((scope, imports = []) => {
|
|
|
584
585
|
notes: [MEMO_ACCOUNT],
|
|
585
586
|
events: [],
|
|
586
587
|
crm: [],
|
|
587
|
-
business: [OWN_BUSINESS, ...imports.filter(scope.has)]
|
|
588
|
+
business: [OWN_BUSINESS, ...imports.filter(scope.has)],
|
|
589
|
+
meetings: []
|
|
588
590
|
};
|
|
589
591
|
for (const key of scope.accounts) {
|
|
590
592
|
const kind = kindIn(key.provider);
|
|
591
593
|
if (kind === "documents")
|
|
592
594
|
kinds2.notes.push(key);
|
|
593
|
-
else if (kind !== void 0 && kind
|
|
595
|
+
else if (kind !== void 0 && kind in kinds2)
|
|
594
596
|
kinds2[kind].push(key);
|
|
595
597
|
}
|
|
596
598
|
return kinds2;
|
|
@@ -846,7 +848,7 @@ var readScope = /* @__PURE__ */ __name((command, help = ONE_ACCOUNT_HELP) => sou
|
|
|
846
848
|
var writeScope = /* @__PURE__ */ __name((command, help) => writeOptions(command, help).option("--json", "print JSON; --json=id,title keeps only those fields"), "writeScope");
|
|
847
849
|
var jsonOption = /* @__PURE__ */ __name((command, fields = "ref,title") => command.option("--json", `print JSON; --json=${fields} keeps only those fields`), "jsonOption");
|
|
848
850
|
|
|
849
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
851
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/mail/sender-scores.js
|
|
850
852
|
var SCORED = "mail_sender_scores";
|
|
851
853
|
var DAY = 864e5;
|
|
852
854
|
var RECENT = 2 * 365 * DAY;
|
|
@@ -862,7 +864,7 @@ var demotedSenders = /* @__PURE__ */ __name(async (store) => {
|
|
|
862
864
|
return senders;
|
|
863
865
|
}, "demotedSenders");
|
|
864
866
|
|
|
865
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
867
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/mail/sync.js
|
|
866
868
|
var DAY2 = 864e5;
|
|
867
869
|
var EDGE = 2 * DAY2;
|
|
868
870
|
|
|
@@ -1983,14 +1985,15 @@ var groupScoped = /* @__PURE__ */ __name(async (store, env, only) => {
|
|
|
1983
1985
|
const scope = await groupScopeOf(store, env);
|
|
1984
1986
|
if (scope === void 0)
|
|
1985
1987
|
return void 0;
|
|
1986
|
-
const
|
|
1988
|
+
const byKind = accountsByKind(scope, await store.business.accounts());
|
|
1989
|
+
const kinds2 = /* @__PURE__ */ __name((kind) => byKind[kind] ?? [], "kinds");
|
|
1987
1990
|
const wanted = only ?? RESOURCES_SEARCHED;
|
|
1988
|
-
const kept = wanted.filter((kind) => kinds2
|
|
1991
|
+
const kept = wanted.filter((kind) => kinds2(kind).length > 0);
|
|
1989
1992
|
if (kept.length === 0)
|
|
1990
1993
|
throw new CliError("validation_error", `group ${scope.run.name} holds no account of ${wanted.join(", ")}`);
|
|
1991
1994
|
return {
|
|
1992
1995
|
only: kept,
|
|
1993
|
-
scope: Object.fromEntries(kept.map((kind) => [kind, kinds2
|
|
1996
|
+
scope: Object.fromEntries(kept.map((kind) => [kind, kinds2(kind)])),
|
|
1994
1997
|
skipped: wanted.filter((kind) => !kept.includes(kind)).map((resource) => ({
|
|
1995
1998
|
resource,
|
|
1996
1999
|
code: "not_found",
|
|
@@ -1998,7 +2001,7 @@ var groupScoped = /* @__PURE__ */ __name(async (store, env, only) => {
|
|
|
1998
2001
|
}))
|
|
1999
2002
|
};
|
|
2000
2003
|
}, "groupScoped");
|
|
2001
|
-
var searchEverywhere = /* @__PURE__ */ __name(async (store, env, { text: text3, limit, only, crmKinds, exact, timezone, plainOrder, shows }) => {
|
|
2004
|
+
var searchEverywhere = /* @__PURE__ */ __name(async (store, env, { text: text3, limit, only, crmKinds, source, exact, timezone, plainOrder, shows }) => {
|
|
2002
2005
|
const accounts = await scopedAccounts(store, env);
|
|
2003
2006
|
const group = await groupScoped(store, env, only);
|
|
2004
2007
|
const messenger2 = { app: { ...APP, command: "tg" }, hintCommand: "memo" };
|
|
@@ -2009,6 +2012,10 @@ var searchEverywhere = /* @__PURE__ */ __name(async (store, env, { text: text3,
|
|
|
2009
2012
|
...offset === void 0 ? {} : { offset },
|
|
2010
2013
|
...group === void 0 ? only === void 0 ? {} : { only } : { only: group.only, scope: group.scope },
|
|
2011
2014
|
...crmKinds === void 0 ? {} : { crmKinds },
|
|
2015
|
+
...source === void 0 ? {} : { source },
|
|
2016
|
+
// memo is the owner's own view of every account, personal and work alike.
|
|
2017
|
+
meetingScopes: ["personal", "work"],
|
|
2018
|
+
...only?.includes("meetings") ? { meetingsAsked: true } : {},
|
|
2012
2019
|
...exact ? { exact: true } : {},
|
|
2013
2020
|
...timezone === void 0 ? {} : { timezone }
|
|
2014
2021
|
}, messenger2, (query) => searchStore(store, MEMO, query, messenger2), meaningLane({ env, store: /* @__PURE__ */ __name(async () => store, "store"), messenger: { app: { command: "memo" } } })), "ask");
|
|
@@ -2292,7 +2299,7 @@ import { createHash } from "node:crypto";
|
|
|
2292
2299
|
import { existsSync, readFileSync as readFileSync2, statSync } from "node:fs";
|
|
2293
2300
|
import { basename, extname, relative, sep } from "node:path";
|
|
2294
2301
|
|
|
2295
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2302
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/services/documents/extraction.js
|
|
2296
2303
|
var Proposal = object({
|
|
2297
2304
|
kind: picklist(["summary", "digest", "fact", "preference"]),
|
|
2298
2305
|
body: pipe(string(), trim(), minLength(1), maxLength(15e3)),
|
|
@@ -2300,13 +2307,13 @@ var Proposal = object({
|
|
|
2300
2307
|
});
|
|
2301
2308
|
var Proposals = object({ items: pipe(array(Proposal), maxLength(20)) });
|
|
2302
2309
|
|
|
2303
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2310
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/services/documents/mirrors.js
|
|
2304
2311
|
var ID = pipe(string(), regex(/^[A-Za-z0-9_-]{1,200}$/));
|
|
2305
2312
|
|
|
2306
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2313
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/services/documents/sync.js
|
|
2307
2314
|
var MAX_PICTURE_BYTES = 25 * 1024 * 1024;
|
|
2308
2315
|
|
|
2309
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2316
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/fetch/addresses.js
|
|
2310
2317
|
import { isIP } from "node:net";
|
|
2311
2318
|
var within3 = /* @__PURE__ */ __name((address, [prefix, bits]) => {
|
|
2312
2319
|
for (let bit = 0; bit < bits; bit++) {
|
|
@@ -2377,7 +2384,7 @@ var isPublicAddress = /* @__PURE__ */ __name((address) => {
|
|
|
2377
2384
|
return within3(bytes, [[32], 3]) && !V6_PRIVATE.some((prefix) => within3(bytes, prefix));
|
|
2378
2385
|
}, "isPublicAddress");
|
|
2379
2386
|
|
|
2380
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2387
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/fetch/page.js
|
|
2381
2388
|
import { lookup as dnsLookup } from "node:dns/promises";
|
|
2382
2389
|
import { request as httpRequest } from "node:http";
|
|
2383
2390
|
import { request as httpsRequest } from "node:https";
|
|
@@ -4170,14 +4177,14 @@ var search = [
|
|
|
4170
4177
|
command: ["search", "all"],
|
|
4171
4178
|
field: "summary",
|
|
4172
4179
|
before: "search stored messages, notes, calendar events and selected meeting transcripts",
|
|
4173
|
-
after: "messages, mail, notes, events and
|
|
4180
|
+
after: "messages, mail, notes, events, deals and meetings ranked together",
|
|
4174
4181
|
reason: "Memo searches imported accounts, mail and native notes without a live messenger; its scope, ranking and output controls are explicit provider differences."
|
|
4175
4182
|
},
|
|
4176
4183
|
{
|
|
4177
4184
|
command: ["search", "all"],
|
|
4178
4185
|
field: "description",
|
|
4179
4186
|
before: "search messenger messages and notes in the local store, calendar events when the store holds a calendar, and a meeting account's transcripts when --source names one \u2014 best match first; not mail (the separate memo CLI searches it: memo search mail), tasks, people, memories or projects. Use it when you do not know where something was written; search messages or notes reads one kind with all its fields",
|
|
4180
|
-
after: "messages, mail, notes, calendar events, deals, leads
|
|
4187
|
+
after: "messages, mail, notes, calendar events, deals, leads, business data and meeting passages from every meeting account, ranked together; not people, memories, projects or decisions. A kind you know reads better with its own search, with all its fields",
|
|
4181
4188
|
reason: "Memo searches imported accounts, mail and native notes without a live messenger; its scope, ranking and output controls are explicit provider differences."
|
|
4182
4189
|
},
|
|
4183
4190
|
{
|
|
@@ -4296,7 +4303,13 @@ var search = [
|
|
|
4296
4303
|
},
|
|
4297
4304
|
{
|
|
4298
4305
|
flags: "--only <resources>",
|
|
4299
|
-
description: "messages,mail,notes,events,crm,business, separated by commas",
|
|
4306
|
+
description: "messages,mail,notes,events,crm,business,meetings, separated by commas",
|
|
4307
|
+
takes_value: true,
|
|
4308
|
+
mandatory: false
|
|
4309
|
+
},
|
|
4310
|
+
{
|
|
4311
|
+
flags: "--source <accounts>",
|
|
4312
|
+
description: "only these accounts, separated by commas: provider:account as a hit shows it, a provider, a kind or group:<name>; each resource reads the ones of its kind, and one it names none of is left out",
|
|
4300
4313
|
takes_value: true,
|
|
4301
4314
|
mandatory: false
|
|
4302
4315
|
},
|
|
@@ -5480,11 +5493,11 @@ var digestCommand = /* @__PURE__ */ __name((program, streams, env) => {
|
|
|
5480
5493
|
const { print } = answers(program, streams, env);
|
|
5481
5494
|
const digest = program.command("digest").description("the morning digest: your brief on what it collects, and the digests of past days").summary("the morning digest: your brief, past days");
|
|
5482
5495
|
briefCommand(digest, print, env);
|
|
5483
|
-
fromAppOption(annotate(digest.command("backfill"), { effects: LOCAL_WRITE })).summary("build the morning digests of past days, without sending them").description("build the morning digest each past day would have had: the morning-digest schedule's agent runs as its timer does (the same skill, flags and cost caps), reading the agenda as of that day's run time, and the result is kept as that day's run, marked backfill, for WireCat Desktop's digests screen. It is never sent to Telegram or mail. A day that already has a digest is skipped. Without --yes it only prints what it would build and the estimate: the days times the last digest run's cost. Each day is a paid model call: it stops once today's runs cost the schedule's daily cap or a day fails, and only you run it, never an agent. The store keeps what holds now, so a chat answered since reads as answered").requiredOption("--
|
|
5484
|
-
const from = dateOf(given2.
|
|
5485
|
-
const to = dateOf(given2.
|
|
5496
|
+
fromAppOption(annotate(digest.command("backfill"), { effects: LOCAL_WRITE })).summary("build the morning digests of past days, without sending them").description("build the morning digest each past day would have had: the morning-digest schedule's agent runs as its timer does (the same skill, flags and cost caps), reading the agenda as of that day's run time, and the result is kept as that day's run, marked backfill, for WireCat Desktop's digests screen. It is never sent to Telegram or mail. A day that already has a digest is skipped. Without --yes it only prints what it would build and the estimate: the days times the last digest run's cost. Each day is a paid model call: it stops once today's runs cost the schedule's daily cap or a day fails, and only you run it, never an agent. The store keeps what holds now, so a chat answered since reads as answered").requiredOption("--since-time <time>", "the first day, YYYY-MM-DD").requiredOption("--until-time <time>", "the last day, YYYY-MM-DD; not a day whose run time is still ahead").option("--yes", "build them; without it, only the estimate is printed").option("--json", "print JSON").action(async (given2, command) => {
|
|
5497
|
+
const from = dateOf(given2.sinceTime, "--since-time");
|
|
5498
|
+
const to = dateOf(given2.untilTime, "--until-time");
|
|
5486
5499
|
if (from > to)
|
|
5487
|
-
throw new CliError("validation_error", "--
|
|
5500
|
+
throw new CliError("validation_error", "--since-time is after --until-time", { param: "--since-time" });
|
|
5488
5501
|
const { state, schedule } = digestSchedule(env);
|
|
5489
5502
|
if (!schedule)
|
|
5490
5503
|
throw new CliError("not_found", `no ${DIGEST_SCHEDULE} schedule to build from \u2014 memo skill show morning-digest says how to make one`, { reason: "backfill.no-schedule" });
|
|
@@ -5497,8 +5510,8 @@ var digestCommand = /* @__PURE__ */ __name((program, streams, env) => {
|
|
|
5497
5510
|
});
|
|
5498
5511
|
const all = daysOf(from, to, when.daily);
|
|
5499
5512
|
if ((all.at(-1)?.at ?? 0) > Date.now())
|
|
5500
|
-
throw new CliError("validation_error", `the ${given2.
|
|
5501
|
-
param: "--
|
|
5513
|
+
throw new CliError("validation_error", `the ${given2.untilTime} digest's time has not come yet; --until-time an earlier day`, {
|
|
5514
|
+
param: "--until-time"
|
|
5502
5515
|
});
|
|
5503
5516
|
const runs = join7(file, "..", "runs");
|
|
5504
5517
|
const done = new Set((existsSync7(runs) ? readdirSync4(runs) : []).filter((name2) => name2.endsWith(".report.json")).map((name2) => localDate(runTime(name2))));
|
|
@@ -5803,7 +5816,7 @@ var doctorCommand = /* @__PURE__ */ __name((...args) => {
|
|
|
5803
5816
|
}, SHELL_OVERRIDES.doctor);
|
|
5804
5817
|
}, "doctorCommand");
|
|
5805
5818
|
|
|
5806
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
5819
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/calendar/sync.js
|
|
5807
5820
|
var DAY6 = 864e5;
|
|
5808
5821
|
var SLOTS_EVERY = 7 * DAY6;
|
|
5809
5822
|
var isWindow = /* @__PURE__ */ __name((value) => typeof value?.from === "number" && typeof value.to === "number", "isWindow");
|
|
@@ -5883,10 +5896,10 @@ var calendarStatus = /* @__PURE__ */ __name(async (store, accountId, { profile,
|
|
|
5883
5896
|
return { items, page: 1, limit: Math.max(1, items.length), hasMore: false };
|
|
5884
5897
|
}, "calendarStatus");
|
|
5885
5898
|
|
|
5886
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
5899
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/calendar/feeds.js
|
|
5887
5900
|
var FEED_LIMITS = { maxBytes: 10 * 1024 * 1024, timeoutMs: 3e4, redirects: 5 };
|
|
5888
5901
|
|
|
5889
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
5902
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/calendar/reads.js
|
|
5890
5903
|
var LIST = "events list";
|
|
5891
5904
|
var EVENT_TYPES = [
|
|
5892
5905
|
"default",
|
|
@@ -5963,7 +5976,7 @@ var accountsMeta = /* @__PURE__ */ __name(async (store, accounts, skipped, now)
|
|
|
5963
5976
|
};
|
|
5964
5977
|
}, "accountsMeta");
|
|
5965
5978
|
|
|
5966
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
5979
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.620.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_5a9525690cd264264c4a3180795dd7f6/node_modules/@wirecat/cli-core/dist/calendar/writer.js
|
|
5967
5980
|
var EVENTS_NOTIFY_KEY = "events.notify";
|
|
5968
5981
|
var EVENTS_DELETE_SERIES_KEY = "events.delete.series";
|
|
5969
5982
|
var EVENTS_REMIND_HOOK_KEY = "events.remind.hook";
|
|
@@ -6291,6 +6304,12 @@ var EXAMPLES = {
|
|
|
6291
6304
|
"memo models consents set openai --model gpt-4o-mini --yes"
|
|
6292
6305
|
],
|
|
6293
6306
|
"models consents revoke": ["memo models consents revoke"],
|
|
6307
|
+
"models search-consents show": ["memo models search-consents show --json"],
|
|
6308
|
+
"models search-consents set": [
|
|
6309
|
+
"memo models search-consents set anthropic",
|
|
6310
|
+
"memo models search-consents set anthropic --yes"
|
|
6311
|
+
],
|
|
6312
|
+
"models search-consents revoke": ["memo models search-consents revoke"],
|
|
6294
6313
|
"models keys set": ["memo models keys set openai", "memo models keys set anthropic"],
|
|
6295
6314
|
"models keys remove": ["memo models keys remove openai"],
|
|
6296
6315
|
"models add": [
|
|
@@ -6641,8 +6660,8 @@ var EXAMPLES = {
|
|
|
6641
6660
|
"schedule list": ["memo schedule list", "memo schedule list kind:agent --json"],
|
|
6642
6661
|
"schedule run": ["memo schedule run digest"],
|
|
6643
6662
|
"digest backfill": [
|
|
6644
|
-
"memo digest backfill --
|
|
6645
|
-
"memo digest backfill --
|
|
6663
|
+
"memo digest backfill --since-time 2026-11-01 --until-time 2026-11-07",
|
|
6664
|
+
"memo digest backfill --since-time 2026-11-01 --until-time 2026-11-07 --yes --json"
|
|
6646
6665
|
],
|
|
6647
6666
|
"digest brief show": ["memo digest brief show", "memo digest brief show --json"],
|
|
6648
6667
|
"digest brief edit": [
|
|
@@ -6676,8 +6695,8 @@ var EXAMPLES = {
|
|
|
6676
6695
|
"mcp server stop": ["memo mcp server stop"],
|
|
6677
6696
|
"search all": [
|
|
6678
6697
|
"memo search all 'budget harbour'",
|
|
6679
|
-
"memo search all '
|
|
6680
|
-
"memo search all '
|
|
6698
|
+
"memo search all 'Rental agreement' --only business",
|
|
6699
|
+
"memo search all 'release date' --source zoom:work,notes --json"
|
|
6681
6700
|
],
|
|
6682
6701
|
"search messages": ["memo search messages 'friday meeting has:voice'"],
|
|
6683
6702
|
"search mail": ["memo search mail 'mailbox:important budget' --source email:me@example.com"],
|
|
@@ -10224,10 +10243,10 @@ var mcpCommandDefinition = /* @__PURE__ */ __name((program, streams, env, create
|
|
|
10224
10243
|
}).summary("serve this profile's commands to an AI agent").description("serve memo commands over MCP on stdio or authenticated HTTP, limited by saved permissions").option("--permission <key=level>", "tighten one saved permission for this server; repeat for more keys", (value, previous = []) => [...previous, value]).option("--http", "serve on 127.0.0.1 behind an HTTPS tunnel with an owner access-code login").option("--port <port>", `local HTTP port (default ${DEFAULT_PORT}); requires --http`).option("--public-url <url>", "tunnel's HTTPS address without /mcp, or a path of it such as https://<name>.ts.net/memo; requires --http").action(async (options) => {
|
|
10225
10244
|
if (!options.http && (options.port !== void 0 || options.publicUrl !== void 0))
|
|
10226
10245
|
throw new CliError("validation_error", "--port and --public-url require --http");
|
|
10227
|
-
const { createMemoServer } = await import("./server-
|
|
10246
|
+
const { createMemoServer } = await import("./server-H24MAUT2.js");
|
|
10228
10247
|
const build = /* @__PURE__ */ __name(() => createMemoServer(env, createProgram2, options.permission), "build");
|
|
10229
10248
|
if (options.http) {
|
|
10230
|
-
const { httpLockFile, mcpUrlOf, portOf, publicUrlOf, serveOverHttp } = await import("./mcp-
|
|
10249
|
+
const { httpLockFile, mcpUrlOf, portOf, publicUrlOf, serveOverHttp } = await import("./mcp-REIASUJR.js");
|
|
10231
10250
|
const publicUrl = publicUrlOf(options.publicUrl, {
|
|
10232
10251
|
missing: "--http",
|
|
10233
10252
|
reaches: "the browser apps reach memo",
|
|
@@ -10279,7 +10298,7 @@ var mcpCommandDefinition = /* @__PURE__ */ __name((program, streams, env, create
|
|
|
10279
10298
|
});
|
|
10280
10299
|
});
|
|
10281
10300
|
annotate(mcp2.command("revoke"), { effects: LOCAL_WRITE, mcp: false, examples: ["memo mcp revoke --json"] }).summary("forget every login given to a browser app").description("forget every login `memo mcp serve --http` gave a browser app; each app must log in again").option("--json", "print JSON").action(async function() {
|
|
10282
|
-
const { revokeAll } = await import("./mcp-
|
|
10301
|
+
const { revokeAll } = await import("./mcp-REIASUJR.js");
|
|
10283
10302
|
revokeAll(httpTokenFile(env));
|
|
10284
10303
|
out.print(this.opts().json, itemAnswer({ revoked: true }));
|
|
10285
10304
|
});
|
|
@@ -12261,26 +12280,65 @@ var TASKS_OF_HIT = {
|
|
|
12261
12280
|
],
|
|
12262
12281
|
why: "{count} open tasks point at this result"
|
|
12263
12282
|
};
|
|
12264
|
-
var
|
|
12283
|
+
var MEETING_PASSAGE = {
|
|
12284
|
+
id: "hit.passage",
|
|
12285
|
+
kind: "command",
|
|
12286
|
+
command: "meetings passage",
|
|
12287
|
+
args: [
|
|
12288
|
+
{ name: "reference", required: true },
|
|
12289
|
+
{ name: "source", required: true }
|
|
12290
|
+
],
|
|
12291
|
+
why: "read the lines around this meeting hit before citing it"
|
|
12292
|
+
};
|
|
12293
|
+
var MEETINGS_INDEX = {
|
|
12294
|
+
id: "meetings.index",
|
|
12295
|
+
kind: "command",
|
|
12296
|
+
command: "search meetings",
|
|
12297
|
+
args: [
|
|
12298
|
+
{ name: "query", required: true },
|
|
12299
|
+
{ name: "source", required: true }
|
|
12300
|
+
],
|
|
12301
|
+
why: "builds {source}'s meeting search index, then finds what search all could not yet"
|
|
12302
|
+
};
|
|
12303
|
+
var pendingMeetings = /* @__PURE__ */ __name((found) => (found.meetings ?? []).filter(({ indexing }) => indexing === "pending"), "pendingMeetings");
|
|
12304
|
+
var meetingsMissed = /* @__PURE__ */ __name((found) => [
|
|
12305
|
+
...pendingMeetings(found).map(({ provider, account: account2 }) => ({
|
|
12306
|
+
field: "items",
|
|
12307
|
+
why: `${provider}:${account2}: meetings saved since its search index was last built are not found yet`,
|
|
12308
|
+
step: MEETINGS_INDEX.id
|
|
12309
|
+
})),
|
|
12310
|
+
// A kind `--source` named no account of was left out on purpose: `meta.issues` lists it, `missing` does not.
|
|
12311
|
+
...found.skipped.filter(({ resource, source, code }) => resource === void 0 ? kindIn(source.split(":")[0] ?? "") === "meetings" : resource === "meetings" && code !== "not_found").map(({ resource, source, reason }) => ({ field: "items", why: `${source ?? resource} not searched: ${reason}` }))
|
|
12312
|
+
], "meetingsMissed");
|
|
12313
|
+
var allAnswer = /* @__PURE__ */ __name((found, limit, exact = false, leftOut = []) => {
|
|
12265
12314
|
const archive = coverageGaps({ coverage: found.coverage }, found.items.length);
|
|
12266
12315
|
const next = found.items.flatMap((item) => {
|
|
12316
|
+
const passage = item.kind === "meeting" && item.cueRef !== void 0 ? [stepOf(MEETING_PASSAGE, { args: { reference: item.cueRef, source: `${item.provider}:${item.account}` } })] : [];
|
|
12267
12317
|
const tasks = found.tasks.filter((task) => task.source === item.ref);
|
|
12268
12318
|
const held = tasks[0]?.heldBy;
|
|
12269
12319
|
if (held === void 0)
|
|
12270
|
-
return
|
|
12320
|
+
return passage;
|
|
12271
12321
|
return [
|
|
12272
12322
|
stepOf(TASKS_OF_HIT, {
|
|
12273
12323
|
args: { query: `source:"${item.ref}"`, source: `${held.provider}:${held.account}` },
|
|
12274
12324
|
values: { count: tasks.length }
|
|
12275
|
-
})
|
|
12325
|
+
}),
|
|
12326
|
+
...passage
|
|
12276
12327
|
];
|
|
12277
12328
|
});
|
|
12329
|
+
const indexing = pendingMeetings(found).map(({ provider, account: account2 }) => stepOf(MEETINGS_INDEX, {
|
|
12330
|
+
args: { query: found.query, source: `${provider}:${account2}` },
|
|
12331
|
+
values: { source: `${provider}:${account2}` }
|
|
12332
|
+
}));
|
|
12333
|
+
const steps = [...archive.next, ...indexing, ...next].slice(0, MAX_NEXT_STEPS);
|
|
12278
12334
|
return listAnswer("search all", {
|
|
12279
12335
|
items: found.items.map(allHitItem),
|
|
12280
12336
|
limit,
|
|
12281
12337
|
has_more: found.hasMore,
|
|
12282
|
-
...
|
|
12338
|
+
...steps.length ? { next: steps } : {},
|
|
12283
12339
|
missing: [
|
|
12340
|
+
...meetingsMissed(found),
|
|
12341
|
+
...leftOut.map(({ why }) => ({ field: "items", why })),
|
|
12284
12342
|
...archive.missing,
|
|
12285
12343
|
...meaningMissed(found.notes?.meaningSkipped, exact),
|
|
12286
12344
|
...messagesMeaningMissed(found.messages?.meaningSkipped),
|
|
@@ -12399,13 +12457,24 @@ var groupMessengers = /* @__PURE__ */ __name(async (store, env, text3) => {
|
|
|
12399
12457
|
throw new CliError("not_found", `group ${scope.run.name} holds no messenger account`);
|
|
12400
12458
|
return messages;
|
|
12401
12459
|
}, "groupMessengers");
|
|
12402
|
-
var ONLY =
|
|
12460
|
+
var ONLY = RESOURCES_SEARCHED;
|
|
12403
12461
|
var onlyOf2 = /* @__PURE__ */ __name((value) => {
|
|
12404
12462
|
const selected = value.split(",").map((part) => part.trim());
|
|
12405
12463
|
if (!selected.length || selected.some((part) => !ONLY.includes(part)))
|
|
12406
12464
|
throw new InvalidArgumentError(`choose ${ONLY.join(",")}, separated by commas`);
|
|
12407
12465
|
return [...new Set(selected)];
|
|
12408
12466
|
}, "onlyOf");
|
|
12467
|
+
var MEETING_KEYS = ["search.meetings", "meetings.passage"];
|
|
12468
|
+
var READS2 = /* @__PURE__ */ new Set(["allow", "readonly"]);
|
|
12469
|
+
var meetingsDenied = /* @__PURE__ */ __name((command, env) => {
|
|
12470
|
+
const levels = memoLevels(env, environmentOf(command).agent?.overrides ?? []);
|
|
12471
|
+
for (const key of MEETING_KEYS) {
|
|
12472
|
+
const { level } = levelFor(levels, key);
|
|
12473
|
+
if (!READS2.has(level))
|
|
12474
|
+
return { why: `meetings left out: the permissions set ${key} to ${level}` };
|
|
12475
|
+
}
|
|
12476
|
+
return void 0;
|
|
12477
|
+
}, "meetingsDenied");
|
|
12409
12478
|
var levelOf = /* @__PURE__ */ __name(({ brief, full }) => {
|
|
12410
12479
|
if (brief && full)
|
|
12411
12480
|
throw new CliError("validation_error", "--brief and --full ask for opposite things \u2014 pick one");
|
|
@@ -12422,13 +12491,21 @@ var searchCommandDefinition = /* @__PURE__ */ __name((program, streams, env) =>
|
|
|
12422
12491
|
throw new InvalidArgumentError("at most 100");
|
|
12423
12492
|
return limit;
|
|
12424
12493
|
}, 20).option("--exact", "words as written; skip meaning search").option("--timezone <zone>", "IANA timezone for calendar date boundaries").option("--json", "print JSON; --json=id,title keeps only those fields"), "queryOptions");
|
|
12425
|
-
queryOptions(annotate(group.command("all"), { effects: LOCAL_READ, output: { entity: "hit" } }).description("messages, mail, notes, calendar events, deals, leads
|
|
12494
|
+
queryOptions(annotate(group.command("all"), { effects: LOCAL_READ, output: { entity: "hit" } }).description("messages, mail, notes, calendar events, deals, leads, business data and meeting passages from every meeting account, ranked together; not people, memories, projects or decisions. A kind you know reads better with its own search, with all its fields").summary("messages, mail, notes, events, deals and meetings ranked together")).option("--only <resources>", `${ONLY.join(",")}, separated by commas`, onlyOf2).option("--source <accounts>", "only these accounts, separated by commas: provider:account as a hit shows it, a provider, a kind or group:<name>; each resource reads the ones of its kind, and one it names none of is left out").option("--plain-order", "best first by the words alone, without moving mail from suspicious senders down").option("--project <project>", PROJECT_ORDER_HELP).addHelpText("after", `
|
|
12426
12495
|
content: narrows a search to the text of files, transcript: to voice transcripts, filename: to file names \u2014 memo search all 'content:invoice'.
|
|
12427
12496
|
Calendar events come from every calendar gcal stored; an event's title, description and place are written by whoever sent the invitation.
|
|
12428
12497
|
crm finds deals and leads by the words of their title only.
|
|
12429
12498
|
business finds invoices, payments, orders, contracts, subscriptions, products and wallets by the words of their numbers and names.
|
|
12430
12499
|
--json: the list is items, each a hit as in tg search all: ref, kind, title, timestamp, excerpt.`).action(async (words, options, command) => {
|
|
12431
|
-
const
|
|
12500
|
+
const denied = meetingsDenied(command, env);
|
|
12501
|
+
const asked = options.only ?? [...RESOURCES_SEARCHED];
|
|
12502
|
+
const wanted = denied ? asked.filter((one2) => one2 !== "meetings") : options.only;
|
|
12503
|
+
if (wanted?.length === 0)
|
|
12504
|
+
throw new CliError("permission_error", `search all has nothing it may read: ${denied?.why}`, {
|
|
12505
|
+
reason: "search.all-denied"
|
|
12506
|
+
});
|
|
12507
|
+
const leftOut = denied ? [denied] : [];
|
|
12508
|
+
const gate = lanesFor(command, wanted);
|
|
12432
12509
|
const answer = await withStore(env, async (store) => {
|
|
12433
12510
|
const found = await searchEverywhere(store, env, {
|
|
12434
12511
|
text: words.join(" "),
|
|
@@ -12436,6 +12513,7 @@ business finds invoices, payments, orders, contracts, subscriptions, products an
|
|
|
12436
12513
|
...gate.only === void 0 ? {} : { only: gate.only },
|
|
12437
12514
|
...gate.shows === void 0 ? {} : { shows: gate.shows },
|
|
12438
12515
|
...gate.crmKinds === void 0 ? {} : { crmKinds: gate.crmKinds },
|
|
12516
|
+
...options.source === void 0 ? {} : { source: options.source },
|
|
12439
12517
|
...options.exact ? { exact: true } : {},
|
|
12440
12518
|
...options.plainOrder ? { plainOrder: true } : {},
|
|
12441
12519
|
...options.timezone === void 0 ? {} : { timezone: options.timezone }
|
|
@@ -12447,6 +12525,9 @@ business finds invoices, payments, orders, contracts, subscriptions, products an
|
|
|
12447
12525
|
};
|
|
12448
12526
|
});
|
|
12449
12527
|
if (!options.json) {
|
|
12528
|
+
for (const { why } of leftOut)
|
|
12529
|
+
streams.diagnostic(`${why}
|
|
12530
|
+
`);
|
|
12450
12531
|
streams.diagnostic(`searched: ${answer.accounts.map(({ provider, account: account2 }) => `${provider}:${account2}`).join(", ") || "nothing"}
|
|
12451
12532
|
`);
|
|
12452
12533
|
for (const skipped of answer.skipped)
|
|
@@ -12462,7 +12543,7 @@ business finds invoices, payments, orders, contracts, subscriptions, products an
|
|
|
12462
12543
|
streams.diagnostic(`${messagesMeaningNote(answer.messages.meaningSkipped)}
|
|
12463
12544
|
`);
|
|
12464
12545
|
}
|
|
12465
|
-
print(options.json, allAnswer(answer, options.limit, options.exact), [
|
|
12546
|
+
print(options.json, allAnswer(answer, options.limit, options.exact, leftOut), [
|
|
12466
12547
|
...answer.items.map((item) => `${"key" in item ? "key " : ""}${item.kind} ${item.ref}
|
|
12467
12548
|
${item.text}`),
|
|
12468
12549
|
...answer.tasks.map((task) => `task task:${task.id} ${task.kind} ${task.source}`)
|
|
@@ -3,8 +3,8 @@ const require = __bundleRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
pasteHint,
|
|
5
5
|
readSecret
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-E75LK7GD.js";
|
|
7
|
+
import "./chunk-LHZ4QBWB.js";
|
|
8
8
|
import "./chunk-UUBV5ATQ.js";
|
|
9
9
|
import "./chunk-HE2F4JII.js";
|
|
10
10
|
import "./chunk-Y5E2WNWB.js";
|