@wirecat/cli-memo 0.131.64 → 0.131.66
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-L6EBORCV.js → all-profiles-CWV6RUGR.js} +9 -9
- package/dist/bundle/{anthropic-42PADP4V.js → anthropic-OIVOFYZY.js} +5 -5
- package/dist/bundle/{app-server-7KM4MSDA.js → app-server-2APNY5WO.js} +42 -42
- package/dist/bundle/auto-HRPCC4FE.js +85 -0
- package/dist/bundle/{bun-NYSNYHAD.js → bun-7ZKANZII.js} +2 -2
- package/dist/bundle/{bun-sqlite-B46U7KI7.js → bun-sqlite-M2EHGYBI.js} +5 -5
- package/dist/bundle/{chunk-NRHF7TQ4.js → chunk-22XVNJQP.js} +11 -11
- package/dist/bundle/{chunk-FKUA3BTM.js → chunk-2LAJDBWZ.js} +268 -268
- package/dist/bundle/{chunk-A524HPDV.js → chunk-2OEQH7HY.js} +2 -2
- package/dist/bundle/{chunk-TKPIS4G2.js → chunk-2QIM6246.js} +1 -1
- package/dist/bundle/{chunk-T3LVSUNZ.js → chunk-2SIOUXJ7.js} +7 -7
- package/dist/bundle/{chunk-ASWLM74P.js → chunk-4U2IONIS.js} +4 -4
- package/dist/bundle/{chunk-ZX6SWNSR.js → chunk-4Y33E3U3.js} +6 -6
- package/dist/bundle/{chunk-XVREIQ2N.js → chunk-637JEJOC.js} +2 -2
- package/dist/bundle/{chunk-5D7BPC33.js → chunk-75MWX5PK.js} +1 -1
- package/dist/bundle/{chunk-FH4P5UQA.js → chunk-7NV2IUIC.js} +4 -4
- package/dist/bundle/{chunk-SOQGV3ZM.js → chunk-ADDDSIRN.js} +6 -6
- package/dist/bundle/{chunk-DXTNBVLV.js → chunk-B3ZXE2IH.js} +277 -277
- package/dist/bundle/{chunk-37E74SKW.js → chunk-BF4SX6DP.js} +72 -72
- package/dist/bundle/{chunk-WINH45XG.js → chunk-C74WKN57.js} +8 -8
- package/dist/bundle/{chunk-3YNJBKGV.js → chunk-CRRBBPJK.js} +337 -337
- package/dist/bundle/{chunk-347UBASY.js → chunk-CUC7KGX4.js} +4 -4
- package/dist/bundle/{chunk-PVGK67AJ.js → chunk-DAA52TDI.js} +156 -156
- package/dist/bundle/{chunk-VTKLHYCZ.js → chunk-DH6PT65U.js} +4 -4
- package/dist/bundle/{chunk-UXAP7MNL.js → chunk-DMC3NDG7.js} +9 -9
- package/dist/bundle/{chunk-3SCHFNUH.js → chunk-DNXPQGFB.js} +23 -23
- package/dist/bundle/{chunk-IK6KH3RE.js → chunk-DSU6UR2X.js} +1 -1
- package/dist/bundle/{chunk-QHNAPLVB.js → chunk-DVVS2API.js} +45 -45
- package/dist/bundle/{chunk-RP6VV35S.js → chunk-EI5IEOXD.js} +2 -2
- package/dist/bundle/{chunk-FHZKHKBJ.js → chunk-GL74QTTV.js} +34 -34
- package/dist/bundle/{chunk-RLX5SC2X.js → chunk-GO73V5BC.js} +1 -1
- package/dist/bundle/{chunk-MYXB2T77.js → chunk-HB7WN6MX.js} +2 -2
- package/dist/bundle/{chunk-RCGFSWZE.js → chunk-HE2F4JII.js} +8 -8
- package/dist/bundle/{chunk-SIJA2UYC.js → chunk-HHDZIBBO.js} +7 -7
- package/dist/bundle/{chunk-6OS7PTOC.js → chunk-HPUTLOQU.js} +131 -38
- package/dist/bundle/{chunk-NH3A5QTW.js → chunk-HUJ666OW.js} +8 -8
- package/dist/bundle/{chunk-RTLQHLHG.js → chunk-I4EUGFS7.js} +4 -4
- package/dist/bundle/{chunk-RGZUDHAQ.js → chunk-IDBN5CTG.js} +8 -8
- package/dist/bundle/{chunk-I5L7MLZ6.js → chunk-IGXIPABG.js} +1 -1
- package/dist/bundle/{chunk-K5VF47E2.js → chunk-JSFC6TRN.js} +6 -6
- package/dist/bundle/{chunk-FWRBJAQZ.js → chunk-KOJN4WTN.js} +3 -3
- package/dist/bundle/{chunk-2XVXF4RW.js → chunk-KU4TU5XZ.js} +3 -3
- package/dist/bundle/{chunk-SIBQ34LX.js → chunk-KV35JTWA.js} +1 -1
- package/dist/bundle/{chunk-6G53ZFUT.js → chunk-L62FWN3Y.js} +1 -1
- package/dist/bundle/{chunk-LVLFLWGY.js → chunk-LDPNN4ED.js} +12 -12
- package/dist/bundle/{chunk-FG4Q6T72.js → chunk-LEL6NYM5.js} +5 -5
- package/dist/bundle/{chunk-VX4HNQLN.js → chunk-LRQD4RJN.js} +3 -3
- package/dist/bundle/{chunk-EDBZEHAU.js → chunk-LW5G7PAR.js} +6 -6
- package/dist/bundle/{chunk-MWAXS4BX.js → chunk-LWX2PCM6.js} +14 -10
- package/dist/bundle/{chunk-NIJZXGJN.js → chunk-M643YQVP.js} +4 -4
- package/dist/bundle/{chunk-ACG5QN77.js → chunk-M76ZJSPA.js} +3 -3
- package/dist/bundle/{chunk-4GTZSCUE.js → chunk-MEPRCROV.js} +3 -3
- package/dist/bundle/{chunk-ZUQXDJ7A.js → chunk-OO6SA2FM.js} +1 -1
- package/dist/bundle/{chunk-EMNQPMZO.js → chunk-OZBL624P.js} +20 -20
- package/dist/bundle/{chunk-XPT5PX7H.js → chunk-P2MMAW3A.js} +7 -7
- package/dist/bundle/{chunk-QTF4ZXOL.js → chunk-QWP6RJFR.js} +14 -14
- package/dist/bundle/{chunk-724DPWN6.js → chunk-R4LVHS2N.js} +2 -2
- package/dist/bundle/{chunk-PKUBC2ME.js → chunk-RKLCY7YU.js} +4 -4
- package/dist/bundle/{chunk-V7TJSYFK.js → chunk-UCLZMKTT.js} +2 -2
- package/dist/bundle/{chunk-EBDX6DNB.js → chunk-V3JOIUVB.js} +4 -4
- package/dist/bundle/{chunk-B3SERZMP.js → chunk-VBXQAIRI.js} +1 -1
- package/dist/bundle/{chunk-FC5PK6M6.js → chunk-WCRWS2W7.js} +13 -13
- package/dist/bundle/{chunk-DKO7WEXJ.js → chunk-WDVYPHNV.js} +2 -2
- package/dist/bundle/{chunk-ML46T7UC.js → chunk-XAEDDKM4.js} +30 -30
- package/dist/bundle/{chunk-4SUROBD4.js → chunk-XFZESHD3.js} +4 -4
- package/dist/bundle/{chunk-NZJUMLTD.js → chunk-XMGUKW6Y.js} +2 -2
- package/dist/bundle/{chunk-HKC7GDJD.js → chunk-XZBVXJWY.js} +6 -6
- package/dist/bundle/{chunk-VLUDHCCX.js → chunk-ZAOFHRBL.js} +23 -23
- package/dist/bundle/{chunk-4ZW6ZJ2V.js → chunk-ZTONSM5X.js} +2 -2
- package/dist/bundle/command-contract-N554VPBZ.js +32 -0
- package/dist/bundle/{decode-2Z4GCIGA.js → decode-ZCMHC5JI.js} +5 -5
- package/dist/bundle/{dispatch-CRYB6Q2V.js → dispatch-VJSUBAUM.js} +8 -8
- package/dist/bundle/{echarts-JADCSUD7.js → echarts-SJNM7DNA.js} +2 -2
- package/dist/bundle/{embed-ZLEPINEK.js → embed-JO3CVYBK.js} +6 -6
- package/dist/bundle/{embedder-E3DHPZCK.js → embedder-QAEGU7TZ.js} +9 -9
- package/dist/bundle/{entry-MUE6HWX3.js → entry-KMFOJYWF.js} +7 -7
- package/dist/bundle/failure-2FQL5SHA.js +65 -0
- package/dist/bundle/{failure-ZMQJF3RO.js → failure-GLF7OMMM.js} +2 -2
- package/dist/bundle/{first-run-3JYWLJCH.js → first-run-5X2NRJL2.js} +11 -11
- package/dist/bundle/first-screen-2LMAVNBU.js +30 -0
- package/dist/bundle/{instructions-ECXOBMWS.js → instructions-GLZE4RPY.js} +1 -1
- package/dist/bundle/{mcp-RKJG22KM.js → mcp-H2WYFBNW.js} +2 -2
- package/dist/bundle/mcp-QXTOJORS.js +90 -0
- package/dist/bundle/memo.js +16 -16
- package/dist/bundle/{node-A6363DJ4.js → node-BNMBIM5C.js} +2 -2
- package/dist/bundle/{node-sqlite-FA2P77PW.js → node-sqlite-BSRYEMOR.js} +6 -6
- package/dist/bundle/{oauth-DBGARGR7.js → oauth-HYAEWGBV.js} +7 -7
- package/dist/bundle/{open-5YYG2VWH.js → open-X7J4Q3I6.js} +5 -5
- package/dist/bundle/{openai-BPVP7TZ7.js → openai-ZACXNPZS.js} +10 -10
- package/dist/bundle/{process-DGPZRHQA.js → process-5I6233QY.js} +1 -1
- package/dist/bundle/{program-LXQLWUAG.js → program-RQIADAES.js} +135 -100
- package/dist/bundle/{prompt-NTAZWPWA.js → prompt-DVKTWZHJ.js} +5 -5
- package/dist/bundle/{recognize-OGEP5VD3.js → recognize-VXK4L74H.js} +4 -4
- package/dist/bundle/{remote-DER2PFH6.js → remote-IJLJQRQN.js} +7 -7
- package/dist/bundle/{rerank-PB5ACFHS.js → rerank-553ZMBYJ.js} +7 -7
- package/dist/bundle/{serve-KNEY4BXK.js → serve-76AFHLTI.js} +9 -9
- package/dist/bundle/{server-MVJU7QG4.js → server-B3F54YWL.js} +56 -56
- package/dist/bundle/server-PSEKWXKK.js +48 -0
- package/dist/bundle/server-QDPYZZT5.js +61 -0
- package/dist/bundle/{state-JMCWHHZM.js → state-WYFGGGAG.js} +6 -6
- package/dist/bundle/{store-M5QSIRWJ.js → store-S6QR47NT.js} +13 -13
- package/dist/bundle/store-maintenance-command-O4TXIWSL.js +47 -0
- package/dist/bundle/update-Z4LDMYC5.js +68 -0
- package/dist/digest/command.d.ts.map +1 -1
- package/dist/digest/command.js +4 -3
- package/dist/digest/command.js.map +1 -1
- package/dist/digest/digest.d.ts.map +1 -1
- package/dist/digest/digest.js +2 -0
- package/dist/digest/digest.js.map +1 -1
- package/dist/digest/sync-health.d.ts +6 -3
- package/dist/digest/sync-health.d.ts.map +1 -1
- package/dist/digest/sync-health.js +46 -20
- package/dist/digest/sync-health.js.map +1 -1
- package/dist/digest/tasks.d.ts +2 -0
- package/dist/digest/tasks.d.ts.map +1 -1
- package/dist/digest/tasks.js +3 -1
- package/dist/digest/tasks.js.map +1 -1
- package/dist/examples.js +4 -4
- package/dist/examples.js.map +1 -1
- package/dist/finance/subscriptions-command.js +3 -3
- package/dist/finance/subscriptions-command.js.map +1 -1
- package/dist/records/import.d.ts.map +1 -1
- package/dist/records/import.js +2 -0
- package/dist/records/import.js.map +1 -1
- package/dist/records/input.d.ts +3 -1
- package/dist/records/input.d.ts.map +1 -1
- package/dist/records/input.js +14 -2
- package/dist/records/input.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/scenarios/project-state.md +2 -2
- package/skills/morning-digest/SKILL.md +2 -1
- package/dist/bundle/auto-V3FUD6RW.js +0 -85
- package/dist/bundle/command-contract-PLB2JGFJ.js +0 -32
- package/dist/bundle/failure-6SP64Q66.js +0 -65
- package/dist/bundle/first-screen-QH34AIFV.js +0 -30
- package/dist/bundle/mcp-QX2D6EXA.js +0 -90
- package/dist/bundle/server-L622PMVC.js +0 -61
- package/dist/bundle/server-SJVP2XXD.js +0 -48
- package/dist/bundle/store-maintenance-command-PQCO5ICC.js +0 -47
- package/dist/bundle/update-MQUCCIBB.js +0 -68
- /package/dist/bundle/{chunk-C3XNJQD7.js → chunk-IJPRQERM.js} +0 -0
- /package/dist/bundle/{chunk-SW6C6WH5.js → chunk-SYWHHQMC.js} +0 -0
|
@@ -6,17 +6,17 @@ import {
|
|
|
6
6
|
autoState,
|
|
7
7
|
lastAutoRun,
|
|
8
8
|
recordAutoRun
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-P2MMAW3A.js";
|
|
10
10
|
import {
|
|
11
11
|
installer,
|
|
12
12
|
latest,
|
|
13
13
|
upgradeCommand
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-C74WKN57.js";
|
|
15
15
|
import {
|
|
16
16
|
mcpOwnerAllowed,
|
|
17
17
|
readOnlyAvailability,
|
|
18
18
|
refuseWritesUnderLock
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-LW5G7PAR.js";
|
|
20
20
|
import {
|
|
21
21
|
answers,
|
|
22
22
|
atDetail,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
trackAnswers,
|
|
28
28
|
wholeList,
|
|
29
29
|
withStore
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-2SIOUXJ7.js";
|
|
31
31
|
import {
|
|
32
32
|
ATTACHMENT_CHARS,
|
|
33
33
|
DIALECTS,
|
|
@@ -59,15 +59,15 @@ import {
|
|
|
59
59
|
showMail,
|
|
60
60
|
unsetConfigKey,
|
|
61
61
|
updateConfig
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-GL74QTTV.js";
|
|
63
63
|
import "./chunk-QP3KNC5D.js";
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
66
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-KOJN4WTN.js";
|
|
65
|
+
import "./chunk-LWX2PCM6.js";
|
|
66
|
+
import "./chunk-RKLCY7YU.js";
|
|
67
67
|
import {
|
|
68
68
|
errorObject,
|
|
69
69
|
recognisable
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-4Y33E3U3.js";
|
|
71
71
|
import {
|
|
72
72
|
AGENT_INPUT_MAX_CHARS,
|
|
73
73
|
DISCOVERY_DESCRIPTIONS,
|
|
@@ -106,32 +106,32 @@ import {
|
|
|
106
106
|
tasksCommand,
|
|
107
107
|
tasksStatsCommand,
|
|
108
108
|
withSqliteSidecars
|
|
109
|
-
} from "./chunk-
|
|
110
|
-
import "./chunk-
|
|
111
|
-
import "./chunk-
|
|
109
|
+
} from "./chunk-2LAJDBWZ.js";
|
|
110
|
+
import "./chunk-GO73V5BC.js";
|
|
111
|
+
import "./chunk-KV35JTWA.js";
|
|
112
112
|
import {
|
|
113
113
|
allHitItem,
|
|
114
114
|
coverageGaps,
|
|
115
115
|
messageHitItem,
|
|
116
116
|
noteHitItem,
|
|
117
117
|
shownOf
|
|
118
|
-
} from "./chunk-
|
|
119
|
-
import "./chunk-
|
|
118
|
+
} from "./chunk-DNXPQGFB.js";
|
|
119
|
+
import "./chunk-WDVYPHNV.js";
|
|
120
120
|
import {
|
|
121
121
|
REASONS as REASONS2,
|
|
122
122
|
SKILL_TARGETS,
|
|
123
123
|
skillCommand,
|
|
124
124
|
skillPath,
|
|
125
125
|
skillVersion
|
|
126
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-QWP6RJFR.js";
|
|
127
127
|
import {
|
|
128
128
|
recoveryNotes,
|
|
129
129
|
storeInfo,
|
|
130
130
|
storeRecoveryCheck,
|
|
131
131
|
storeRecoveryRun,
|
|
132
132
|
storeSummary
|
|
133
|
-
} from "./chunk-
|
|
134
|
-
import "./chunk-
|
|
133
|
+
} from "./chunk-DVVS2API.js";
|
|
134
|
+
import "./chunk-ZAOFHRBL.js";
|
|
135
135
|
import {
|
|
136
136
|
LIST_QUERY_GUIDE,
|
|
137
137
|
STATUS_SIGNALS,
|
|
@@ -189,18 +189,18 @@ import {
|
|
|
189
189
|
termField,
|
|
190
190
|
typedQuery,
|
|
191
191
|
withQuery
|
|
192
|
-
} from "./chunk-
|
|
192
|
+
} from "./chunk-B3ZXE2IH.js";
|
|
193
193
|
import {
|
|
194
194
|
readBoundedUtf8File,
|
|
195
195
|
writeFileAtomic
|
|
196
|
-
} from "./chunk-
|
|
196
|
+
} from "./chunk-WCRWS2W7.js";
|
|
197
197
|
import {
|
|
198
198
|
commandsText,
|
|
199
199
|
inSection,
|
|
200
200
|
installHelp
|
|
201
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-HUJ666OW.js";
|
|
202
202
|
import "./chunk-HTQTIKWP.js";
|
|
203
|
-
import "./chunk-
|
|
203
|
+
import "./chunk-M643YQVP.js";
|
|
204
204
|
import {
|
|
205
205
|
Command,
|
|
206
206
|
DEFAULT_TEXT_MODEL,
|
|
@@ -237,23 +237,23 @@ import {
|
|
|
237
237
|
snakeKeys,
|
|
238
238
|
textModels,
|
|
239
239
|
textModelsFile
|
|
240
|
-
} from "./chunk-
|
|
241
|
-
import "./chunk-
|
|
242
|
-
import "./chunk-
|
|
240
|
+
} from "./chunk-DAA52TDI.js";
|
|
241
|
+
import "./chunk-HHDZIBBO.js";
|
|
242
|
+
import "./chunk-LDPNN4ED.js";
|
|
243
243
|
import {
|
|
244
244
|
isNewer
|
|
245
|
-
} from "./chunk-
|
|
246
|
-
import "./chunk-
|
|
247
|
-
import "./chunk-
|
|
248
|
-
import "./chunk-
|
|
249
|
-
import "./chunk-
|
|
250
|
-
import "./chunk-
|
|
245
|
+
} from "./chunk-4U2IONIS.js";
|
|
246
|
+
import "./chunk-L62FWN3Y.js";
|
|
247
|
+
import "./chunk-7NV2IUIC.js";
|
|
248
|
+
import "./chunk-22XVNJQP.js";
|
|
249
|
+
import "./chunk-EI5IEOXD.js";
|
|
250
|
+
import "./chunk-I4EUGFS7.js";
|
|
251
251
|
import {
|
|
252
252
|
releaseLock,
|
|
253
253
|
servingProfiles,
|
|
254
254
|
takeLock
|
|
255
|
-
} from "./chunk-
|
|
256
|
-
import "./chunk-
|
|
255
|
+
} from "./chunk-M76ZJSPA.js";
|
|
256
|
+
import "./chunk-OO6SA2FM.js";
|
|
257
257
|
import {
|
|
258
258
|
EVIDENCE_FINDINGS_KIND,
|
|
259
259
|
MAIL_FINDINGS_KIND,
|
|
@@ -292,7 +292,7 @@ import {
|
|
|
292
292
|
plainQuery,
|
|
293
293
|
providerNamed,
|
|
294
294
|
refLabel
|
|
295
|
-
} from "./chunk-
|
|
295
|
+
} from "./chunk-CRRBBPJK.js";
|
|
296
296
|
import {
|
|
297
297
|
CATALOG_KINDS,
|
|
298
298
|
CONTRACT_KINDS,
|
|
@@ -340,21 +340,21 @@ import {
|
|
|
340
340
|
timezoneOf,
|
|
341
341
|
validateQuery,
|
|
342
342
|
walkQuery
|
|
343
|
-
} from "./chunk-
|
|
344
|
-
import "./chunk-
|
|
345
|
-
import "./chunk-
|
|
346
|
-
import "./chunk-
|
|
347
|
-
import "./chunk-
|
|
348
|
-
import "./chunk-
|
|
349
|
-
import "./chunk-
|
|
350
|
-
import "./chunk-
|
|
351
|
-
import "./chunk-
|
|
343
|
+
} from "./chunk-BF4SX6DP.js";
|
|
344
|
+
import "./chunk-KU4TU5XZ.js";
|
|
345
|
+
import "./chunk-IDBN5CTG.js";
|
|
346
|
+
import "./chunk-XZBVXJWY.js";
|
|
347
|
+
import "./chunk-MEPRCROV.js";
|
|
348
|
+
import "./chunk-R4LVHS2N.js";
|
|
349
|
+
import "./chunk-XFZESHD3.js";
|
|
350
|
+
import "./chunk-LRQD4RJN.js";
|
|
351
|
+
import "./chunk-JSFC6TRN.js";
|
|
352
352
|
import {
|
|
353
353
|
sharedModelsDirectory
|
|
354
|
-
} from "./chunk-
|
|
354
|
+
} from "./chunk-CUC7KGX4.js";
|
|
355
355
|
import {
|
|
356
356
|
storePath
|
|
357
|
-
} from "./chunk-
|
|
357
|
+
} from "./chunk-XMGUKW6Y.js";
|
|
358
358
|
import {
|
|
359
359
|
provideTerminal,
|
|
360
360
|
terminalOf
|
|
@@ -364,12 +364,12 @@ import {
|
|
|
364
364
|
REASONS,
|
|
365
365
|
STORE_CLIENT,
|
|
366
366
|
VERSION
|
|
367
|
-
} from "./chunk-
|
|
368
|
-
import "./chunk-
|
|
369
|
-
import "./chunk-
|
|
367
|
+
} from "./chunk-HB7WN6MX.js";
|
|
368
|
+
import "./chunk-DSU6UR2X.js";
|
|
369
|
+
import "./chunk-SYWHHQMC.js";
|
|
370
370
|
import "./chunk-D72URWJE.js";
|
|
371
|
-
import "./chunk-
|
|
372
|
-
import "./chunk-
|
|
371
|
+
import "./chunk-ADDDSIRN.js";
|
|
372
|
+
import "./chunk-2QIM6246.js";
|
|
373
373
|
import {
|
|
374
374
|
configFilePath,
|
|
375
375
|
createDeadline,
|
|
@@ -380,7 +380,7 @@ import {
|
|
|
380
380
|
projectFields,
|
|
381
381
|
readBatchInput,
|
|
382
382
|
resolvePaths
|
|
383
|
-
} from "./chunk-
|
|
383
|
+
} from "./chunk-OZBL624P.js";
|
|
384
384
|
import {
|
|
385
385
|
MAX_NEXT_STEPS,
|
|
386
386
|
array,
|
|
@@ -402,14 +402,14 @@ import {
|
|
|
402
402
|
trim,
|
|
403
403
|
union,
|
|
404
404
|
unknown
|
|
405
|
-
} from "./chunk-
|
|
405
|
+
} from "./chunk-HE2F4JII.js";
|
|
406
406
|
import "./chunk-Y5E2WNWB.js";
|
|
407
407
|
import {
|
|
408
408
|
CliError,
|
|
409
409
|
errorCodes,
|
|
410
410
|
isCliError
|
|
411
|
-
} from "./chunk-
|
|
412
|
-
import "./chunk-
|
|
411
|
+
} from "./chunk-ZTONSM5X.js";
|
|
412
|
+
import "./chunk-75MWX5PK.js";
|
|
413
413
|
import {
|
|
414
414
|
__name
|
|
415
415
|
} from "./chunk-ZVVMGPBJ.js";
|
|
@@ -696,7 +696,7 @@ var readScope = /* @__PURE__ */ __name((command, help = ONE_ACCOUNT_HELP) => sou
|
|
|
696
696
|
var writeScope = /* @__PURE__ */ __name((command, help) => writeOptions(command, help).option("--json", "print JSON; --json=id,title keeps only those fields"), "writeScope");
|
|
697
697
|
var jsonOption = /* @__PURE__ */ __name((command, fields = "ref,title") => command.option("--json", `print JSON; --json=${fields} keeps only those fields`), "jsonOption");
|
|
698
698
|
|
|
699
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
699
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/mail/sender-scores.js
|
|
700
700
|
var SCORED = "mail_sender_scores";
|
|
701
701
|
var DAY = 864e5;
|
|
702
702
|
var RECENT = 2 * 365 * DAY;
|
|
@@ -712,7 +712,7 @@ var demotedSenders = /* @__PURE__ */ __name(async (store) => {
|
|
|
712
712
|
return senders;
|
|
713
713
|
}, "demotedSenders");
|
|
714
714
|
|
|
715
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
715
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/mail/sync.js
|
|
716
716
|
var DAY2 = 864e5;
|
|
717
717
|
var EDGE = 2 * DAY2;
|
|
718
718
|
|
|
@@ -1981,7 +1981,7 @@ import { createHash } from "node:crypto";
|
|
|
1981
1981
|
import { existsSync, readFileSync as readFileSync2, statSync } from "node:fs";
|
|
1982
1982
|
import { basename, extname, relative, sep } from "node:path";
|
|
1983
1983
|
|
|
1984
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
1984
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/services/documents/extraction.js
|
|
1985
1985
|
var Proposal = object({
|
|
1986
1986
|
kind: picklist(["summary", "digest", "fact", "preference"]),
|
|
1987
1987
|
body: pipe(string(), trim(), minLength(1), maxLength(15e3)),
|
|
@@ -1989,10 +1989,10 @@ var Proposal = object({
|
|
|
1989
1989
|
});
|
|
1990
1990
|
var Proposals = object({ items: pipe(array(Proposal), maxLength(20)) });
|
|
1991
1991
|
|
|
1992
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
1992
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/services/documents/mirrors.js
|
|
1993
1993
|
var ID = pipe(string(), regex(/^[A-Za-z0-9_-]{1,200}$/));
|
|
1994
1994
|
|
|
1995
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
1995
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/services/documents/sync.js
|
|
1996
1996
|
var MAX_PICTURE_BYTES = 25 * 1024 * 1024;
|
|
1997
1997
|
|
|
1998
1998
|
// dist/notes/dates.js
|
|
@@ -4321,7 +4321,7 @@ var doctorCommand = /* @__PURE__ */ __name((...args) => {
|
|
|
4321
4321
|
}, SHELL_OVERRIDES.doctor);
|
|
4322
4322
|
}, "doctorCommand");
|
|
4323
4323
|
|
|
4324
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
4324
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/calendar/sync.js
|
|
4325
4325
|
var DAY3 = 864e5;
|
|
4326
4326
|
var SLOTS_EVERY = 7 * DAY3;
|
|
4327
4327
|
var isWindow = /* @__PURE__ */ __name((value) => typeof value?.from === "number" && typeof value.to === "number", "isWindow");
|
|
@@ -4401,10 +4401,10 @@ var calendarStatus = /* @__PURE__ */ __name(async (store, accountId, { profile,
|
|
|
4401
4401
|
return { items, page: 1, limit: Math.max(1, items.length), hasMore: false };
|
|
4402
4402
|
}, "calendarStatus");
|
|
4403
4403
|
|
|
4404
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
4404
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/calendar/feeds.js
|
|
4405
4405
|
var FEED_LIMITS = { maxBytes: 10 * 1024 * 1024, timeoutMs: 3e4, redirects: 5 };
|
|
4406
4406
|
|
|
4407
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
4407
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/calendar/reads.js
|
|
4408
4408
|
var LIST = "events list";
|
|
4409
4409
|
var EVENT_TYPES = [
|
|
4410
4410
|
"default",
|
|
@@ -4481,7 +4481,7 @@ var accountsMeta = /* @__PURE__ */ __name(async (store, accounts, skipped, now)
|
|
|
4481
4481
|
};
|
|
4482
4482
|
}, "accountsMeta");
|
|
4483
4483
|
|
|
4484
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.
|
|
4484
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.613.0_@wirecat+cli-base@0.91.0_commander@15.0.0_esbuild@0.28.2_type_4e56005b613f8e91d34ec4e9dbb41bec/node_modules/@wirecat/cli-core/dist/calendar/writer.js
|
|
4485
4485
|
var EVENTS_NOTIFY_KEY = "events.notify";
|
|
4486
4486
|
var EVENTS_DELETE_SERIES_KEY = "events.delete.series";
|
|
4487
4487
|
var EVENTS_REMIND_HOOK_KEY = "events.remind.hook";
|
|
@@ -4950,7 +4950,7 @@ var EXAMPLES = {
|
|
|
4950
4950
|
"records import": [
|
|
4951
4951
|
"memo records import payments.jsonl --account rentals --dry-run",
|
|
4952
4952
|
"memo records import envelope.json --account rentals --json",
|
|
4953
|
-
"memo records import contacts.vcf --account phone:pixel"
|
|
4953
|
+
"memo records import contacts.vcf --account phone:pixel --region gb"
|
|
4954
4954
|
],
|
|
4955
4955
|
"records check": ["memo records check - --account rentals"],
|
|
4956
4956
|
"records list": [
|
|
@@ -4997,12 +4997,12 @@ var EXAMPLES = {
|
|
|
4997
4997
|
],
|
|
4998
4998
|
"subscriptions show": ["memo subscriptions show subscription:5"],
|
|
4999
4999
|
"subscriptions add": [
|
|
5000
|
-
"memo subscriptions add Hosting 990.00 RUB --kind payable --supplier organization:3 --
|
|
5001
|
-
"memo subscriptions add 'Bike rental' 10000.00 RUB --kind receivable --customer organization:3 --
|
|
5000
|
+
"memo subscriptions add Hosting 990.00 RUB --kind payable --supplier organization:3 --period 1-month --start-date 2026-11-01",
|
|
5001
|
+
"memo subscriptions add 'Bike rental' 10000.00 RUB --kind receivable --customer organization:3 --period 1-month --trial-end-date 2026-11-14 --status trial"
|
|
5002
5002
|
],
|
|
5003
5003
|
"subscriptions update": [
|
|
5004
5004
|
"memo subscriptions update subscription:5 --status paused",
|
|
5005
|
-
"memo subscriptions update subscription:5 --
|
|
5005
|
+
"memo subscriptions update subscription:5 --period 1-year"
|
|
5006
5006
|
],
|
|
5007
5007
|
"subscriptions cancel": ["memo subscriptions cancel subscription:5 --occurred-time 2026-11-30"],
|
|
5008
5008
|
"subscriptions prices add": ["memo subscriptions prices add subscription:5 1190.00 RUB --start-date 2027-01-01"],
|
|
@@ -6094,14 +6094,14 @@ var listSubscriptions = /* @__PURE__ */ __name(async (store, words, limit) => {
|
|
|
6094
6094
|
});
|
|
6095
6095
|
return pageOf("subscriptions list", limit, (most) => store.subscriptions.list({ ...filter, limit: most }));
|
|
6096
6096
|
}, "listSubscriptions");
|
|
6097
|
-
var parts = /* @__PURE__ */ __name((command) => command.option("--status <state>", `${SUBSCRIPTION_STATUSES.join(", ")}; trial needs --trial-end-date`).option("--supplier <party>", "who supplies it: person:<uid> or organization:<id>; you, when you bill it").option("--customer <party>", "who receives it and pays for it: person:<uid> or organization:<id>; you, when you pay").option("--product <product>", "the product or service it is for: product:<id>").option("--contract <contract>", "the contract it runs under: contract:<id>").option("--
|
|
6097
|
+
var parts = /* @__PURE__ */ __name((command) => command.option("--status <state>", `${SUBSCRIPTION_STATUSES.join(", ")}; trial needs --trial-end-date`).option("--supplier <party>", "who supplies it: person:<uid> or organization:<id>; you, when you bill it").option("--customer <party>", "who receives it and pays for it: person:<uid> or organization:<id>; you, when you pay").option("--product <product>", "the product or service it is for: product:<id>").option("--contract <contract>", "the contract it runs under: contract:<id>").option("--period <count-unit>", "how often it is charged: a count and a unit, such as 1-month or 1-year").option("--start-date <date>", "the first day it runs, YYYY-MM-DD").option("--trial-end-date <date>", "the day its free trial ends, YYYY-MM-DD"), "parts");
|
|
6098
6098
|
var fieldsOf3 = /* @__PURE__ */ __name((options) => given({
|
|
6099
6099
|
status: optionalChoice(options.status, SUBSCRIPTION_STATUSES, "--status"),
|
|
6100
6100
|
supplier: options.supplier,
|
|
6101
6101
|
customer: options.customer,
|
|
6102
6102
|
product: options.product,
|
|
6103
6103
|
contract: options.contract,
|
|
6104
|
-
every: options.
|
|
6104
|
+
every: options.period,
|
|
6105
6105
|
startDate: dayOf(options.startDate),
|
|
6106
6106
|
trialEndDate: dayOf(options.trialEndDate),
|
|
6107
6107
|
endDate: dayOf(options.endDate)
|
|
@@ -6127,7 +6127,7 @@ var subscriptionCommands = /* @__PURE__ */ __name((program, streams, env) => {
|
|
|
6127
6127
|
...fieldsOf3(options),
|
|
6128
6128
|
name: name2,
|
|
6129
6129
|
direction: choice(options.kind, INVOICE_DIRECTIONS, "--kind"),
|
|
6130
|
-
every: needed(options.
|
|
6130
|
+
every: needed(options.period, "--period", "how often it is charged, such as 1-month"),
|
|
6131
6131
|
startDate,
|
|
6132
6132
|
prices: [{ amount: amount2, currency, effectiveFrom: startDate }]
|
|
6133
6133
|
}));
|
|
@@ -7966,10 +7966,10 @@ var mcpCommandDefinition = /* @__PURE__ */ __name((program, streams, env, create
|
|
|
7966
7966
|
}).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) => {
|
|
7967
7967
|
if (!options.http && (options.port !== void 0 || options.publicUrl !== void 0))
|
|
7968
7968
|
throw new CliError("validation_error", "--port and --public-url require --http");
|
|
7969
|
-
const { createMemoServer } = await import("./server-
|
|
7969
|
+
const { createMemoServer } = await import("./server-B3F54YWL.js");
|
|
7970
7970
|
const build = /* @__PURE__ */ __name(() => createMemoServer(env, createProgram2, options.permission), "build");
|
|
7971
7971
|
if (options.http) {
|
|
7972
|
-
const { httpLockFile, mcpUrlOf, portOf, publicUrlOf, serveOverHttp } = await import("./mcp-
|
|
7972
|
+
const { httpLockFile, mcpUrlOf, portOf, publicUrlOf, serveOverHttp } = await import("./mcp-QXTOJORS.js");
|
|
7973
7973
|
const publicUrl = publicUrlOf(options.publicUrl, {
|
|
7974
7974
|
missing: "--http",
|
|
7975
7975
|
reaches: "the browser apps reach memo",
|
|
@@ -8021,7 +8021,7 @@ var mcpCommandDefinition = /* @__PURE__ */ __name((program, streams, env, create
|
|
|
8021
8021
|
});
|
|
8022
8022
|
});
|
|
8023
8023
|
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() {
|
|
8024
|
-
const { revokeAll } = await import("./mcp-
|
|
8024
|
+
const { revokeAll } = await import("./mcp-QXTOJORS.js");
|
|
8025
8025
|
revokeAll(httpTokenFile(env));
|
|
8026
8026
|
out.print(this.opts().json, itemAnswer({ revoked: true }));
|
|
8027
8027
|
});
|
|
@@ -8927,7 +8927,7 @@ var deviceOf = /* @__PURE__ */ __name((given2) => {
|
|
|
8927
8927
|
});
|
|
8928
8928
|
return given2.slice(at + 1);
|
|
8929
8929
|
}, "deviceOf");
|
|
8930
|
-
var importRecords = /* @__PURE__ */ __name(async (store, { file, stdin, account: account2, dryRun, onIssue }) => {
|
|
8930
|
+
var importRecords = /* @__PURE__ */ __name(async (store, { file, stdin, account: account2, dryRun, onIssue, region }) => {
|
|
8931
8931
|
const iterator = (await linesOf(file, stdin))[Symbol.asyncIterator]();
|
|
8932
8932
|
const before = [];
|
|
8933
8933
|
let next = await iterator.next();
|
|
@@ -8955,10 +8955,22 @@ var importRecords = /* @__PURE__ */ __name(async (store, { file, stdin, account:
|
|
|
8955
8955
|
provider: PHONE,
|
|
8956
8956
|
batchId: `vcard-${(/* @__PURE__ */ new Date()).toISOString()}`,
|
|
8957
8957
|
dryRun,
|
|
8958
|
-
onIssue
|
|
8959
|
-
|
|
8958
|
+
onIssue,
|
|
8959
|
+
// cli-core checks the code against its phone plans; its list is lower case.
|
|
8960
|
+
...region === void 0 ? {} : { region: region.trim().toLowerCase() }
|
|
8961
|
+
});
|
|
8962
|
+
const badRegion = receipt.errors.find((one2) => one2.pointer === "/options/phone_region");
|
|
8963
|
+
if (badRegion)
|
|
8964
|
+
throw new CliError("validation_error", badRegion.message.replace("options.phone_region", "--region"), {
|
|
8965
|
+
param: "--region",
|
|
8966
|
+
reason: badRegion.code
|
|
8967
|
+
});
|
|
8960
8968
|
return { ...receipt, vcard: vcard.map((one2) => ({ ...one2, card: one2.card + 1 })) };
|
|
8961
8969
|
}
|
|
8970
|
+
if (region !== void 0)
|
|
8971
|
+
throw new CliError("validation_error", "--region is for a vCard file; an envelope names options.phone_region", {
|
|
8972
|
+
param: "--region"
|
|
8973
|
+
});
|
|
8962
8974
|
const header = headerOf(first);
|
|
8963
8975
|
if (header !== void 0) {
|
|
8964
8976
|
async function* all() {
|
|
@@ -9114,7 +9126,7 @@ var recordsCommand = /* @__PURE__ */ __name((program, streams, env) => {
|
|
|
9114
9126
|
const answered = answers(program, streams, env);
|
|
9115
9127
|
const { print } = answered;
|
|
9116
9128
|
const records = program.command("records").description("what a source said, kept per account; what it says about money waits for your review").summary("what a source said, kept per account");
|
|
9117
|
-
const importing = /* @__PURE__ */ __name((command, dryRun) => command.argument("<file>", "a records envelope as JSON, JSONL (a header line, then a record per line, read as it streams) or a vCard address book (.vcf, into phone:<device>); - for stdin").option("--account <account>", "the source the envelope is for: <provider>:<account> (sheet:rentals) or its source.account alone; phone:<device> for a vCard file").option("--json", "print JSON; --json=created,errors keeps only those fields").action(async (file, given2) => {
|
|
9129
|
+
const importing = /* @__PURE__ */ __name((command, dryRun) => command.argument("<file>", "a records envelope as JSON, JSONL (a header line, then a record per line, read as it streams) or a vCard address book (.vcf, into phone:<device>); - for stdin").option("--account <account>", "the source the envelope is for: <provider>:<account> (sheet:rentals) or its source.account alone; phone:<device> for a vCard file").option("--region <country>", "a vCard file's country for phone numbers without +, such as ru or gb; without it they are kept, not matched").option("--json", "print JSON; --json=created,errors keeps only those fields").action(async (file, given2) => {
|
|
9118
9130
|
const account2 = given2.account?.trim();
|
|
9119
9131
|
if (!account2)
|
|
9120
9132
|
throw new CliError("validation_error", "name the source account the envelope is for: --account <account>", {
|
|
@@ -9126,7 +9138,8 @@ var recordsCommand = /* @__PURE__ */ __name((program, streams, env) => {
|
|
|
9126
9138
|
account: account2,
|
|
9127
9139
|
dryRun: dryRun ?? given2.dryRun === true,
|
|
9128
9140
|
onIssue: /* @__PURE__ */ __name((issue) => streams.diagnostic(`${refusedLine(issue)}
|
|
9129
|
-
`), "onIssue")
|
|
9141
|
+
`), "onIssue"),
|
|
9142
|
+
...given2.region === void 0 ? {} : { region: given2.region }
|
|
9130
9143
|
}));
|
|
9131
9144
|
const issues = receipt.errors.map((one2) => ({
|
|
9132
9145
|
code: "validation_error",
|
|
@@ -9205,25 +9218,38 @@ var schedulesOf = /* @__PURE__ */ __name((state) => {
|
|
|
9205
9218
|
}
|
|
9206
9219
|
});
|
|
9207
9220
|
}, "schedulesOf");
|
|
9208
|
-
var
|
|
9221
|
+
var signedIn = /* @__PURE__ */ __name((dir) => existsSync6(dir) ? readdirSync4(dir).filter((name2) => name2.endsWith(".json")).map((name2) => name2.slice(0, -".json".length)) : [], "signedIn");
|
|
9222
|
+
var profilesOf = /* @__PURE__ */ __name((provider, tool, env) => {
|
|
9223
|
+
if (provider !== "email")
|
|
9224
|
+
return new Map(signedIn(join9(stateDirs(tool, env).state, "accounts")).map((profile) => [
|
|
9225
|
+
profile,
|
|
9226
|
+
signedInAccount(tool, profile, env)
|
|
9227
|
+
]));
|
|
9209
9228
|
try {
|
|
9210
9229
|
const config = JSON.parse(readFileSync8(configFilePath(stateDirs(MAIL2, env).config), "utf8"));
|
|
9211
|
-
return config?.profiles
|
|
9230
|
+
return new Map(Object.entries(config?.profiles ?? {}).map(([profile, one2]) => [
|
|
9231
|
+
profile,
|
|
9232
|
+
one2?.address
|
|
9233
|
+
]));
|
|
9212
9234
|
} catch {
|
|
9213
|
-
return
|
|
9235
|
+
return /* @__PURE__ */ new Map();
|
|
9214
9236
|
}
|
|
9215
|
-
}, "
|
|
9216
|
-
var
|
|
9237
|
+
}, "profilesOf");
|
|
9238
|
+
var profileRun = /* @__PURE__ */ __name((schedule, tool, profiles) => {
|
|
9239
|
+
const first = schedule.argv[0];
|
|
9240
|
+
return first !== void 0 && profiles.has(first) ? first : schedule.environment[`${tool.envPrefix}_PROFILE`] ?? "default";
|
|
9241
|
+
}, "profileRun");
|
|
9217
9242
|
var syncRunsOf = /* @__PURE__ */ __name((env) => {
|
|
9218
9243
|
const cache = /* @__PURE__ */ new Map();
|
|
9219
|
-
const read = /* @__PURE__ */ __name((tool) => {
|
|
9244
|
+
const read = /* @__PURE__ */ __name((provider, tool) => {
|
|
9220
9245
|
const known2 = cache.get(tool.appName);
|
|
9221
9246
|
if (known2)
|
|
9222
9247
|
return known2;
|
|
9223
9248
|
const app = { ...APP, appName: tool.appName, envPrefix: tool.envPrefix };
|
|
9224
9249
|
const fresh = {
|
|
9225
9250
|
schedules: schedulesOf(stateDirs(tool, env).state).filter((one2) => one2.kind === "command" && one2.argv.includes("sync")),
|
|
9226
|
-
serving: servingProfiles(app, env)
|
|
9251
|
+
serving: servingProfiles(app, env),
|
|
9252
|
+
profiles: profilesOf(provider, tool, env)
|
|
9227
9253
|
};
|
|
9228
9254
|
cache.set(tool.appName, fresh);
|
|
9229
9255
|
return fresh;
|
|
@@ -9231,13 +9257,15 @@ var syncRunsOf = /* @__PURE__ */ __name((env) => {
|
|
|
9231
9257
|
return (key) => {
|
|
9232
9258
|
const tool = toolOf(key.provider);
|
|
9233
9259
|
if (!tool)
|
|
9234
|
-
return { runs: [], scheduled: false, serving: false };
|
|
9235
|
-
const { schedules, serving } = read(tool);
|
|
9236
|
-
const mine =
|
|
9260
|
+
return { runs: [], scheduled: false, serving: false, known: false };
|
|
9261
|
+
const { schedules, serving, profiles } = read(key.provider, tool);
|
|
9262
|
+
const mine = new Set([...profiles].filter(([, account2]) => account2 === key.account).map(([profile]) => profile));
|
|
9263
|
+
const runs = schedules.filter((one2) => mine.has(profileRun(one2, tool, profiles)));
|
|
9237
9264
|
return {
|
|
9238
|
-
runs:
|
|
9239
|
-
scheduled:
|
|
9240
|
-
serving: serving.some((profile) =>
|
|
9265
|
+
runs: runs.flatMap((one2) => one2.last ? [one2.last] : []),
|
|
9266
|
+
scheduled: runs.length > 0,
|
|
9267
|
+
serving: serving.some((profile) => mine.has(profile)),
|
|
9268
|
+
known: mine.size > 0
|
|
9241
9269
|
};
|
|
9242
9270
|
};
|
|
9243
9271
|
}, "syncRunsOf");
|
|
@@ -9247,6 +9275,9 @@ var QUIET_AFTER = 3 * DAY5;
|
|
|
9247
9275
|
var QUIET_GAPS = 3;
|
|
9248
9276
|
var hours = /* @__PURE__ */ __name((from, now) => Math.max(0, Math.floor((now - from) / HOUR)), "hours");
|
|
9249
9277
|
var healthOf = /* @__PURE__ */ __name((sync, activity, now) => {
|
|
9278
|
+
const recent = /* @__PURE__ */ __name((at) => at !== null && at >= now - DAY5, "recent");
|
|
9279
|
+
if (recent(activity.storedAt) || sync.runs.some((run) => run.exitCode === 0 && recent(Date.parse(run.at))))
|
|
9280
|
+
return void 0;
|
|
9250
9281
|
if (!sync.serving && sync.runs.length > 0 && sync.runs.every((run) => run.exitCode !== 0)) {
|
|
9251
9282
|
const first = [...sync.runs].sort((a, b) => (a.failingSince ?? a.at).localeCompare(b.failingSince ?? b.at))[0];
|
|
9252
9283
|
const since = first?.failingSince ?? first?.at ?? new Date(now).toISOString();
|
|
@@ -9257,12 +9288,12 @@ var healthOf = /* @__PURE__ */ __name((sync, activity, now) => {
|
|
|
9257
9288
|
...first?.reason ? { failure: first.reason } : {}
|
|
9258
9289
|
};
|
|
9259
9290
|
}
|
|
9260
|
-
if (!sync.scheduled && !sync.serving)
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9264
|
-
|
|
9265
|
-
|
|
9291
|
+
if (!sync.scheduled && !sync.serving) {
|
|
9292
|
+
if (!sync.known)
|
|
9293
|
+
return void 0;
|
|
9294
|
+
const last = activity.newest ?? activity.storedAt;
|
|
9295
|
+
return { reason: "no-schedule", since: null, staleHours: last === null ? 0 : hours(last, now) };
|
|
9296
|
+
}
|
|
9266
9297
|
if (activity.newest === null || activity.moved30d === 0)
|
|
9267
9298
|
return void 0;
|
|
9268
9299
|
const usual = Math.max(QUIET_AFTER, QUIET_GAPS * 30 * DAY5 / activity.moved30d);
|
|
@@ -9504,11 +9535,13 @@ var gatherTasks = /* @__PURE__ */ __name(async (store, keys, { now, newSince })
|
|
|
9504
9535
|
accounts++;
|
|
9505
9536
|
for (const task of projects)
|
|
9506
9537
|
seen.set(task.id, task);
|
|
9507
|
-
const counts = { overdue: 0, today: 0, tomorrow: 0, new: 0, newSince };
|
|
9538
|
+
const counts = { overdue: 0, today: 0, tomorrow: 0, new: 0, newSince, undated: 0 };
|
|
9508
9539
|
const tasks = [];
|
|
9509
9540
|
for (const task of seen.values()) {
|
|
9510
9541
|
const groups = [];
|
|
9511
9542
|
const due = task.dueAt === null ? null : day2(Date.parse(task.dueAt));
|
|
9543
|
+
if (due === null)
|
|
9544
|
+
counts.undated++;
|
|
9512
9545
|
if (due !== null && due < today2)
|
|
9513
9546
|
groups.push("overdue");
|
|
9514
9547
|
if (due === today2)
|
|
@@ -9679,7 +9712,8 @@ var gatherDigest = /* @__PURE__ */ __name(async (store, env, { since, now = Date
|
|
|
9679
9712
|
const month = (await store.chats.chatActivity(key, now - 30 * DAY7)).chats;
|
|
9680
9713
|
checkHealth(key, {
|
|
9681
9714
|
newest: month.reduce((most, chat) => Math.max(most ?? 0, Date.parse(chat.lastMessageAt)), null),
|
|
9682
|
-
moved30d: month.length
|
|
9715
|
+
moved30d: month.length,
|
|
9716
|
+
storedAt: storedAt === null ? null : Date.parse(storedAt)
|
|
9683
9717
|
});
|
|
9684
9718
|
const ref = /* @__PURE__ */ __name((chat) => formatReference({ type: "chat", provider: key.provider, account: key.account, chat }), "ref");
|
|
9685
9719
|
chatsMoved += chats.filter((chat) => Date.parse(chat.lastMessageAt) >= since).length;
|
|
@@ -9730,7 +9764,8 @@ var gatherDigest = /* @__PURE__ */ __name(async (store, env, { since, now = Date
|
|
|
9730
9764
|
const newest = threads.reduce((most, thread) => Math.max(most, thread.lastEmailAt), 0);
|
|
9731
9765
|
checkHealth(key, {
|
|
9732
9766
|
newest: newest || null,
|
|
9733
|
-
moved30d: threads.filter((thread) => thread.lastEmailAt >= now - 30 * DAY7).length
|
|
9767
|
+
moved30d: threads.filter((thread) => thread.lastEmailAt >= now - 30 * DAY7).length,
|
|
9768
|
+
storedAt: newest || null
|
|
9734
9769
|
});
|
|
9735
9770
|
mailMoved += threads.filter((thread) => thread.lastEmailAt >= since && thread.newest !== null && personal(thread.newest)).length;
|
|
9736
9771
|
coverage.push({
|
|
@@ -9989,7 +10024,7 @@ var sinceOf = /* @__PURE__ */ __name((value, now = Date.now()) => {
|
|
|
9989
10024
|
return since;
|
|
9990
10025
|
}, "sinceOf");
|
|
9991
10026
|
var reviewAgendaCommand = /* @__PURE__ */ __name((review, print, streams, env) => {
|
|
9992
|
-
annotate(review.command("agenda"), { effects: LOCAL_READ }).summary("the morning digest: watch list, owed replies, mail, meetings, tasks, projects").description(`the morning digest, from the store alone with no model call: everything new in what you tagged ${WATCH_TAG} (chats, mail threads, people, projects, a meeting's series), replies you owe to people in messengers and personal mail (not bots or service chats), new personal mail, meetings that ended, tasks, projects that moved, proposals waiting. Tasks are the open ones created since the last morning-digest run (a day back when none ran) and those overdue, due today or due tomorrow, each with who asked and who does it. Replies owed reach back 7 days; owed mail lists only senders you know (linked to a person with other identities, or written to before), and mail from new senders is one count with the command that lists it. Each item has its reference, who, when, one line of text and why it is there; a section cut by --limit or --max-output-bytes says how many it left out and the command that reads them. \`scope\` says what was read (the window, sources, counts), \`tasks\` counts each task group, and \`health\` names each account whose sync failed, that nothing syncs, or that is quiet for longer than usual, so an unsynced account does not read as a quiet day`).option("--since-time <time>", "how far back: hours or days (12h, 7d) or a start date (2026-11-01)", "1d").option("--limit <n>", "items per section before the size budget", positive, 25).option("--max-output-bytes <bytes>", "the text answer's size budget in bytes; 40000 with --compact, else 80000", positive).option("--compact", "one line per item, shorter excerpts, the smaller budget: for an agent").option("--json", "print JSON").action(async (given2) => {
|
|
10027
|
+
annotate(review.command("agenda"), { effects: LOCAL_READ }).summary("the morning digest: watch list, owed replies, mail, meetings, tasks, projects").description(`the morning digest, from the store alone with no model call: everything new in what you tagged ${WATCH_TAG} (chats, mail threads, people, projects, a meeting's series), replies you owe to people in messengers and personal mail (not bots or service chats), new personal mail, meetings that ended, tasks, projects that moved, proposals waiting. Tasks are the open ones created since the last morning-digest run (a day back when none ran) and those overdue, due today or due tomorrow, each with who asked and who does it. Replies owed reach back 7 days; owed mail lists only senders you know (linked to a person with other identities, or written to before), and mail from new senders is one count with the command that lists it. Each item has its reference, who, when, one line of text and why it is there; a section cut by --limit or --max-output-bytes says how many it left out and the command that reads them. \`scope\` says what was read (the window, sources, counts), \`tasks\` counts each task group and, as \`undated\`, every open task with no due date, and \`health\` names each account whose sync failed, that nothing syncs, or that is quiet for longer than usual, so an unsynced account does not read as a quiet day; an account stored or synced within a day is never named`).option("--since-time <time>", "how far back: hours or days (12h, 7d) or a start date (2026-11-01)", "1d").option("--limit <n>", "items per section before the size budget", positive, 25).option("--max-output-bytes <bytes>", "the text answer's size budget in bytes; 40000 with --compact, else 80000", positive).option("--compact", "one line per item, shorter excerpts, the smaller budget: for an agent").option("--json", "print JSON").action(async (given2) => {
|
|
9993
10028
|
if (given2.compact && given2.json)
|
|
9994
10029
|
throw new CliError("validation_error", "--compact and --json ask for different output \u2014 pick one", {
|
|
9995
10030
|
reason: "output.conflict",
|
|
@@ -3,12 +3,12 @@ const require = __bundleRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
pasteHint,
|
|
5
5
|
readSecret
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-MEPRCROV.js";
|
|
7
|
+
import "./chunk-R4LVHS2N.js";
|
|
8
|
+
import "./chunk-OZBL624P.js";
|
|
9
|
+
import "./chunk-HE2F4JII.js";
|
|
10
10
|
import "./chunk-Y5E2WNWB.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-ZTONSM5X.js";
|
|
12
12
|
import "./chunk-ZVVMGPBJ.js";
|
|
13
13
|
export {
|
|
14
14
|
pasteHint,
|
|
@@ -8,11 +8,11 @@ import {
|
|
|
8
8
|
openRecognizer,
|
|
9
9
|
openSpeechCutter,
|
|
10
10
|
toModelRate
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-RKLCY7YU.js";
|
|
12
|
+
import "./chunk-OZBL624P.js";
|
|
13
|
+
import "./chunk-HE2F4JII.js";
|
|
14
14
|
import "./chunk-Y5E2WNWB.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-ZTONSM5X.js";
|
|
16
16
|
import "./chunk-ZVVMGPBJ.js";
|
|
17
17
|
export {
|
|
18
18
|
SAMPLE_RATE,
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
openRemote,
|
|
9
9
|
remoteKey,
|
|
10
10
|
remoteModel
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-LRQD4RJN.js";
|
|
12
|
+
import "./chunk-JSFC6TRN.js";
|
|
13
|
+
import "./chunk-CUC7KGX4.js";
|
|
14
|
+
import "./chunk-XMGUKW6Y.js";
|
|
15
|
+
import "./chunk-OZBL624P.js";
|
|
16
|
+
import "./chunk-HE2F4JII.js";
|
|
17
17
|
import "./chunk-Y5E2WNWB.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-ZTONSM5X.js";
|
|
19
19
|
import "./chunk-ZVVMGPBJ.js";
|
|
20
20
|
export {
|
|
21
21
|
DEFAULT_OPENAI_MODEL,
|