memorix 1.6.1 → 1.6.3
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 +35 -0
- package/TEAM.md +86 -86
- package/dist/cli/index.js +2582 -1845
- package/dist/index.js +1355 -683
- package/dist/maintenance-runner.js +1621 -1096
- package/dist/media-audio-runner.js +1612 -1088
- package/dist/media-video-runner.js +1612 -1088
- package/dist/memcode-runtime/CHANGELOG.md +35 -0
- package/dist/sdk.js +2007 -1396
- package/dist/vector-backfill-runner.js +1610 -1086
- package/docs/DESIGN_DECISIONS.md +357 -357
- package/docs/PERFORMANCE.md +15 -0
- package/package.json +2 -1
- package/plugins/claude/memorix/.claude-plugin/plugin.json +1 -1
- package/plugins/codebuddy/memorix/.codebuddy-plugin/plugin.json +1 -1
- package/plugins/codex/memorix/.codex-plugin/plugin.json +1 -1
- package/plugins/copilot/memorix/plugin.json +1 -1
- package/plugins/gemini/memorix/gemini-extension.json +1 -1
- package/plugins/omp/memorix/package.json +1 -1
- package/plugins/openclaw/memorix/.codex-plugin/plugin.json +1 -1
- package/plugins/pi/memorix/package.json +1 -1
- package/server.json +2 -2
- package/src/audit/index.ts +156 -156
- package/src/cli/commands/background.ts +51 -5
- package/src/cli/commands/formation.ts +48 -48
- package/src/cli/commands/git-hook-install.ts +111 -111
- package/src/cli/commands/handoff.ts +54 -54
- package/src/cli/commands/hooks-status.ts +63 -63
- package/src/cli/commands/ingest.ts +44 -44
- package/src/cli/commands/integrate-shared.ts +15 -15
- package/src/cli/commands/lock.ts +82 -82
- package/src/cli/commands/message.ts +104 -104
- package/src/cli/commands/operator-shared.ts +18 -11
- package/src/cli/commands/poll.ts +58 -58
- package/src/cli/commands/reasoning.ts +118 -118
- package/src/cli/commands/serve-http.ts +29 -7
- package/src/cli/commands/serve-shared.ts +49 -6
- package/src/cli/commands/serve.ts +4 -0
- package/src/cli/commands/skills.ts +114 -114
- package/src/cli/commands/task.ts +167 -167
- package/src/cli/commands/transfer.ts +47 -47
- package/src/cli/index.ts +406 -406
- 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/index.ts +41 -41
- package/src/cli/version.ts +7 -7
- package/src/cli/workbench.ts +1 -1
- package/src/dashboard/project-classification.ts +64 -64
- package/src/embedding/api-provider.ts +503 -27
- package/src/embedding/provider.ts +20 -3
- package/src/git/hooks-path.ts +85 -85
- package/src/hooks/lifecycle.ts +1 -0
- package/src/hooks/pattern-detector.ts +173 -173
- package/src/hooks/significance-filter.ts +250 -250
- package/src/llm/memory-manager.ts +328 -328
- package/src/llm/quality.ts +248 -248
- package/src/memory/attribution-guard.ts +249 -249
- package/src/memory/disclosure-policy.ts +135 -135
- package/src/memory/entity-extractor.ts +197 -197
- package/src/memory/formation/evaluate.ts +217 -217
- package/src/memory/freshness.ts +122 -122
- package/src/memory/graph.ts +197 -197
- package/src/memory/observations.ts +68 -18
- package/src/memory/refs.ts +94 -94
- package/src/memory/secret-filter.ts +79 -79
- package/src/memory/session.ts +13 -3
- 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/types.ts +77 -77
- package/src/orchestrate/capability-router.ts +284 -284
- 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 +343 -343
- 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/project/aliases.ts +374 -374
- package/src/project/launch-root.ts +115 -0
- package/src/rules/adapters/trae.ts +56 -56
- package/src/rules/syncer.ts +235 -235
- package/src/runtime/isolated-maintenance.ts +12 -1
- package/src/sdk.ts +12 -8
- package/src/search/query-expansion.ts +52 -52
- package/src/server/formation-timeout.ts +27 -27
- package/src/server.ts +38 -5
- package/src/skills/mini-skills.ts +386 -386
- package/src/store/chat-store.ts +119 -119
- package/src/store/graph-store.ts +249 -249
- package/src/store/mini-skill-store.ts +349 -349
- package/src/store/obs-store.ts +2 -2
- package/src/store/orama-store.ts +21 -3
- 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/sqlite-db.ts +2 -0
- package/src/store/sqlite-store.ts +19 -4
- package/src/team/event-bus.ts +76 -76
- package/src/team/handoff.ts +161 -161
- package/src/team/poll.ts +132 -132
- 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
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project classification helpers — shared by /api/projects and /api/identity.
|
|
3
|
-
*
|
|
4
|
-
* Three kinds:
|
|
5
|
-
* - 'real': genuine user projects (e.g. AVIDS2/memorix, github.com/org/repo)
|
|
6
|
-
* - 'temporary': test/demo/smoke/e2e scratch projects (local/task-*, local/smoke-*, etc.)
|
|
7
|
-
* - 'placeholder': unresolved / obviously broken IDs (placeholder/*, __unresolved__, System32)
|
|
8
|
-
*
|
|
9
|
-
* A 'dirty' project is one with a clearly broken canonical ID (System32 etc.).
|
|
10
|
-
* 'dirty' and 'temporary' are orthogonal axes:
|
|
11
|
-
* - local/task-abc → temporary, NOT dirty
|
|
12
|
-
* - placeholder/xxx → placeholder, dirty
|
|
13
|
-
* - System32\something → real-looking location but dirty (broken ID)
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
export type ProjectKind = 'real' | 'temporary' | 'placeholder';
|
|
17
|
-
|
|
18
|
-
/** Regex list — anything matching is temporary (scratch projects) */
|
|
19
|
-
const TEMPORARY_PATTERNS: RegExp[] = [
|
|
20
|
-
/^local\/task-/i,
|
|
21
|
-
/^local\/smoke-/i,
|
|
22
|
-
/^local\/release-smoke-/i,
|
|
23
|
-
/^local\/memorix-e2e-/i,
|
|
24
|
-
/^local\/orchestrate-/i,
|
|
25
|
-
/^local\/scratch-/i,
|
|
26
|
-
/^local\/tmp-/i,
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
/** Regex list — anything matching is placeholder/unresolved */
|
|
30
|
-
const PLACEHOLDER_PATTERNS: RegExp[] = [
|
|
31
|
-
/^__unresolved__$/,
|
|
32
|
-
/^placeholder\//i,
|
|
33
|
-
];
|
|
34
|
-
|
|
35
|
-
/** Regex list — IDs that indicate a broken canonical ID (dirty). */
|
|
36
|
-
const DIRTY_PATTERNS: RegExp[] = [
|
|
37
|
-
/^placeholder\//i,
|
|
38
|
-
/System32/i,
|
|
39
|
-
/Microsoft VS Code/i,
|
|
40
|
-
/node_modules/i,
|
|
41
|
-
/\.vscode/i,
|
|
42
|
-
/^local\/[A-Z]:\\/i,
|
|
43
|
-
];
|
|
44
|
-
|
|
45
|
-
export function classifyProjectId(id: string): ProjectKind {
|
|
46
|
-
if (!id) return 'placeholder';
|
|
47
|
-
if (PLACEHOLDER_PATTERNS.some(p => p.test(id))) return 'placeholder';
|
|
48
|
-
if (TEMPORARY_PATTERNS.some(p => p.test(id))) return 'temporary';
|
|
49
|
-
return 'real';
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export function isDirtyProjectId(id: string): boolean {
|
|
53
|
-
if (!id) return false;
|
|
54
|
-
return DIRTY_PATTERNS.some(p => p.test(id));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/** Friendly label for UI badges */
|
|
58
|
-
export function projectKindLabel(kind: ProjectKind): string {
|
|
59
|
-
switch (kind) {
|
|
60
|
-
case 'real': return 'real';
|
|
61
|
-
case 'temporary': return 'temporary';
|
|
62
|
-
case 'placeholder': return 'placeholder';
|
|
63
|
-
}
|
|
64
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Project classification helpers — shared by /api/projects and /api/identity.
|
|
3
|
+
*
|
|
4
|
+
* Three kinds:
|
|
5
|
+
* - 'real': genuine user projects (e.g. AVIDS2/memorix, github.com/org/repo)
|
|
6
|
+
* - 'temporary': test/demo/smoke/e2e scratch projects (local/task-*, local/smoke-*, etc.)
|
|
7
|
+
* - 'placeholder': unresolved / obviously broken IDs (placeholder/*, __unresolved__, System32)
|
|
8
|
+
*
|
|
9
|
+
* A 'dirty' project is one with a clearly broken canonical ID (System32 etc.).
|
|
10
|
+
* 'dirty' and 'temporary' are orthogonal axes:
|
|
11
|
+
* - local/task-abc → temporary, NOT dirty
|
|
12
|
+
* - placeholder/xxx → placeholder, dirty
|
|
13
|
+
* - System32\something → real-looking location but dirty (broken ID)
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
export type ProjectKind = 'real' | 'temporary' | 'placeholder';
|
|
17
|
+
|
|
18
|
+
/** Regex list — anything matching is temporary (scratch projects) */
|
|
19
|
+
const TEMPORARY_PATTERNS: RegExp[] = [
|
|
20
|
+
/^local\/task-/i,
|
|
21
|
+
/^local\/smoke-/i,
|
|
22
|
+
/^local\/release-smoke-/i,
|
|
23
|
+
/^local\/memorix-e2e-/i,
|
|
24
|
+
/^local\/orchestrate-/i,
|
|
25
|
+
/^local\/scratch-/i,
|
|
26
|
+
/^local\/tmp-/i,
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
/** Regex list — anything matching is placeholder/unresolved */
|
|
30
|
+
const PLACEHOLDER_PATTERNS: RegExp[] = [
|
|
31
|
+
/^__unresolved__$/,
|
|
32
|
+
/^placeholder\//i,
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
/** Regex list — IDs that indicate a broken canonical ID (dirty). */
|
|
36
|
+
const DIRTY_PATTERNS: RegExp[] = [
|
|
37
|
+
/^placeholder\//i,
|
|
38
|
+
/System32/i,
|
|
39
|
+
/Microsoft VS Code/i,
|
|
40
|
+
/node_modules/i,
|
|
41
|
+
/\.vscode/i,
|
|
42
|
+
/^local\/[A-Z]:\\/i,
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
export function classifyProjectId(id: string): ProjectKind {
|
|
46
|
+
if (!id) return 'placeholder';
|
|
47
|
+
if (PLACEHOLDER_PATTERNS.some(p => p.test(id))) return 'placeholder';
|
|
48
|
+
if (TEMPORARY_PATTERNS.some(p => p.test(id))) return 'temporary';
|
|
49
|
+
return 'real';
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function isDirtyProjectId(id: string): boolean {
|
|
53
|
+
if (!id) return false;
|
|
54
|
+
return DIRTY_PATTERNS.some(p => p.test(id));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Friendly label for UI badges */
|
|
58
|
+
export function projectKindLabel(kind: ProjectKind): string {
|
|
59
|
+
switch (kind) {
|
|
60
|
+
case 'real': return 'real';
|
|
61
|
+
case 'temporary': return 'temporary';
|
|
62
|
+
case 'placeholder': return 'placeholder';
|
|
63
|
+
}
|
|
64
|
+
}
|