memorix 1.1.7 → 1.1.8
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/CHANGELOG.md +13 -0
- package/CLAUDE.md +6 -1
- package/README.md +21 -0
- package/README.zh-CN.md +21 -0
- package/TEAM.md +86 -86
- package/dist/cli/index.js +730 -150
- package/dist/cli/index.js.map +1 -1
- package/dist/dashboard/static/index.html +201 -201
- package/dist/dashboard/static/style.css +3584 -3584
- package/dist/index.js +15 -8
- package/dist/index.js.map +1 -1
- package/dist/memcode-runtime/CHANGELOG.md +13 -0
- package/dist/memcode-runtime/package.json +4 -4
- package/dist/sdk.js +15 -8
- package/dist/sdk.js.map +1 -1
- package/docs/AGENT_OPERATOR_PLAYBOOK.md +18 -0
- package/docs/DESIGN_DECISIONS.md +357 -357
- package/docs/SETUP.md +10 -0
- package/docs/dev-log/progress.txt +35 -26
- package/package.json +1 -1
- package/src/audit/index.ts +156 -156
- package/src/cli/commands/agent-integrations.ts +623 -0
- package/src/cli/commands/audit-list.ts +89 -89
- package/src/cli/commands/background.ts +659 -659
- package/src/cli/commands/cleanup.ts +255 -255
- package/src/cli/commands/doctor.ts +23 -0
- package/src/cli/commands/formation.ts +48 -48
- package/src/cli/commands/git-hook-install.ts +111 -111
- package/src/cli/commands/handoff.ts +66 -66
- package/src/cli/commands/hooks-status.ts +63 -63
- package/src/cli/commands/ingest-commit.ts +153 -153
- package/src/cli/commands/ingest-image.ts +73 -73
- package/src/cli/commands/ingest-log.ts +180 -180
- package/src/cli/commands/ingest.ts +44 -44
- package/src/cli/commands/integrate-shared.ts +15 -15
- package/src/cli/commands/lock.ts +96 -96
- package/src/cli/commands/message.ts +121 -121
- package/src/cli/commands/poll.ts +70 -70
- package/src/cli/commands/purge-all-memory.ts +85 -85
- package/src/cli/commands/purge-project-memory.ts +83 -83
- package/src/cli/commands/reasoning.ts +132 -132
- package/src/cli/commands/repair.ts +60 -0
- package/src/cli/commands/retention.ts +108 -108
- package/src/cli/commands/serve-shared.ts +118 -118
- package/src/cli/commands/setup.ts +3 -3
- package/src/cli/commands/skills.ts +123 -123
- package/src/cli/commands/task.ts +192 -192
- package/src/cli/commands/transfer.ts +73 -73
- package/src/cli/commands/uninstall-project-artifacts.ts +85 -85
- package/src/cli/index.ts +3 -1
- package/src/cli/tui/ChatView.tsx +234 -234
- package/src/cli/tui/CommandBar.tsx +312 -312
- package/src/cli/tui/ContextRail.tsx +118 -118
- package/src/cli/tui/HeaderBar.tsx +72 -72
- package/src/cli/tui/LogoBanner.tsx +51 -51
- package/src/cli/tui/Panels.tsx +632 -632
- package/src/cli/tui/Sidebar.tsx +179 -179
- package/src/cli/tui/chat-service.ts +742 -742
- package/src/cli/tui/data.ts +547 -547
- package/src/cli/tui/index.ts +41 -41
- package/src/cli/tui/markdown-render.tsx +371 -371
- package/src/cli/tui/theme.ts +178 -178
- package/src/cli/tui/use-mouse.ts +157 -157
- package/src/cli/tui/useNavigation.ts +56 -56
- package/src/cli/update-checker.ts +211 -211
- package/src/cli/version.ts +7 -7
- package/src/cli/workbench.ts +1 -1
- package/src/codegraph/context-pack.ts +5 -1
- package/src/codegraph/lite-provider.ts +5 -1
- package/src/codegraph/project-context.ts +5 -1
- package/src/compact/token-budget.ts +74 -74
- package/src/config/behavior.ts +59 -59
- package/src/dashboard/project-classification.ts +64 -64
- package/src/dashboard/static/index.html +201 -201
- package/src/dashboard/static/style.css +3584 -3584
- package/src/embedding/fastembed-provider.ts +142 -142
- package/src/embedding/transformers-provider.ts +111 -111
- package/src/git/extractor.ts +209 -209
- package/src/git/hooks-path.ts +85 -85
- package/src/git/noise-filter.ts +210 -210
- package/src/hooks/installers/index.ts +4 -4
- package/src/hooks/official-skills.ts +1 -1
- package/src/hooks/pattern-detector.ts +173 -173
- package/src/hooks/rules/memorix-agent-rules.md +2 -2
- package/src/hooks/significance-filter.ts +250 -250
- package/src/llm/memory-manager.ts +328 -328
- package/src/llm/provider.ts +885 -885
- package/src/llm/quality.ts +248 -248
- package/src/memory/attribution-guard.ts +249 -249
- package/src/memory/auto-relations.ts +107 -107
- package/src/memory/consolidation.ts +302 -302
- package/src/memory/disclosure-policy.ts +141 -141
- package/src/memory/entity-extractor.ts +197 -197
- package/src/memory/formation/evaluate.ts +217 -217
- package/src/memory/formation/extract.ts +361 -361
- package/src/memory/formation/index.ts +417 -417
- package/src/memory/formation/resolve.ts +344 -344
- package/src/memory/formation/types.ts +315 -315
- package/src/memory/freshness.ts +122 -122
- package/src/memory/graph.ts +197 -197
- package/src/memory/refs.ts +94 -94
- package/src/memory/retention.ts +433 -433
- package/src/memory/secret-filter.ts +79 -79
- package/src/memory/session.ts +523 -523
- package/src/multimodal/image-loader.ts +143 -143
- package/src/orchestrate/adapters/claude-stream.ts +192 -192
- package/src/orchestrate/adapters/claude.ts +111 -111
- package/src/orchestrate/adapters/codex-stream.ts +134 -134
- package/src/orchestrate/adapters/codex.ts +41 -41
- package/src/orchestrate/adapters/gemini-stream.ts +166 -166
- package/src/orchestrate/adapters/gemini.ts +42 -42
- package/src/orchestrate/adapters/index.ts +73 -73
- package/src/orchestrate/adapters/opencode-stream.ts +143 -143
- package/src/orchestrate/adapters/opencode.ts +47 -47
- package/src/orchestrate/adapters/spawn-helper.ts +286 -286
- package/src/orchestrate/adapters/types.ts +77 -77
- package/src/orchestrate/capability-router.ts +284 -284
- package/src/orchestrate/context-compact.ts +188 -188
- package/src/orchestrate/cost-tracker.ts +219 -219
- package/src/orchestrate/error-recovery.ts +191 -191
- package/src/orchestrate/evidence.ts +140 -140
- package/src/orchestrate/ledger.ts +110 -110
- package/src/orchestrate/memorix-bridge.ts +380 -380
- package/src/orchestrate/output-budget.ts +80 -80
- package/src/orchestrate/permission.ts +152 -152
- package/src/orchestrate/pipeline-trace.ts +131 -131
- package/src/orchestrate/prompt-builder.ts +155 -155
- package/src/orchestrate/ring-buffer.ts +37 -37
- package/src/orchestrate/task-graph.ts +389 -389
- package/src/orchestrate/verify-gate.ts +219 -219
- package/src/orchestrate/worktree.ts +232 -232
- package/src/project/aliases.ts +374 -374
- package/src/project/detector.ts +268 -268
- package/src/rules/adapters/claude-code.ts +99 -99
- package/src/rules/adapters/codex.ts +97 -97
- package/src/rules/adapters/copilot.ts +124 -124
- package/src/rules/adapters/cursor.ts +114 -114
- package/src/rules/adapters/kiro.ts +126 -126
- package/src/rules/adapters/trae.ts +56 -56
- package/src/rules/adapters/windsurf.ts +83 -83
- package/src/rules/syncer.ts +235 -235
- package/src/sdk.ts +327 -327
- package/src/search/intent-detector.ts +289 -289
- package/src/search/query-expansion.ts +52 -52
- package/src/server/formation-timeout.ts +27 -27
- package/src/skills/mini-skills.ts +386 -386
- package/src/store/chat-store.ts +119 -119
- package/src/store/file-lock.ts +100 -100
- package/src/store/graph-store.ts +249 -249
- package/src/store/mini-skill-store.ts +349 -349
- package/src/store/obs-store.ts +255 -255
- package/src/store/persistence-json.ts +212 -212
- package/src/store/persistence.ts +291 -291
- package/src/store/project-affinity.ts +195 -195
- package/src/store/session-store.ts +259 -259
- package/src/store/sqlite-store.ts +339 -339
- package/src/team/event-bus.ts +76 -76
- package/src/team/file-locks.ts +173 -173
- package/src/team/handoff.ts +167 -167
- package/src/team/messages.ts +203 -203
- package/src/team/poll.ts +132 -132
- package/src/team/tasks.ts +211 -211
- package/src/wiki/generator.ts +237 -237
- package/src/wiki/knowledge-graph.ts +334 -334
- package/src/wiki/types.ts +85 -85
- package/src/workspace/mcp-adapters/codex.ts +191 -191
- package/src/workspace/mcp-adapters/copilot.ts +105 -105
- package/src/workspace/mcp-adapters/cursor.ts +53 -53
- package/src/workspace/mcp-adapters/kiro.ts +64 -64
- package/src/workspace/mcp-adapters/opencode.ts +123 -123
- package/src/workspace/mcp-adapters/trae.ts +134 -134
- package/src/workspace/mcp-adapters/windsurf.ts +91 -91
- package/src/workspace/sanitizer.ts +60 -60
- package/src/workspace/workflow-sync.ts +131 -131
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Command: memorix audit list
|
|
3
|
-
*
|
|
4
|
-
* List all files written by Memorix (audit trail).
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { defineCommand } from 'citty';
|
|
8
|
-
import * as p from '@clack/prompts';
|
|
9
|
-
|
|
10
|
-
export default defineCommand({
|
|
11
|
-
meta: {
|
|
12
|
-
name: 'list',
|
|
13
|
-
description: 'List Memorix-written files (audit trail)',
|
|
14
|
-
},
|
|
15
|
-
args: {
|
|
16
|
-
project: {
|
|
17
|
-
type: 'string',
|
|
18
|
-
description: 'Filter by project (optional)',
|
|
19
|
-
required: false,
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
run: async ({ args }) => {
|
|
23
|
-
const { getAllAuditEntries, getProjectId } = await import('../../audit/index.js');
|
|
24
|
-
const os = await import('node:os');
|
|
25
|
-
let cwd: string;
|
|
26
|
-
try {
|
|
27
|
-
cwd = process.cwd();
|
|
28
|
-
} catch {
|
|
29
|
-
cwd = os.homedir();
|
|
30
|
-
console.log(`[WARN] Could not access current directory, using home: ${cwd}`);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
p.intro('Memorix Audit Trail');
|
|
34
|
-
|
|
35
|
-
const allEntries = await getAllAuditEntries();
|
|
36
|
-
|
|
37
|
-
if (allEntries.length === 0) {
|
|
38
|
-
console.log('No Memorix-written files found.');
|
|
39
|
-
p.outro('Audit trail is empty.');
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// Filter by project if specified
|
|
44
|
-
let entries = allEntries;
|
|
45
|
-
if (args.project) {
|
|
46
|
-
const targetProjectId = getProjectId(args.project);
|
|
47
|
-
entries = allEntries.filter((e) => e.projectId === targetProjectId);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (entries.length === 0) {
|
|
51
|
-
console.log('No Memorix-written files found for this project.');
|
|
52
|
-
p.outro('Audit trail is empty for this project.');
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// Group by project
|
|
57
|
-
const byProject: Record<string, Array<{ entry: import('../../audit/index.js').AuditEntry }>> = {};
|
|
58
|
-
for (const { projectId, entry } of entries) {
|
|
59
|
-
if (!byProject[projectId]) {
|
|
60
|
-
byProject[projectId] = [];
|
|
61
|
-
}
|
|
62
|
-
byProject[projectId].push({ entry });
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Display by project
|
|
66
|
-
console.log('');
|
|
67
|
-
for (const [projectId, items] of Object.entries(byProject)) {
|
|
68
|
-
console.log(`Project: ${projectId}`);
|
|
69
|
-
console.log('');
|
|
70
|
-
|
|
71
|
-
for (const { entry } of items) {
|
|
72
|
-
const icon = entry.type === 'hook' ? '[HOOK]' : '[TASK]';
|
|
73
|
-
const agent = entry.agent ? ` (${entry.agent})` : '';
|
|
74
|
-
console.log(`${icon} ${entry.path}${agent}`);
|
|
75
|
-
console.log(` Created: ${entry.createdAt}`);
|
|
76
|
-
console.log('');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Summary
|
|
81
|
-
const hookCount = entries.filter((e) => e.entry.type === 'hook').length;
|
|
82
|
-
const ruleCount = entries.filter((e) => e.entry.type === 'rule').length;
|
|
83
|
-
const projectCount = new Set(entries.map((e) => e.projectId)).size;
|
|
84
|
-
|
|
85
|
-
p.note(`${projectCount} projects, ${hookCount} hooks, ${ruleCount} rules`);
|
|
86
|
-
|
|
87
|
-
p.outro('Audit trail complete.');
|
|
88
|
-
},
|
|
89
|
-
});
|
|
1
|
+
/**
|
|
2
|
+
* CLI Command: memorix audit list
|
|
3
|
+
*
|
|
4
|
+
* List all files written by Memorix (audit trail).
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { defineCommand } from 'citty';
|
|
8
|
+
import * as p from '@clack/prompts';
|
|
9
|
+
|
|
10
|
+
export default defineCommand({
|
|
11
|
+
meta: {
|
|
12
|
+
name: 'list',
|
|
13
|
+
description: 'List Memorix-written files (audit trail)',
|
|
14
|
+
},
|
|
15
|
+
args: {
|
|
16
|
+
project: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
description: 'Filter by project (optional)',
|
|
19
|
+
required: false,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
run: async ({ args }) => {
|
|
23
|
+
const { getAllAuditEntries, getProjectId } = await import('../../audit/index.js');
|
|
24
|
+
const os = await import('node:os');
|
|
25
|
+
let cwd: string;
|
|
26
|
+
try {
|
|
27
|
+
cwd = process.cwd();
|
|
28
|
+
} catch {
|
|
29
|
+
cwd = os.homedir();
|
|
30
|
+
console.log(`[WARN] Could not access current directory, using home: ${cwd}`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
p.intro('Memorix Audit Trail');
|
|
34
|
+
|
|
35
|
+
const allEntries = await getAllAuditEntries();
|
|
36
|
+
|
|
37
|
+
if (allEntries.length === 0) {
|
|
38
|
+
console.log('No Memorix-written files found.');
|
|
39
|
+
p.outro('Audit trail is empty.');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Filter by project if specified
|
|
44
|
+
let entries = allEntries;
|
|
45
|
+
if (args.project) {
|
|
46
|
+
const targetProjectId = getProjectId(args.project);
|
|
47
|
+
entries = allEntries.filter((e) => e.projectId === targetProjectId);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (entries.length === 0) {
|
|
51
|
+
console.log('No Memorix-written files found for this project.');
|
|
52
|
+
p.outro('Audit trail is empty for this project.');
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Group by project
|
|
57
|
+
const byProject: Record<string, Array<{ entry: import('../../audit/index.js').AuditEntry }>> = {};
|
|
58
|
+
for (const { projectId, entry } of entries) {
|
|
59
|
+
if (!byProject[projectId]) {
|
|
60
|
+
byProject[projectId] = [];
|
|
61
|
+
}
|
|
62
|
+
byProject[projectId].push({ entry });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Display by project
|
|
66
|
+
console.log('');
|
|
67
|
+
for (const [projectId, items] of Object.entries(byProject)) {
|
|
68
|
+
console.log(`Project: ${projectId}`);
|
|
69
|
+
console.log('');
|
|
70
|
+
|
|
71
|
+
for (const { entry } of items) {
|
|
72
|
+
const icon = entry.type === 'hook' ? '[HOOK]' : '[TASK]';
|
|
73
|
+
const agent = entry.agent ? ` (${entry.agent})` : '';
|
|
74
|
+
console.log(`${icon} ${entry.path}${agent}`);
|
|
75
|
+
console.log(` Created: ${entry.createdAt}`);
|
|
76
|
+
console.log('');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Summary
|
|
81
|
+
const hookCount = entries.filter((e) => e.entry.type === 'hook').length;
|
|
82
|
+
const ruleCount = entries.filter((e) => e.entry.type === 'rule').length;
|
|
83
|
+
const projectCount = new Set(entries.map((e) => e.projectId)).size;
|
|
84
|
+
|
|
85
|
+
p.note(`${projectCount} projects, ${hookCount} hooks, ${ruleCount} rules`);
|
|
86
|
+
|
|
87
|
+
p.outro('Audit trail complete.');
|
|
88
|
+
},
|
|
89
|
+
});
|