@aiassesstech/mighty-mark 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/checks/check-context.d.ts +2 -0
- package/dist/checks/check-context.d.ts.map +1 -1
- package/dist/checks/check-context.js.map +1 -1
- package/dist/checks/check-runner.d.ts +1 -1
- package/dist/checks/check-runner.d.ts.map +1 -1
- package/dist/checks/check-runner.js +7 -1
- package/dist/checks/check-runner.js.map +1 -1
- package/dist/checks/memory-health.d.ts +44 -0
- package/dist/checks/memory-health.d.ts.map +1 -0
- package/dist/checks/memory-health.js +389 -0
- package/dist/checks/memory-health.js.map +1 -0
- package/dist/cli/memory-commands.d.ts +22 -0
- package/dist/cli/memory-commands.d.ts.map +1 -0
- package/dist/cli/memory-commands.js +343 -0
- package/dist/cli/memory-commands.js.map +1 -0
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +27 -0
- package/dist/cli/runner.js.map +1 -1
- package/dist/config/fleet-topology.d.ts +3 -0
- package/dist/config/fleet-topology.d.ts.map +1 -1
- package/dist/config/fleet-topology.js +21 -11
- package/dist/config/fleet-topology.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/backfill.d.ts +33 -0
- package/dist/memory/backfill.d.ts.map +1 -0
- package/dist/memory/backfill.js +206 -0
- package/dist/memory/backfill.js.map +1 -0
- package/dist/memory/config.d.ts +56 -0
- package/dist/memory/config.d.ts.map +1 -0
- package/dist/memory/config.js +46 -0
- package/dist/memory/config.js.map +1 -0
- package/dist/memory/organize.d.ts +27 -0
- package/dist/memory/organize.d.ts.map +1 -0
- package/dist/memory/organize.js +108 -0
- package/dist/memory/organize.js.map +1 -0
- package/dist/memory/remediate.d.ts +37 -0
- package/dist/memory/remediate.d.ts.map +1 -0
- package/dist/memory/remediate.js +143 -0
- package/dist/memory/remediate.js.map +1 -0
- package/dist/memory/retention.d.ts +42 -0
- package/dist/memory/retention.d.ts.map +1 -0
- package/dist/memory/retention.js +186 -0
- package/dist/memory/retention.js.map +1 -0
- package/dist/memory/tag.d.ts +26 -0
- package/dist/memory/tag.d.ts.map +1 -0
- package/dist/memory/tag.js +134 -0
- package/dist/memory/tag.js.map +1 -0
- package/dist/memory/writer.d.ts +46 -0
- package/dist/memory/writer.d.ts.map +1 -0
- package/dist/memory/writer.js +115 -0
- package/dist/memory/writer.js.map +1 -0
- package/dist/notify/report-formatter.d.ts.map +1 -1
- package/dist/notify/report-formatter.js +17 -1
- package/dist/notify/report-formatter.js.map +1 -1
- package/dist/plugin.d.ts +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +196 -4
- package/dist/plugin.js.map +1 -1
- package/dist/store/json-store.d.ts +6 -0
- package/dist/store/json-store.d.ts.map +1 -1
- package/dist/store/json-store.js +27 -0
- package/dist/store/json-store.js.map +1 -1
- package/dist/types/fleet.d.ts +7 -0
- package/dist/types/fleet.d.ts.map +1 -1
- package/dist/types/health.d.ts +2 -2
- package/dist/types/health.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI subcommands for `mighty-mark memory <subcommand>`.
|
|
3
|
+
*
|
|
4
|
+
* Subcommands:
|
|
5
|
+
* diagnose — Run all memory health checks and report status
|
|
6
|
+
* configure — Patch openclaw.json with local embedding configuration
|
|
7
|
+
* verify — Confirm memory search is working after configuration
|
|
8
|
+
* status — Show indexing statistics per agent
|
|
9
|
+
* organize — Sort loose memory files into agent subdirectories
|
|
10
|
+
* tag — Add YAML frontmatter to untagged memory files
|
|
11
|
+
* backfill — Generate memory files from existing JSON data stores
|
|
12
|
+
* retention — Enforce file count ceilings and check disk usage
|
|
13
|
+
*/
|
|
14
|
+
import fs from 'node:fs';
|
|
15
|
+
import { loadFleetTopology, getMemoryEnabledAgents } from '../config/fleet-topology.js';
|
|
16
|
+
import { getDefaultMemoryDir } from '../memory/config.js';
|
|
17
|
+
import { patchMemoryConfig, checkNativeBindings, createAgentMemoryDirs } from '../memory/remediate.js';
|
|
18
|
+
import { MemoryWriter } from '../memory/writer.js';
|
|
19
|
+
import { backfillFleet } from '../memory/backfill.js';
|
|
20
|
+
import { organizeMemoryDir } from '../memory/organize.js';
|
|
21
|
+
import { tagMemoryFiles } from '../memory/tag.js';
|
|
22
|
+
import { runMemoryChecks } from '../checks/memory-health.js';
|
|
23
|
+
import { enforceRetention, checkDiskUsage } from '../memory/retention.js';
|
|
24
|
+
export async function cmdMemory(args) {
|
|
25
|
+
switch (args.subcommand) {
|
|
26
|
+
case 'diagnose':
|
|
27
|
+
return cmdDiagnose();
|
|
28
|
+
case 'configure':
|
|
29
|
+
return cmdConfigure();
|
|
30
|
+
case 'verify':
|
|
31
|
+
return cmdVerify();
|
|
32
|
+
case 'status':
|
|
33
|
+
return cmdStatus();
|
|
34
|
+
case 'organize':
|
|
35
|
+
return cmdOrganize(args.dryRun ?? false);
|
|
36
|
+
case 'tag':
|
|
37
|
+
return cmdTag(args.agent, args.dryRun ?? false);
|
|
38
|
+
case 'backfill':
|
|
39
|
+
return cmdBackfill(args.agent, args.since, args.dryRun ?? false);
|
|
40
|
+
case 'retention':
|
|
41
|
+
return cmdRetention(args.dryRun ?? false);
|
|
42
|
+
default:
|
|
43
|
+
printMemoryHelp();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function cmdDiagnose() {
|
|
47
|
+
console.log('Memory Search Diagnostic');
|
|
48
|
+
console.log('========================\n');
|
|
49
|
+
const dataDir = `${process.env.HOME ?? '/root'}/.mark-data`;
|
|
50
|
+
const topology = loadFleetTopology(dataDir);
|
|
51
|
+
const results = await runMemoryChecks(topology);
|
|
52
|
+
for (const r of results) {
|
|
53
|
+
const icon = r.status === 'pass' ? '✓' : r.status === 'warn' ? '⚠' : '✗';
|
|
54
|
+
console.log(` ${r.name.padEnd(25)} ${icon} ${r.message ?? ''}`);
|
|
55
|
+
}
|
|
56
|
+
const memoryDir = getDefaultMemoryDir();
|
|
57
|
+
const enabledAgents = getMemoryEnabledAgents(topology);
|
|
58
|
+
console.log('\nAgent Directories:');
|
|
59
|
+
for (const agent of topology.agents) {
|
|
60
|
+
const enabled = agent.memoryConfig?.enabled === true;
|
|
61
|
+
if (!enabled) {
|
|
62
|
+
console.log(` ${agent.id.padEnd(14)} — (no memory writes configured)`);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
const agentDir = `${memoryDir}/${agent.id}`;
|
|
66
|
+
const count = countFilesRecursive(agentDir);
|
|
67
|
+
const icon = count > 0 ? '✓' : '✗';
|
|
68
|
+
console.log(` ${agent.id.padEnd(14)} ${icon} (${count} files)`);
|
|
69
|
+
}
|
|
70
|
+
const failCount = results.filter(r => r.status === 'fail').length;
|
|
71
|
+
const warnCount = results.filter(r => r.status === 'warn').length;
|
|
72
|
+
console.log('');
|
|
73
|
+
if (failCount === 0 && warnCount === 0) {
|
|
74
|
+
console.log('Memory search is healthy.');
|
|
75
|
+
}
|
|
76
|
+
else if (failCount === 0) {
|
|
77
|
+
console.log(`Memory search operational with ${warnCount} warning(s).`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
console.log(`Memory search has ${failCount} failure(s), ${warnCount} warning(s).`);
|
|
81
|
+
console.log('Run `mighty-mark memory configure` to fix configuration issues.');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async function cmdConfigure() {
|
|
85
|
+
console.log('Memory Upgrade — Configure');
|
|
86
|
+
console.log('==========================');
|
|
87
|
+
const configPath = `${process.env.HOME ?? '/root'}/.clawdbot/openclaw.json`;
|
|
88
|
+
console.log(`Config: ${configPath}`);
|
|
89
|
+
if (fs.existsSync(configPath)) {
|
|
90
|
+
const backupPath = `${configPath}.backup.${formatTimestamp()}`;
|
|
91
|
+
fs.copyFileSync(configPath, backupPath);
|
|
92
|
+
console.log(`Backup: ${backupPath}`);
|
|
93
|
+
}
|
|
94
|
+
console.log('\nApplying memory search configuration...');
|
|
95
|
+
const patchResult = await patchMemoryConfig();
|
|
96
|
+
if (patchResult.success) {
|
|
97
|
+
console.log('Config patched successfully.\n');
|
|
98
|
+
console.log('✓ Memory search configured!\n');
|
|
99
|
+
console.log('What was applied:');
|
|
100
|
+
console.log(' • Provider: local (embeddinggemma-300m, ~328MB, auto-downloads)');
|
|
101
|
+
console.log(' • Hybrid search: BM25 + vector (70/30 weight)');
|
|
102
|
+
console.log(' • Session transcripts: enabled (⚠ experimental — monitor sessions/ dir size)');
|
|
103
|
+
console.log(' • MMR diversity: enabled (λ=0.7)');
|
|
104
|
+
console.log(' • Temporal decay: enabled (30-day half-life)');
|
|
105
|
+
console.log(' • Embedding cache: 50k entries');
|
|
106
|
+
console.log(' • File watcher: enabled');
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.log(`✗ Configuration failed: ${patchResult.message}`);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
console.log('\nPrerequisites verified:');
|
|
113
|
+
const bindings = checkNativeBindings();
|
|
114
|
+
if (bindings) {
|
|
115
|
+
console.log(' ✓ Native bindings (node-llama-cpp) — pnpm approve-builds completed');
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
console.log(' ⚠ Native bindings (node-llama-cpp) — run `pnpm approve-builds` first');
|
|
119
|
+
}
|
|
120
|
+
const dataDir = `${process.env.HOME ?? '/root'}/.mark-data`;
|
|
121
|
+
const topology = loadFleetTopology(dataDir);
|
|
122
|
+
await createAgentMemoryDirs(topology);
|
|
123
|
+
console.log(' ✓ Agent memory directories created');
|
|
124
|
+
console.log('\nNext steps:');
|
|
125
|
+
console.log(' 1. Restart gateway: openclaw gateway restart');
|
|
126
|
+
console.log(' 2. Wait ~30s for embedding model to download (~328MB first time)');
|
|
127
|
+
console.log(' 3. Verify: mighty-mark memory verify');
|
|
128
|
+
}
|
|
129
|
+
async function cmdVerify() {
|
|
130
|
+
console.log('Memory Search — Verify');
|
|
131
|
+
console.log('======================\n');
|
|
132
|
+
const dataDir = `${process.env.HOME ?? '/root'}/.mark-data`;
|
|
133
|
+
const topology = loadFleetTopology(dataDir);
|
|
134
|
+
const results = await runMemoryChecks(topology);
|
|
135
|
+
const providerCheck = results.find(r => r.name.includes('provider'));
|
|
136
|
+
const embeddingCheck = results.find(r => r.name.includes('embedding'));
|
|
137
|
+
const indexCheck = results.find(r => r.name.includes('indexing'));
|
|
138
|
+
const allPass = results.every(r => r.status === 'pass' || r.status === 'warn');
|
|
139
|
+
for (const check of [providerCheck, embeddingCheck, indexCheck]) {
|
|
140
|
+
if (!check)
|
|
141
|
+
continue;
|
|
142
|
+
const icon = check.status === 'pass' ? '✓' : check.status === 'warn' ? '⚠' : '✗';
|
|
143
|
+
console.log(` ${check.name.padEnd(25)} ${icon} ${check.message ?? ''}`);
|
|
144
|
+
}
|
|
145
|
+
console.log('');
|
|
146
|
+
if (allPass) {
|
|
147
|
+
console.log('✓ Memory search is working. Agents can now use memory_search tool.');
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
console.log('✗ Memory search verification failed.');
|
|
151
|
+
console.log(' Run `mighty-mark memory configure` first, then restart the gateway.');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
async function cmdStatus() {
|
|
155
|
+
console.log('Memory Status');
|
|
156
|
+
console.log('=============\n');
|
|
157
|
+
const memoryDir = getDefaultMemoryDir();
|
|
158
|
+
const dataDir = `${process.env.HOME ?? '/root'}/.mark-data`;
|
|
159
|
+
const topology = loadFleetTopology(dataDir);
|
|
160
|
+
if (!fs.existsSync(memoryDir)) {
|
|
161
|
+
console.log(`Memory directory not found: ${memoryDir}`);
|
|
162
|
+
console.log('Run `mighty-mark memory configure` to set up.');
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
let totalFiles = 0;
|
|
166
|
+
for (const agent of topology.agents) {
|
|
167
|
+
const agentDir = `${memoryDir}/${agent.id}`;
|
|
168
|
+
const enabled = agent.memoryConfig?.enabled === true;
|
|
169
|
+
if (!enabled) {
|
|
170
|
+
console.log(` ${agent.id.padEnd(14)} disabled`);
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
if (!fs.existsSync(agentDir)) {
|
|
174
|
+
console.log(` ${agent.id.padEnd(14)} no directory`);
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
const subdirs = agent.memoryConfig?.subdirs ?? [];
|
|
178
|
+
let agentTotal = 0;
|
|
179
|
+
const subdirCounts = [];
|
|
180
|
+
for (const sub of subdirs) {
|
|
181
|
+
const subPath = `${agentDir}/${sub}`;
|
|
182
|
+
const count = countFilesRecursive(subPath);
|
|
183
|
+
agentTotal += count;
|
|
184
|
+
if (count > 0)
|
|
185
|
+
subdirCounts.push(`${sub}: ${count}`);
|
|
186
|
+
}
|
|
187
|
+
const loose = countFilesRecursive(agentDir) - agentTotal;
|
|
188
|
+
if (loose > 0)
|
|
189
|
+
subdirCounts.push(`unsorted: ${loose}`);
|
|
190
|
+
totalFiles += agentTotal + Math.max(0, loose);
|
|
191
|
+
console.log(` ${agent.id.padEnd(14)} ${agentTotal + Math.max(0, loose)} files (${subdirCounts.join(', ') || 'empty'})`);
|
|
192
|
+
}
|
|
193
|
+
console.log(`\n Total: ${totalFiles} memory files`);
|
|
194
|
+
}
|
|
195
|
+
async function cmdOrganize(dryRun) {
|
|
196
|
+
console.log(dryRun ? 'Memory Organize (dry run)' : 'Memory Organize');
|
|
197
|
+
console.log('========================\n');
|
|
198
|
+
const result = await organizeMemoryDir({ dryRun });
|
|
199
|
+
if (result.moved.length === 0 && result.skipped.length === 0 && result.errors.length === 0) {
|
|
200
|
+
console.log('No loose files found. All memory files are organized.');
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
for (const m of result.moved) {
|
|
204
|
+
console.log(` ${dryRun ? '[would move]' : 'moved'} ${m.from} → ${m.to}`);
|
|
205
|
+
}
|
|
206
|
+
if (result.skipped.length > 0) {
|
|
207
|
+
console.log(`\n Skipped: ${result.skipped.length} files`);
|
|
208
|
+
}
|
|
209
|
+
for (const e of result.errors) {
|
|
210
|
+
console.log(` ✗ ${e}`);
|
|
211
|
+
}
|
|
212
|
+
console.log(`\n Moved: ${result.moved.length}, Skipped: ${result.skipped.length}, Errors: ${result.errors.length}`);
|
|
213
|
+
}
|
|
214
|
+
async function cmdTag(agent, dryRun) {
|
|
215
|
+
console.log(dryRun ? 'Memory Tag (dry run)' : 'Memory Tag');
|
|
216
|
+
console.log('========================\n');
|
|
217
|
+
const result = await tagMemoryFiles({ agent, dryRun });
|
|
218
|
+
if (result.tagged.length === 0 && result.alreadyTagged.length === 0 && result.errors.length === 0) {
|
|
219
|
+
console.log('No memory files found to tag.');
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
for (const f of result.tagged) {
|
|
223
|
+
console.log(` ${dryRun ? '[would tag]' : 'tagged'} ${f}`);
|
|
224
|
+
}
|
|
225
|
+
if (result.alreadyTagged.length > 0) {
|
|
226
|
+
console.log(`\n Already tagged: ${result.alreadyTagged.length} files`);
|
|
227
|
+
}
|
|
228
|
+
for (const e of result.errors) {
|
|
229
|
+
console.log(` ✗ ${e}`);
|
|
230
|
+
}
|
|
231
|
+
console.log(`\n Tagged: ${result.tagged.length}, Already tagged: ${result.alreadyTagged.length}, Errors: ${result.errors.length}`);
|
|
232
|
+
}
|
|
233
|
+
async function cmdBackfill(agent, since, dryRun) {
|
|
234
|
+
const sinceDate = since ?? new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10);
|
|
235
|
+
console.log(dryRun ? 'Memory Backfill (dry run)' : 'Memory Backfill');
|
|
236
|
+
console.log('========================');
|
|
237
|
+
console.log(`Since: ${sinceDate}${agent ? `, Agent: ${agent}` : ' (all enabled agents)'}\n`);
|
|
238
|
+
const writer = new MemoryWriter();
|
|
239
|
+
const dataDir = `${process.env.HOME ?? '/root'}/.mark-data`;
|
|
240
|
+
const topology = loadFleetTopology(dataDir);
|
|
241
|
+
const results = await backfillFleet(topology, writer, { agent, since: sinceDate, dryRun });
|
|
242
|
+
for (const r of results) {
|
|
243
|
+
console.log(` ${r.agent}:`);
|
|
244
|
+
console.log(` Scanned: ${r.filesScanned}, Generated: ${r.filesGenerated}, Skipped: ${r.filesSkipped}`);
|
|
245
|
+
for (const e of r.errors) {
|
|
246
|
+
console.log(` ✗ ${e}`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
const totalGenerated = results.reduce((sum, r) => sum + r.filesGenerated, 0);
|
|
250
|
+
console.log(`\n Total generated: ${totalGenerated} memory files`);
|
|
251
|
+
if (!dryRun && totalGenerated > 0) {
|
|
252
|
+
console.log('\nDone. Run `mighty-mark memory verify` to confirm indexing.');
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
async function cmdRetention(dryRun) {
|
|
256
|
+
console.log(dryRun ? 'Memory Retention (dry run)' : 'Memory Retention');
|
|
257
|
+
console.log('========================\n');
|
|
258
|
+
const memoryDir = getDefaultMemoryDir();
|
|
259
|
+
const diskReport = checkDiskUsage(memoryDir);
|
|
260
|
+
const totalMB = (diskReport.totalMemoryBytes / (1024 * 1024)).toFixed(1);
|
|
261
|
+
const sessionMB = (diskReport.sessionBytes / (1024 * 1024)).toFixed(1);
|
|
262
|
+
console.log(` Disk usage: ${totalMB}MB total, ${sessionMB}MB sessions`);
|
|
263
|
+
for (const [agent, bytes] of Object.entries(diskReport.agentBytes)) {
|
|
264
|
+
console.log(` ${agent.padEnd(14)} ${(bytes / (1024 * 1024)).toFixed(1)}MB`);
|
|
265
|
+
}
|
|
266
|
+
for (const w of diskReport.warnings) {
|
|
267
|
+
console.log(` ⚠ ${w}`);
|
|
268
|
+
}
|
|
269
|
+
console.log('');
|
|
270
|
+
if (dryRun) {
|
|
271
|
+
const result = await enforceRetention(memoryDir);
|
|
272
|
+
if (result.archived.length === 0) {
|
|
273
|
+
console.log(' All subdirectories are within file count ceilings. No archival needed.');
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
for (const a of result.archived) {
|
|
277
|
+
console.log(` [would archive] ${a.subdir}: ${a.fileCount} files`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
const result = await enforceRetention(memoryDir);
|
|
283
|
+
if (result.archived.length === 0) {
|
|
284
|
+
console.log(' All subdirectories are within file count ceilings. No archival needed.');
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
for (const a of result.archived) {
|
|
288
|
+
console.log(` archived ${a.subdir}: ${a.fileCount} files → ${a.archivePath}`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
for (const e of result.errors) {
|
|
292
|
+
console.log(` ✗ ${e}`);
|
|
293
|
+
}
|
|
294
|
+
console.log(`\n Archived: ${result.archived.length} subdirs, Errors: ${result.errors.length}`);
|
|
295
|
+
}
|
|
296
|
+
function printMemoryHelp() {
|
|
297
|
+
console.log('Mighty Mark — Memory Management\n');
|
|
298
|
+
console.log('Usage: mighty-mark memory <subcommand>\n');
|
|
299
|
+
console.log('Subcommands:');
|
|
300
|
+
console.log(' diagnose Run all memory health checks and report status');
|
|
301
|
+
console.log(' configure Patch openclaw.json with local embedding configuration');
|
|
302
|
+
console.log(' verify Confirm memory search is working after configuration');
|
|
303
|
+
console.log(' status Show indexing statistics per agent');
|
|
304
|
+
console.log(' organize Sort loose memory files into agent subdirectories');
|
|
305
|
+
console.log(' tag Add YAML frontmatter to untagged memory files');
|
|
306
|
+
console.log(' backfill Generate memory files from existing JSON data stores');
|
|
307
|
+
console.log(' retention Enforce file count ceilings and check disk usage');
|
|
308
|
+
console.log('');
|
|
309
|
+
console.log('Options:');
|
|
310
|
+
console.log(' --agent <id> Target a specific agent (backfill, tag)');
|
|
311
|
+
console.log(' --since <date> Override backfill date range (default: 30 days)');
|
|
312
|
+
console.log(' --dry-run Preview changes without writing');
|
|
313
|
+
}
|
|
314
|
+
function countFilesRecursive(dir) {
|
|
315
|
+
if (!fs.existsSync(dir))
|
|
316
|
+
return 0;
|
|
317
|
+
let count = 0;
|
|
318
|
+
try {
|
|
319
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
320
|
+
for (const entry of entries) {
|
|
321
|
+
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
|
322
|
+
count += countFilesRecursive(`${dir}/${entry.name}`);
|
|
323
|
+
}
|
|
324
|
+
else if (entry.name.endsWith('.md')) {
|
|
325
|
+
count++;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
catch { /* ignore */ }
|
|
330
|
+
return count;
|
|
331
|
+
}
|
|
332
|
+
function formatTimestamp() {
|
|
333
|
+
const d = new Date();
|
|
334
|
+
return [
|
|
335
|
+
d.getFullYear(),
|
|
336
|
+
String(d.getMonth() + 1).padStart(2, '0'),
|
|
337
|
+
String(d.getDate()).padStart(2, '0'),
|
|
338
|
+
String(d.getHours()).padStart(2, '0'),
|
|
339
|
+
String(d.getMinutes()).padStart(2, '0'),
|
|
340
|
+
String(d.getSeconds()).padStart(2, '0'),
|
|
341
|
+
].join('');
|
|
342
|
+
}
|
|
343
|
+
//# sourceMappingURL=memory-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-commands.js","sourceRoot":"","sources":["../../src/cli/memory-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqFzC"}
|
package/dist/cli/runner.js
CHANGED
|
@@ -13,6 +13,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
13
13
|
import path from 'node:path';
|
|
14
14
|
import { cmdSetup } from './setup.js';
|
|
15
15
|
import { cmdSetupUser } from './setup-user.js';
|
|
16
|
+
import { cmdMemory } from './memory-commands.js';
|
|
16
17
|
export async function run() {
|
|
17
18
|
const args = process.argv.slice(2);
|
|
18
19
|
const command = args[0];
|
|
@@ -40,6 +41,11 @@ export async function run() {
|
|
|
40
41
|
await cmdSetupUser(parseSetupUserArgs(args.slice(1)));
|
|
41
42
|
break;
|
|
42
43
|
}
|
|
44
|
+
case 'memory': {
|
|
45
|
+
const memArgs = parseMemoryArgs(args.slice(1));
|
|
46
|
+
await cmdMemory(memArgs);
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
43
49
|
case 'install-watchdog': {
|
|
44
50
|
const thisFile = fileURLToPath(import.meta.url);
|
|
45
51
|
const packageRoot = path.resolve(path.dirname(thisFile), '..', '..');
|
|
@@ -62,6 +68,7 @@ export async function run() {
|
|
|
62
68
|
console.log(' mighty-mark setup-user Create USER.md for all fleet agents');
|
|
63
69
|
console.log(' mighty-mark check Run a full health check');
|
|
64
70
|
console.log(' mighty-mark status Show current status');
|
|
71
|
+
console.log(' mighty-mark memory <sub> Memory management (diagnose, configure, backfill, ...)');
|
|
65
72
|
console.log(' mighty-mark install-watchdog Install bash watchdog on VPS');
|
|
66
73
|
console.log('');
|
|
67
74
|
console.log('Options for setup:');
|
|
@@ -112,6 +119,26 @@ function parseSetupArgs(args) {
|
|
|
112
119
|
}
|
|
113
120
|
return opts;
|
|
114
121
|
}
|
|
122
|
+
function parseMemoryArgs(args) {
|
|
123
|
+
const result = { subcommand: args[0] ?? '' };
|
|
124
|
+
for (let i = 1; i < args.length; i++) {
|
|
125
|
+
switch (args[i]) {
|
|
126
|
+
case '--agent':
|
|
127
|
+
result.agent = args[++i];
|
|
128
|
+
break;
|
|
129
|
+
case '--since':
|
|
130
|
+
result.since = args[++i];
|
|
131
|
+
break;
|
|
132
|
+
case '--dry-run':
|
|
133
|
+
result.dryRun = true;
|
|
134
|
+
break;
|
|
135
|
+
case '--data-dir':
|
|
136
|
+
result.dataDir = args[++i];
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return result;
|
|
141
|
+
}
|
|
115
142
|
function parseSetupUserArgs(args) {
|
|
116
143
|
const opts = {};
|
|
117
144
|
for (let i = 0; i < args.length; i++) {
|
package/dist/cli/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/cli/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import type { FleetTopology as FleetTopologyType, FleetAgent } from '../types/fleet.js';
|
|
6
6
|
export type { FleetTopology } from '../types/fleet.js';
|
|
7
7
|
export type { FleetAgent } from '../types/fleet.js';
|
|
8
|
+
export type { AgentMemoryConfig } from '../types/fleet.js';
|
|
8
9
|
/** Compiled-in default topology — used when fleet-topology.json is not found. */
|
|
9
10
|
export declare const DEFAULT_TOPOLOGY: FleetTopologyType;
|
|
10
11
|
/**
|
|
@@ -19,4 +20,6 @@ export declare function writeDefaultTopology(dataDir: string): void;
|
|
|
19
20
|
export declare function getPluginAgents(topology: FleetTopologyType): FleetAgent[];
|
|
20
21
|
/** Get agents that need data integrity checks. */
|
|
21
22
|
export declare function getDataCheckAgents(topology: FleetTopologyType): FleetAgent[];
|
|
23
|
+
/** Get agents with memory writing enabled. */
|
|
24
|
+
export declare function getMemoryEnabledAgents(topology: FleetTopologyType): FleetAgent[];
|
|
22
25
|
//# sourceMappingURL=fleet-topology.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-topology.d.ts","sourceRoot":"","sources":["../../src/config/fleet-topology.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"fleet-topology.d.ts","sourceRoot":"","sources":["../../src/config/fleet-topology.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,UAAU,EAAqB,MAAM,mBAAmB,CAAC;AAE3G,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA+B3D,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,iBAe9B,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAcpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAO1D;AAED,oCAAoC;AACpC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,UAAU,EAAE,CAEzE;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,UAAU,EAAE,CAE5E;AAED,8CAA8C;AAC9C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,UAAU,EAAE,CAEhF"}
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
import fs from 'node:fs';
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import { z } from 'zod';
|
|
8
|
+
const AgentMemoryConfigSchema = z.object({
|
|
9
|
+
enabled: z.boolean(),
|
|
10
|
+
subdirs: z.array(z.string()),
|
|
11
|
+
dataDir: z.string().optional(),
|
|
12
|
+
});
|
|
8
13
|
const FleetAgentSchema = z.object({
|
|
9
14
|
id: z.string(),
|
|
10
15
|
name: z.string(),
|
|
@@ -15,6 +20,7 @@ const FleetAgentSchema = z.object({
|
|
|
15
20
|
requiredPromptFiles: z.array(z.string()).default([]),
|
|
16
21
|
requiredKnowledge: z.boolean().default(false),
|
|
17
22
|
dataChecks: z.array(z.string()).default([]),
|
|
23
|
+
memoryConfig: AgentMemoryConfigSchema.optional(),
|
|
18
24
|
});
|
|
19
25
|
const FleetTopologySchema = z.object({
|
|
20
26
|
version: z.string(),
|
|
@@ -27,20 +33,20 @@ const FleetTopologySchema = z.object({
|
|
|
27
33
|
});
|
|
28
34
|
/** Compiled-in default topology — used when fleet-topology.json is not found. */
|
|
29
35
|
export const DEFAULT_TOPOLOGY = {
|
|
30
|
-
version: '1.
|
|
31
|
-
lastUpdated: '2026-02-
|
|
32
|
-
updatedBy: 'Archie (
|
|
36
|
+
version: '1.1',
|
|
37
|
+
lastUpdated: '2026-02-24',
|
|
38
|
+
updatedBy: 'Archie (memory infrastructure)',
|
|
33
39
|
agents: [
|
|
34
|
-
{ id: 'jessie', name: 'Jessie', role: 'commander', model: 'claude-haiku-4-5', hasPlugin: false, requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: false, dataChecks: [] },
|
|
35
|
-
{ id: 'nole', name: 'Nole', role: 'operator', model: 'claude-sonnet-4-5', hasPlugin: true, pluginId: 'nole', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: true, dataChecks: ['nole-state'] },
|
|
36
|
-
{ id: 'grillo', name: 'Grillo', role: 'conscience', model: 'claude-haiku-4-5', hasPlugin: true, pluginId: 'grillo', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: true, dataChecks: ['grillo-chain'] },
|
|
37
|
-
{ id: 'noah', name: 'Noah', role: 'navigator', model: 'claude-haiku-4-5', hasPlugin: true, pluginId: 'noah', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: true, dataChecks: ['noah-store'] },
|
|
38
|
-
{ id: 'sam', name: 'Sam', role: 'engineer', model: 'claude-sonnet-4-5', hasPlugin: false, requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: false, dataChecks: [] },
|
|
39
|
-
{ id: 'mighty-mark', name: 'Mighty Mark', role: 'sentinel', model: 'claude-haiku-4-5', hasPlugin: true, pluginId: 'mighty-mark', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: false, dataChecks: ['mark-self'] },
|
|
40
|
+
{ id: 'jessie', name: 'Jessie', role: 'commander', model: 'claude-haiku-4-5', hasPlugin: false, requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: false, dataChecks: [], memoryConfig: { enabled: false, subdirs: ['decisions', 'vetoes', 'strategic'] } },
|
|
41
|
+
{ id: 'nole', name: 'Nole', role: 'operator', model: 'claude-sonnet-4-5', hasPlugin: true, pluginId: 'nole', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: true, dataChecks: ['nole-state'], memoryConfig: { enabled: true, subdirs: ['governance', 'intelligence', 'scores'], dataDir: '.nole-data' } },
|
|
42
|
+
{ id: 'grillo', name: 'Grillo', role: 'conscience', model: 'claude-haiku-4-5', hasPlugin: true, pluginId: 'grillo', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: true, dataChecks: ['grillo-chain'], memoryConfig: { enabled: true, subdirs: ['assessments', 'drift', 'fleet'], dataDir: '.grillo-data' } },
|
|
43
|
+
{ id: 'noah', name: 'Noah', role: 'navigator', model: 'claude-haiku-4-5', hasPlugin: true, pluginId: 'noah', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: true, dataChecks: ['noah-store'], memoryConfig: { enabled: true, subdirs: ['flight-plans', 'deviations', 'transitions'], dataDir: '.noah-data' } },
|
|
44
|
+
{ id: 'sam', name: 'Sam', role: 'engineer', model: 'claude-sonnet-4-5', hasPlugin: false, requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: false, dataChecks: [], memoryConfig: { enabled: false, subdirs: ['engineering', 'deployments', 'reviews'] } },
|
|
45
|
+
{ id: 'mighty-mark', name: 'Mighty Mark', role: 'sentinel', model: 'claude-haiku-4-5', hasPlugin: true, pluginId: 'mighty-mark', requiredPromptFiles: ['system-prompt.md'], requiredKnowledge: false, dataChecks: ['mark-self'], memoryConfig: { enabled: true, subdirs: ['incidents', 'health', 'trends'], dataDir: '.mark-data' } },
|
|
40
46
|
],
|
|
41
47
|
plugins: ['grillo', 'noah', 'nole', 'mighty-mark'],
|
|
42
|
-
expectedMinToolCount:
|
|
43
|
-
notes: '
|
|
48
|
+
expectedMinToolCount: 27,
|
|
49
|
+
notes: 'v1.1: Added memory configuration per agent. Memory tools are first-class citizens.',
|
|
44
50
|
};
|
|
45
51
|
/**
|
|
46
52
|
* Load fleet topology from the data directory. Falls back to compiled defaults.
|
|
@@ -78,4 +84,8 @@ export function getPluginAgents(topology) {
|
|
|
78
84
|
export function getDataCheckAgents(topology) {
|
|
79
85
|
return topology.agents.filter(a => a.dataChecks.length > 0);
|
|
80
86
|
}
|
|
87
|
+
/** Get agents with memory writing enabled. */
|
|
88
|
+
export function getMemoryEnabledAgents(topology) {
|
|
89
|
+
return topology.agents.filter(a => a.memoryConfig?.enabled === true);
|
|
90
|
+
}
|
|
81
91
|
//# sourceMappingURL=fleet-topology.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-topology.js","sourceRoot":"","sources":["../../src/config/fleet-topology.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-topology.js","sourceRoot":"","sources":["../../src/config/fleet-topology.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -40,8 +40,18 @@ export declare class MarkCore {
|
|
|
40
40
|
/** Check if the last report is still fresh. */
|
|
41
41
|
private isFresh;
|
|
42
42
|
}
|
|
43
|
+
export { MemoryWriter } from './memory/writer.js';
|
|
44
|
+
export type { MemoryWriteOptions, MemoryWriterConfig } from './memory/writer.js';
|
|
45
|
+
export { backfillFleet, backfillAgent } from './memory/backfill.js';
|
|
46
|
+
export type { BackfillOptions, BackfillResult } from './memory/backfill.js';
|
|
47
|
+
export { organizeMemoryDir } from './memory/organize.js';
|
|
48
|
+
export type { OrganizeOptions, OrganizeResult } from './memory/organize.js';
|
|
49
|
+
export { tagMemoryFiles } from './memory/tag.js';
|
|
50
|
+
export type { TagOptions, TagResult } from './memory/tag.js';
|
|
51
|
+
export { enforceRetention, checkDiskUsage } from './memory/retention.js';
|
|
52
|
+
export type { RetentionConfig, RetentionResult, DiskReport } from './memory/retention.js';
|
|
43
53
|
export type { MightyMarkConfig } from './config/config-schema.js';
|
|
44
|
-
export type { FleetTopology, FleetAgent } from './types/fleet.js';
|
|
54
|
+
export type { FleetTopology, FleetAgent, AgentMemoryConfig } from './types/fleet.js';
|
|
45
55
|
export type { HealthStatus, CheckStatus, CheckCategory, Severity, CheckResult, MorningReport, StatusSnapshot, CategoryResults, } from './types/health.js';
|
|
46
56
|
export type { Incident, DailyHealth, UptimeData } from './types/incident.js';
|
|
47
57
|
export type { CheckContext } from './checks/check-context.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAU/E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAiB,eAAe,EAAgB,MAAM,mBAAmB,CAAC;AACrH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,qBAAa,QAAQ;IACnB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,UAAU,CAA8B;gBAEpC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAInD,uEAAuE;IACjE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBjC,+CAA+C;IACzC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBhE,wCAAwC;IAClC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAIjF,iCAAiC;IAC3B,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAwB1C,0CAA0C;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIrD,2BAA2B;IACrB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIlD,mCAAmC;IAC7B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAerD,0CAA0C;IACpC,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE,+CAA+C;IAC/C,OAAO,CAAC,OAAO;CAKhB;AAGD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -121,4 +121,11 @@ export class MarkCore {
|
|
|
121
121
|
return age < STALE_CHECK_THRESHOLD_MS;
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
+
// MemoryWriter — standalone utility for other agents to import
|
|
125
|
+
export { MemoryWriter } from './memory/writer.js';
|
|
126
|
+
// Memory management utilities
|
|
127
|
+
export { backfillFleet, backfillAgent } from './memory/backfill.js';
|
|
128
|
+
export { organizeMemoryDir } from './memory/organize.js';
|
|
129
|
+
export { tagMemoryFiles } from './memory/tag.js';
|
|
130
|
+
export { enforceRetention, checkDiskUsage } from './memory/retention.js';
|
|
124
131
|
//# sourceMappingURL=index.js.map
|