memorix 1.2.2 → 1.2.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 +7 -0
- package/TEAM.md +86 -86
- package/dist/cli/index.js +34 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +17 -8
- package/dist/index.js.map +1 -1
- package/dist/maintenance-runner.js.map +1 -1
- package/dist/memcode-runtime/CHANGELOG.md +7 -0
- package/dist/sdk.js +17 -8
- package/dist/sdk.js.map +1 -1
- package/docs/DESIGN_DECISIONS.md +357 -357
- package/docs/dev-log/progress.txt +18 -8
- package/package.json +1 -1
- package/plugins/codex/memorix/.codex-plugin/plugin.json +1 -1
- package/src/audit/index.ts +156 -156
- package/src/cli/commands/audit-list.ts +89 -89
- package/src/cli/commands/background.ts +659 -659
- 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-commit.ts +153 -153
- package/src/cli/commands/ingest-image.ts +66 -66
- 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 +82 -82
- package/src/cli/commands/message.ts +104 -104
- package/src/cli/commands/poll.ts +58 -58
- 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 +118 -118
- package/src/cli/commands/serve-shared.ts +118 -118
- package/src/cli/commands/session.ts +15 -7
- 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/commands/uninstall-project-artifacts.ts +85 -85
- 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/Sidebar.tsx +179 -179
- package/src/cli/tui/index.ts +41 -41
- package/src/cli/tui/markdown-render.tsx +371 -371
- package/src/cli/tui/session-service.ts +3 -2
- 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/compact/token-budget.ts +74 -74
- package/src/dashboard/project-classification.ts +64 -64
- 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/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/provider.ts +885 -885
- 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/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/secret-filter.ts +79 -79
- package/src/memory/session.ts +24 -9
- 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 +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/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 +299 -299
- 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/server.ts +7 -2
- 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/persistence-json.ts +212 -212
- package/src/store/persistence.ts +291 -291
- package/src/store/project-affinity.ts +195 -195
- package/src/team/event-bus.ts +76 -76
- package/src/team/file-locks.ts +173 -173
- package/src/team/handoff.ts +161 -161
- package/src/team/messages.ts +203 -203
- package/src/team/poll.ts +132 -132
- package/src/team/tasks.ts +211 -211
- 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,27 +1,27 @@
|
|
|
1
|
-
export const DEFAULT_FORMATION_TIMEOUT_MS = 12_000;
|
|
2
|
-
export const FORMATION_TIMEOUT_MIN_MS = 1_000;
|
|
3
|
-
export const FORMATION_TIMEOUT_MAX_MS = 300_000;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Parse and validate MEMORIX_FORMATION_TIMEOUT_MS.
|
|
7
|
-
* - Must be a valid integer in the range 1000-300000ms.
|
|
8
|
-
* - Invalid values fall back to the default and log a warning.
|
|
9
|
-
* - Out-of-range values are clamped to the nearest bound.
|
|
10
|
-
* Default: 12000ms (12s).
|
|
11
|
-
*/
|
|
12
|
-
export function parseFormationTimeoutMs(raw: string | undefined): number {
|
|
13
|
-
const value = raw?.trim();
|
|
14
|
-
if (!value) return DEFAULT_FORMATION_TIMEOUT_MS;
|
|
15
|
-
|
|
16
|
-
const parsed = Number(value);
|
|
17
|
-
if (!Number.isInteger(parsed) || Number.isNaN(parsed)) {
|
|
18
|
-
console.warn(
|
|
19
|
-
`[memorix] MEMORIX_FORMATION_TIMEOUT_MS="${raw}" is invalid (must be a positive integer between ${FORMATION_TIMEOUT_MIN_MS}-${FORMATION_TIMEOUT_MAX_MS}ms). Using default ${DEFAULT_FORMATION_TIMEOUT_MS}ms.`,
|
|
20
|
-
);
|
|
21
|
-
return DEFAULT_FORMATION_TIMEOUT_MS;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (parsed < FORMATION_TIMEOUT_MIN_MS) return FORMATION_TIMEOUT_MIN_MS;
|
|
25
|
-
if (parsed > FORMATION_TIMEOUT_MAX_MS) return FORMATION_TIMEOUT_MAX_MS;
|
|
26
|
-
return parsed;
|
|
27
|
-
}
|
|
1
|
+
export const DEFAULT_FORMATION_TIMEOUT_MS = 12_000;
|
|
2
|
+
export const FORMATION_TIMEOUT_MIN_MS = 1_000;
|
|
3
|
+
export const FORMATION_TIMEOUT_MAX_MS = 300_000;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Parse and validate MEMORIX_FORMATION_TIMEOUT_MS.
|
|
7
|
+
* - Must be a valid integer in the range 1000-300000ms.
|
|
8
|
+
* - Invalid values fall back to the default and log a warning.
|
|
9
|
+
* - Out-of-range values are clamped to the nearest bound.
|
|
10
|
+
* Default: 12000ms (12s).
|
|
11
|
+
*/
|
|
12
|
+
export function parseFormationTimeoutMs(raw: string | undefined): number {
|
|
13
|
+
const value = raw?.trim();
|
|
14
|
+
if (!value) return DEFAULT_FORMATION_TIMEOUT_MS;
|
|
15
|
+
|
|
16
|
+
const parsed = Number(value);
|
|
17
|
+
if (!Number.isInteger(parsed) || Number.isNaN(parsed)) {
|
|
18
|
+
console.warn(
|
|
19
|
+
`[memorix] MEMORIX_FORMATION_TIMEOUT_MS="${raw}" is invalid (must be a positive integer between ${FORMATION_TIMEOUT_MIN_MS}-${FORMATION_TIMEOUT_MAX_MS}ms). Using default ${DEFAULT_FORMATION_TIMEOUT_MS}ms.`,
|
|
20
|
+
);
|
|
21
|
+
return DEFAULT_FORMATION_TIMEOUT_MS;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (parsed < FORMATION_TIMEOUT_MIN_MS) return FORMATION_TIMEOUT_MIN_MS;
|
|
25
|
+
if (parsed > FORMATION_TIMEOUT_MAX_MS) return FORMATION_TIMEOUT_MAX_MS;
|
|
26
|
+
return parsed;
|
|
27
|
+
}
|
package/src/server.ts
CHANGED
|
@@ -3614,7 +3614,6 @@ export async function createMemorixServer(
|
|
|
3614
3614
|
if (unresolved) return unresolved;
|
|
3615
3615
|
|
|
3616
3616
|
const { startSession } = await import('./memory/session.js');
|
|
3617
|
-
const result = await startSession(projectDir, project.id, { sessionId, agent });
|
|
3618
3617
|
|
|
3619
3618
|
const llmStatus = isLLMEnabled()
|
|
3620
3619
|
? `LLM enhanced mode: ${getLLMConfig()?.provider}/${getLLMConfig()?.model} (fact extraction + auto-dedup active)`
|
|
@@ -3690,6 +3689,12 @@ export async function createMemorixServer(
|
|
|
3690
3689
|
}
|
|
3691
3690
|
} catch { /* team auto-registration is best-effort */ }
|
|
3692
3691
|
|
|
3692
|
+
const result = await startSession(projectDir, project.id, {
|
|
3693
|
+
sessionId,
|
|
3694
|
+
agent,
|
|
3695
|
+
reader: getObservationReader(),
|
|
3696
|
+
});
|
|
3697
|
+
|
|
3693
3698
|
const lines = [
|
|
3694
3699
|
`[OK] Session started: ${result.session.id}`,
|
|
3695
3700
|
`Project: ${project.name} (${project.id})`,
|
|
@@ -3825,7 +3830,7 @@ export async function createMemorixServer(
|
|
|
3825
3830
|
async ({ limit }) => {
|
|
3826
3831
|
const safeLimit = limit != null ? coerceNumber(limit, 3) : 3;
|
|
3827
3832
|
const { getSessionContext, listSessions } = await import('./memory/session.js');
|
|
3828
|
-
const context = await getSessionContext(projectDir, project.id, safeLimit);
|
|
3833
|
+
const context = await getSessionContext(projectDir, project.id, safeLimit, getObservationReader());
|
|
3829
3834
|
const sessions = await listSessions(projectDir, project.id);
|
|
3830
3835
|
|
|
3831
3836
|
const activeSessions = sessions.filter(s => s.status === 'active');
|