nlm-memory 0.5.21 → 0.6.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/README.md +129 -19
- package/dist/cli/classify-parity.js +1 -1
- package/dist/cli/classify-parity.js.map +1 -1
- package/dist/cli/nlm.js +152 -12
- package/dist/cli/nlm.js.map +1 -1
- package/dist/core/actions/overlay.d.ts +22 -0
- package/dist/core/actions/overlay.js +56 -0
- package/dist/core/actions/overlay.js.map +1 -1
- package/dist/core/adapters/pi.js +13 -3
- package/dist/core/adapters/pi.js.map +1 -1
- package/dist/core/classifier/prompt.d.ts +1 -1
- package/dist/core/classifier/prompt.js +1 -1
- package/dist/core/dataset/build-dataset.d.ts +14 -1
- package/dist/core/dataset/build-dataset.js +68 -11
- package/dist/core/dataset/build-dataset.js.map +1 -1
- package/dist/core/hook/miss-detect.d.ts +32 -0
- package/dist/core/hook/miss-detect.js +67 -0
- package/dist/core/hook/miss-detect.js.map +1 -0
- package/dist/core/hook/pointer-block.d.ts +12 -1
- package/dist/core/hook/pointer-block.js +25 -8
- package/dist/core/hook/pointer-block.js.map +1 -1
- package/dist/core/providers/provider-registry.js +1 -1
- package/dist/core/providers/provider-registry.js.map +1 -1
- package/dist/core/recall/miss-log.d.ts +47 -0
- package/dist/core/recall/miss-log.js +112 -0
- package/dist/core/recall/miss-log.js.map +1 -0
- package/dist/core/recall/query-log.d.ts +3 -0
- package/dist/core/recall/query-log.js +1 -0
- package/dist/core/recall/query-log.js.map +1 -1
- package/dist/core/recall/recall-service.d.ts +9 -0
- package/dist/core/recall/recall-service.js +81 -18
- package/dist/core/recall/recall-service.js.map +1 -1
- package/dist/core/recall/recency.d.ts +52 -0
- package/dist/core/recall/recency.js +98 -0
- package/dist/core/recall/recency.js.map +1 -0
- package/dist/core/recall/recent-log.d.ts +1 -0
- package/dist/core/recall/recent-log.js +1 -0
- package/dist/core/recall/recent-log.js.map +1 -1
- package/dist/core/recall/related-facts.d.ts +30 -0
- package/dist/core/recall/related-facts.js +134 -0
- package/dist/core/recall/related-facts.js.map +1 -0
- package/dist/core/recall/rewrite-cache.d.ts +25 -0
- package/dist/core/recall/rewrite-cache.js +60 -0
- package/dist/core/recall/rewrite-cache.js.map +1 -0
- package/dist/core/recall/rewrite-prompt.d.ts +23 -0
- package/dist/core/recall/rewrite-prompt.js +81 -0
- package/dist/core/recall/rewrite-prompt.js.map +1 -0
- package/dist/core/recall-facts/fact-recall-service.d.ts +11 -0
- package/dist/core/recall-facts/fact-recall-service.js +69 -4
- package/dist/core/recall-facts/fact-recall-service.js.map +1 -1
- package/dist/core/scheduler/scheduler.d.ts +7 -0
- package/dist/core/scheduler/scheduler.js +26 -0
- package/dist/core/scheduler/scheduler.js.map +1 -1
- package/dist/core/signals/aggregate.d.ts +21 -0
- package/dist/core/signals/aggregate.js +34 -0
- package/dist/core/signals/aggregate.js.map +1 -0
- package/dist/core/signals/failure-mode-recall.d.ts +18 -0
- package/dist/core/signals/failure-mode-recall.js +28 -0
- package/dist/core/signals/failure-mode-recall.js.map +1 -0
- package/dist/core/signals/ingest-signal.d.ts +19 -0
- package/dist/core/signals/ingest-signal.js +63 -0
- package/dist/core/signals/ingest-signal.js.map +1 -0
- package/dist/core/signals/install-scope.d.ts +8 -0
- package/dist/core/signals/install-scope.js +41 -0
- package/dist/core/signals/install-scope.js.map +1 -0
- package/dist/core/signals/recommend.d.ts +13 -0
- package/dist/core/signals/recommend.js +24 -0
- package/dist/core/signals/recommend.js.map +1 -0
- package/dist/core/storage/pg-fact-store.d.ts +5 -0
- package/dist/core/storage/pg-fact-store.js +29 -0
- package/dist/core/storage/pg-fact-store.js.map +1 -1
- package/dist/core/storage/pg-session-store.js +16 -1
- package/dist/core/storage/pg-session-store.js.map +1 -1
- package/dist/core/storage/pg-signal-store.d.ts +16 -0
- package/dist/core/storage/pg-signal-store.js +100 -0
- package/dist/core/storage/pg-signal-store.js.map +1 -0
- package/dist/core/storage/pg-storage.d.ts +2 -0
- package/dist/core/storage/pg-storage.js +3 -0
- package/dist/core/storage/pg-storage.js.map +1 -1
- package/dist/core/storage/pg-tx-context.d.ts +5 -0
- package/dist/core/storage/pg-tx-context.js +3 -0
- package/dist/core/storage/pg-tx-context.js.map +1 -1
- package/dist/core/storage/sqlite-fact-store.d.ts +5 -0
- package/dist/core/storage/sqlite-fact-store.js +30 -0
- package/dist/core/storage/sqlite-fact-store.js.map +1 -1
- package/dist/core/storage/sqlite-session-store.d.ts +3 -0
- package/dist/core/storage/sqlite-session-store.js +21 -1
- package/dist/core/storage/sqlite-session-store.js.map +1 -1
- package/dist/core/storage/sqlite-signal-store.d.ts +20 -0
- package/dist/core/storage/sqlite-signal-store.js +112 -0
- package/dist/core/storage/sqlite-signal-store.js.map +1 -0
- package/dist/core/storage/sqlite-storage.d.ts +2 -0
- package/dist/core/storage/sqlite-storage.js +6 -2
- package/dist/core/storage/sqlite-storage.js.map +1 -1
- package/dist/hook/pi-extension.d.ts +3 -1
- package/dist/hook/pi-extension.js +4 -2
- package/dist/hook/pi-extension.js.map +1 -1
- package/dist/hook/prompt-recall-hook.d.ts +10 -1
- package/dist/hook/prompt-recall-hook.js +11 -5
- package/dist/hook/prompt-recall-hook.js.map +1 -1
- package/dist/hook/recall-over-http.d.ts +11 -1
- package/dist/hook/recall-over-http.js +21 -6
- package/dist/hook/recall-over-http.js.map +1 -1
- package/dist/hook/session-start-hook.d.ts +2 -0
- package/dist/hook/session-start-hook.js +36 -3
- package/dist/hook/session-start-hook.js.map +1 -1
- package/dist/hook/stop-hook.js +16 -0
- package/dist/hook/stop-hook.js.map +1 -1
- package/dist/http/app.d.ts +9 -0
- package/dist/http/app.js +125 -10
- package/dist/http/app.js.map +1 -1
- package/dist/install/codex.d.ts +1 -1
- package/dist/install/codex.js +4 -4
- package/dist/install/codex.js.map +1 -1
- package/dist/install/ollama.d.ts +10 -0
- package/dist/install/ollama.js +19 -3
- package/dist/install/ollama.js.map +1 -1
- package/dist/install/pi.d.ts +1 -1
- package/dist/install/pi.js +1 -1
- package/dist/install/rules-content.d.ts +51 -0
- package/dist/install/rules-content.js +140 -0
- package/dist/install/rules-content.js.map +1 -0
- package/dist/install/rules-install.d.ts +35 -0
- package/dist/install/rules-install.js +79 -0
- package/dist/install/rules-install.js.map +1 -0
- package/dist/install/setup.js +63 -10
- package/dist/install/setup.js.map +1 -1
- package/dist/llm/classifier-box.d.ts +2 -1
- package/dist/llm/classifier-box.js +3 -0
- package/dist/llm/classifier-box.js.map +1 -1
- package/dist/llm/deepseek-client.d.ts +5 -2
- package/dist/llm/deepseek-client.js +51 -1
- package/dist/llm/deepseek-client.js.map +1 -1
- package/dist/llm/ollama-client.d.ts +3 -2
- package/dist/llm/ollama-client.js +45 -2
- package/dist/llm/ollama-client.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +23 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/ports/fact-store.d.ts +0 -0
- package/dist/ports/fact-store.js +0 -0
- package/dist/ports/fact-store.js.map +1 -1
- package/dist/ports/llm-client.d.ts +24 -0
- package/dist/ports/signal-store.d.ts +30 -0
- package/dist/ports/signal-store.js +9 -0
- package/dist/ports/signal-store.js.map +1 -0
- package/dist/ports/storage.d.ts +2 -0
- package/dist/ports/transcript-adapter.d.ts +6 -0
- package/dist/shared/types.d.ts +76 -0
- package/dist/ui/assets/index-CgHq6xeZ.css +1 -0
- package/dist/ui/assets/index-DLDd-OM_.js +69 -0
- package/dist/ui/index.html +2 -2
- package/nlm/README.md +1 -1
- package/nlm/index.js +46 -21
- package/package.json +7 -5
- package/plugin/.codex-plugin/plugin.json +2 -2
- package/plugin/README.md +3 -3
- package/plugin/scripts/prompt-recall-hook.mjs +45 -20
- package/plugin/scripts/stop-hook.mjs +80 -6
- package/plugin-hermes-agent/README.md +49 -0
- package/plugin-hermes-agent/__init__.py +75 -0
- package/plugin-hermes-agent/plugin.yaml +15 -0
- package/dist/ui/assets/index-B7j5U42U.css +0 -1
- package/dist/ui/assets/index-BO0dvNHn.js +0 -69
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared rules-file content + idempotent writer for MCP-only runtimes
|
|
3
|
+
* (Cursor, Windsurf, OpenCode) that lack a pre-prompt hook surface.
|
|
4
|
+
*
|
|
5
|
+
* Each runtime's install adapter calls upsertRulesBlock(targetPath) to write
|
|
6
|
+
* RULES_BLOCK between sentinel markers. Re-running is idempotent: the
|
|
7
|
+
* sentinel-bracketed region is replaced in place, leaving any unrelated
|
|
8
|
+
* content in the target file intact. removeRulesBlock(targetPath) strips
|
|
9
|
+
* only the bracketed region, preserving the rest.
|
|
10
|
+
*
|
|
11
|
+
* Conservative wording: the block instructs the agent to call
|
|
12
|
+
* `recall_sessions` only on history-flavored prompts and to skip on
|
|
13
|
+
* greenfield ones. This trades some recall fire-rate for less noise on
|
|
14
|
+
* prompts where prior context isn't useful.
|
|
15
|
+
*/
|
|
16
|
+
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
17
|
+
import { dirname } from "node:path";
|
|
18
|
+
export const CURSOR_MDC_FRONTMATTER = `---
|
|
19
|
+
description: nlm-memory recall nudge — call recall_sessions on history-flavored prompts
|
|
20
|
+
alwaysApply: true
|
|
21
|
+
---
|
|
22
|
+
`;
|
|
23
|
+
export const START_SENTINEL = "<!-- nlm-memory:start -->";
|
|
24
|
+
export const END_SENTINEL = "<!-- nlm-memory:end -->";
|
|
25
|
+
export const RULES_BLOCK = `# nlm-memory recall
|
|
26
|
+
|
|
27
|
+
If the user references prior work, prior decisions, ongoing projects,
|
|
28
|
+
or asks "what did we figure out about X" / "where did we leave Y" /
|
|
29
|
+
"is Z still open" — call the \`recall_sessions\` MCP tool first with the
|
|
30
|
+
relevant keywords and treat its output as primary context. Cite returned
|
|
31
|
+
session IDs when you reference them.
|
|
32
|
+
|
|
33
|
+
Skip recall on greenfield prompts: drafting new content from scratch,
|
|
34
|
+
naming, brainstorming, or any forward-looking task with no plausible
|
|
35
|
+
prior context.
|
|
36
|
+
`;
|
|
37
|
+
function bracketed() {
|
|
38
|
+
return `${START_SENTINEL}\n${RULES_BLOCK}${END_SENTINEL}\n`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Write the rules block to targetPath, creating the file (and parent dirs)
|
|
42
|
+
* if needed. If a sentinel-bracketed block already exists, replace it in
|
|
43
|
+
* place; otherwise append to the existing file. Returns the action taken.
|
|
44
|
+
*/
|
|
45
|
+
export function upsertRulesBlock(targetPath) {
|
|
46
|
+
const block = bracketed();
|
|
47
|
+
if (!existsSync(targetPath)) {
|
|
48
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
49
|
+
writeFileSync(targetPath, block, { mode: 0o644 });
|
|
50
|
+
return { action: "created", targetPath };
|
|
51
|
+
}
|
|
52
|
+
const existing = readFileSync(targetPath, "utf8");
|
|
53
|
+
const startIdx = existing.indexOf(START_SENTINEL);
|
|
54
|
+
const endIdx = existing.indexOf(END_SENTINEL);
|
|
55
|
+
if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
|
|
56
|
+
// Existing managed block — replace in place. Capture content before
|
|
57
|
+
// the start sentinel and after the end sentinel (plus its trailing
|
|
58
|
+
// newline if present) to preserve surrounding user content.
|
|
59
|
+
const before = existing.slice(0, startIdx);
|
|
60
|
+
let afterStart = endIdx + END_SENTINEL.length;
|
|
61
|
+
if (existing[afterStart] === "\n")
|
|
62
|
+
afterStart += 1;
|
|
63
|
+
const after = existing.slice(afterStart);
|
|
64
|
+
const next = `${before}${block}${after}`;
|
|
65
|
+
if (next === existing)
|
|
66
|
+
return { action: "unchanged", targetPath };
|
|
67
|
+
writeFileSync(targetPath, next, { mode: 0o644 });
|
|
68
|
+
return { action: "replaced", targetPath };
|
|
69
|
+
}
|
|
70
|
+
// No managed block present — append. Ensure exactly one blank line
|
|
71
|
+
// between any prior content and the new block.
|
|
72
|
+
const trimmed = existing.replace(/\s*$/, "");
|
|
73
|
+
const next = trimmed.length === 0 ? block : `${trimmed}\n\n${block}`;
|
|
74
|
+
writeFileSync(targetPath, next, { mode: 0o644 });
|
|
75
|
+
return { action: "appended", targetPath };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Write a dedicated NLM-owned rules file (no sentinels — whole-file ownership).
|
|
79
|
+
* Used for Cursor's .mdc rules where the file is single-purpose and benefits
|
|
80
|
+
* from YAML frontmatter being at the very top with no other content.
|
|
81
|
+
*/
|
|
82
|
+
export function writeDedicatedRulesFile(targetPath, prefix = "") {
|
|
83
|
+
const next = `${prefix}${RULES_BLOCK}`;
|
|
84
|
+
if (!existsSync(targetPath)) {
|
|
85
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
86
|
+
writeFileSync(targetPath, next, { mode: 0o644 });
|
|
87
|
+
return { action: "created", targetPath };
|
|
88
|
+
}
|
|
89
|
+
const existing = readFileSync(targetPath, "utf8");
|
|
90
|
+
if (existing === next)
|
|
91
|
+
return { action: "unchanged", targetPath };
|
|
92
|
+
writeFileSync(targetPath, next, { mode: 0o644 });
|
|
93
|
+
return { action: "replaced", targetPath };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Delete a dedicated NLM-owned rules file. No-op if the file doesn't exist.
|
|
97
|
+
*/
|
|
98
|
+
export function deleteDedicatedRulesFile(targetPath) {
|
|
99
|
+
if (!existsSync(targetPath))
|
|
100
|
+
return { action: "no-file", targetPath };
|
|
101
|
+
unlinkSync(targetPath);
|
|
102
|
+
return { action: "deleted-file", targetPath };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Strip the sentinel-bracketed block from targetPath. If the file would be
|
|
106
|
+
* empty (or whitespace-only) after removal, delete the file. If the file
|
|
107
|
+
* doesn't exist or doesn't contain the block, no-op.
|
|
108
|
+
*/
|
|
109
|
+
export function removeRulesBlock(targetPath) {
|
|
110
|
+
if (!existsSync(targetPath))
|
|
111
|
+
return { action: "no-file", targetPath };
|
|
112
|
+
const existing = readFileSync(targetPath, "utf8");
|
|
113
|
+
const startIdx = existing.indexOf(START_SENTINEL);
|
|
114
|
+
const endIdx = existing.indexOf(END_SENTINEL);
|
|
115
|
+
if (startIdx === -1 || endIdx === -1 || endIdx <= startIdx) {
|
|
116
|
+
return { action: "not-present", targetPath };
|
|
117
|
+
}
|
|
118
|
+
const before = existing.slice(0, startIdx).replace(/\s*$/, "");
|
|
119
|
+
let afterStart = endIdx + END_SENTINEL.length;
|
|
120
|
+
if (existing[afterStart] === "\n")
|
|
121
|
+
afterStart += 1;
|
|
122
|
+
const after = existing.slice(afterStart).replace(/^\s*/, "");
|
|
123
|
+
let next;
|
|
124
|
+
if (before.length === 0 && after.length === 0) {
|
|
125
|
+
unlinkSync(targetPath);
|
|
126
|
+
return { action: "deleted-file", targetPath };
|
|
127
|
+
}
|
|
128
|
+
else if (before.length === 0) {
|
|
129
|
+
next = `${after}\n`.replace(/\n+$/, "\n");
|
|
130
|
+
}
|
|
131
|
+
else if (after.length === 0) {
|
|
132
|
+
next = `${before}\n`;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
next = `${before}\n\n${after}\n`.replace(/\n+$/, "\n");
|
|
136
|
+
}
|
|
137
|
+
writeFileSync(targetPath, next, { mode: 0o644 });
|
|
138
|
+
return { action: "removed", targetPath };
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=rules-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-content.js","sourceRoot":"","sources":["../../src/install/rules-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-runtime rules-file install adapters for MCP-only runtimes
|
|
3
|
+
* (Cursor, Windsurf, OpenCode). Each function resolves the runtime's
|
|
4
|
+
* canonical rules-file path on this OS and delegates to upsertRulesBlock /
|
|
5
|
+
* removeRulesBlock for the actual write.
|
|
6
|
+
*
|
|
7
|
+
* Cursor is workspace-scoped only — current Cursor builds don't expose a
|
|
8
|
+
* documented file path for user-global rules (the UI manages them). The
|
|
9
|
+
* cwd is the install target; pass cwd= to override (tests + multi-project
|
|
10
|
+
* scripting).
|
|
11
|
+
*
|
|
12
|
+
* Windsurf and OpenCode both have user-global file paths and install there.
|
|
13
|
+
*/
|
|
14
|
+
import { type RemoveResult, type UpsertResult } from "./rules-content.js";
|
|
15
|
+
export interface InstallRulesOptions {
|
|
16
|
+
/** Working directory for Cursor (workspace-scoped). Ignored elsewhere. */
|
|
17
|
+
readonly cwd?: string;
|
|
18
|
+
/** Home directory override for tests. */
|
|
19
|
+
readonly home?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function cursorRulesPath(opts?: InstallRulesOptions): string;
|
|
22
|
+
export declare function windsurfRulesPath(opts?: InstallRulesOptions): string;
|
|
23
|
+
export declare function opencodeRulesPath(opts?: InstallRulesOptions): string;
|
|
24
|
+
export declare function installCursorRules(opts?: InstallRulesOptions): UpsertResult;
|
|
25
|
+
export declare function uninstallCursorRules(opts?: InstallRulesOptions): RemoveResult;
|
|
26
|
+
export declare function installWindsurfRules(opts?: InstallRulesOptions): UpsertResult;
|
|
27
|
+
export declare function uninstallWindsurfRules(opts?: InstallRulesOptions): RemoveResult;
|
|
28
|
+
export declare function installOpencodeRules(opts?: InstallRulesOptions): UpsertResult;
|
|
29
|
+
export declare function uninstallOpencodeRules(opts?: InstallRulesOptions): RemoveResult;
|
|
30
|
+
/**
|
|
31
|
+
* Human-readable summary for the connect command's stdout. Returns null when
|
|
32
|
+
* nothing changed.
|
|
33
|
+
*/
|
|
34
|
+
export declare function describeUpsert(runtime: string, result: UpsertResult): string;
|
|
35
|
+
export declare function describeRemove(runtime: string, result: RemoveResult): string;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-runtime rules-file install adapters for MCP-only runtimes
|
|
3
|
+
* (Cursor, Windsurf, OpenCode). Each function resolves the runtime's
|
|
4
|
+
* canonical rules-file path on this OS and delegates to upsertRulesBlock /
|
|
5
|
+
* removeRulesBlock for the actual write.
|
|
6
|
+
*
|
|
7
|
+
* Cursor is workspace-scoped only — current Cursor builds don't expose a
|
|
8
|
+
* documented file path for user-global rules (the UI manages them). The
|
|
9
|
+
* cwd is the install target; pass cwd= to override (tests + multi-project
|
|
10
|
+
* scripting).
|
|
11
|
+
*
|
|
12
|
+
* Windsurf and OpenCode both have user-global file paths and install there.
|
|
13
|
+
*/
|
|
14
|
+
import { homedir, platform } from "node:os";
|
|
15
|
+
import { join } from "node:path";
|
|
16
|
+
import { CURSOR_MDC_FRONTMATTER, deleteDedicatedRulesFile, removeRulesBlock, upsertRulesBlock, writeDedicatedRulesFile, } from "./rules-content.js";
|
|
17
|
+
const CURSOR_RULE_RELATIVE = join(".cursor", "rules", "nlm-recall.mdc");
|
|
18
|
+
const WINDSURF_GLOBAL = join(".codeium", "windsurf", "memories", "global_rules.md");
|
|
19
|
+
const OPENCODE_GLOBAL = join(".config", "opencode", "AGENTS.md");
|
|
20
|
+
export function cursorRulesPath(opts = {}) {
|
|
21
|
+
return join(opts.cwd ?? process.cwd(), CURSOR_RULE_RELATIVE);
|
|
22
|
+
}
|
|
23
|
+
export function windsurfRulesPath(opts = {}) {
|
|
24
|
+
return join(opts.home ?? homedir(), WINDSURF_GLOBAL);
|
|
25
|
+
}
|
|
26
|
+
export function opencodeRulesPath(opts = {}) {
|
|
27
|
+
return join(opts.home ?? homedir(), OPENCODE_GLOBAL);
|
|
28
|
+
}
|
|
29
|
+
export function installCursorRules(opts = {}) {
|
|
30
|
+
// Cursor MDC: dedicated single-purpose file with YAML frontmatter at top.
|
|
31
|
+
return writeDedicatedRulesFile(cursorRulesPath(opts), CURSOR_MDC_FRONTMATTER);
|
|
32
|
+
}
|
|
33
|
+
export function uninstallCursorRules(opts = {}) {
|
|
34
|
+
return deleteDedicatedRulesFile(cursorRulesPath(opts));
|
|
35
|
+
}
|
|
36
|
+
export function installWindsurfRules(opts = {}) {
|
|
37
|
+
return upsertRulesBlock(windsurfRulesPath(opts));
|
|
38
|
+
}
|
|
39
|
+
export function uninstallWindsurfRules(opts = {}) {
|
|
40
|
+
return removeRulesBlock(windsurfRulesPath(opts));
|
|
41
|
+
}
|
|
42
|
+
export function installOpencodeRules(opts = {}) {
|
|
43
|
+
return upsertRulesBlock(opencodeRulesPath(opts));
|
|
44
|
+
}
|
|
45
|
+
export function uninstallOpencodeRules(opts = {}) {
|
|
46
|
+
return removeRulesBlock(opencodeRulesPath(opts));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Human-readable summary for the connect command's stdout. Returns null when
|
|
50
|
+
* nothing changed.
|
|
51
|
+
*/
|
|
52
|
+
export function describeUpsert(runtime, result) {
|
|
53
|
+
switch (result.action) {
|
|
54
|
+
case "created":
|
|
55
|
+
return `nlm rules nudge created: ${result.targetPath} (${runtime})`;
|
|
56
|
+
case "appended":
|
|
57
|
+
return `nlm rules nudge appended to existing file: ${result.targetPath} (${runtime})`;
|
|
58
|
+
case "replaced":
|
|
59
|
+
return `nlm rules nudge updated in place: ${result.targetPath} (${runtime})`;
|
|
60
|
+
case "unchanged":
|
|
61
|
+
return `nlm rules nudge already current: ${result.targetPath} (${runtime})`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export function describeRemove(runtime, result) {
|
|
65
|
+
switch (result.action) {
|
|
66
|
+
case "removed":
|
|
67
|
+
return `nlm rules nudge removed from ${result.targetPath} (${runtime})`;
|
|
68
|
+
case "deleted-file":
|
|
69
|
+
return `nlm rules nudge file deleted: ${result.targetPath} (${runtime})`;
|
|
70
|
+
case "not-present":
|
|
71
|
+
return `no nlm rules nudge found in ${result.targetPath} (${runtime})`;
|
|
72
|
+
case "no-file":
|
|
73
|
+
return `no rules file at ${result.targetPath} (${runtime})`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Silence unused-import warning for platform; reserved for future
|
|
77
|
+
// Windows/Linux divergence in path resolution (currently uniform via $HOME).
|
|
78
|
+
void platform;
|
|
79
|
+
//# sourceMappingURL=rules-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-install.js","sourceRoot":"","sources":["../../src/install/rules-install.ts"],"names":[],"mappings":"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"}
|
package/dist/install/setup.js
CHANGED
|
@@ -19,7 +19,8 @@ import { connectHermes } from "./hermes.js";
|
|
|
19
19
|
import { codexBinaryAvailable, connectCodex, pluginScriptsDir } from "./codex.js";
|
|
20
20
|
import { connectPi } from "./pi.js";
|
|
21
21
|
import { defaultDbPath as openCodeDefaultDbPath } from "../core/adapters/opencode.js";
|
|
22
|
-
import { EMBEDDING_MODEL, embeddingModelPresent, ensureMcpToken, installOllama, ollamaBinaryAvailable, ollamaServerRunning, pullEmbeddingModel, startOllamaServer, waitForOllamaServer, writeClassifierConfig, } from "./ollama.js";
|
|
22
|
+
import { EMBEDDING_MODEL, embeddingModelPresent, ensureMcpToken, installOllama, ollamaBinaryAvailable, ollamaModelPresent, ollamaServerRunning, pullEmbeddingModel, pullOllamaModel, startOllamaServer, waitForOllamaServer, writeClassifierConfig, } from "./ollama.js";
|
|
23
|
+
const RECOMMENDED_OLLAMA_CLASSIFIER = "qwen3:4b-instruct-2507-q4_K_M";
|
|
23
24
|
import { installClaudeCodeHooks } from "./claude-code.js";
|
|
24
25
|
import { hardenNlmDirPermissions } from "./nlm-dir-perms.js";
|
|
25
26
|
const OS = platform();
|
|
@@ -240,15 +241,32 @@ export async function runSetup(opts) {
|
|
|
240
241
|
}
|
|
241
242
|
else {
|
|
242
243
|
const ollamaModels = await fetchOllamaChatModels();
|
|
243
|
-
|
|
244
|
+
const recommendedPresent = ollamaModels.includes(RECOMMENDED_OLLAMA_CLASSIFIER);
|
|
245
|
+
let modelValue = RECOMMENDED_OLLAMA_CLASSIFIER;
|
|
244
246
|
if (ollamaModels.length > 0) {
|
|
247
|
+
const options = [];
|
|
248
|
+
if (!recommendedPresent) {
|
|
249
|
+
options.push({
|
|
250
|
+
value: `__pull__:${RECOMMENDED_OLLAMA_CLASSIFIER}`,
|
|
251
|
+
label: `${RECOMMENDED_OLLAMA_CLASSIFIER} (pull now)`,
|
|
252
|
+
hint: "recommended default — best local classifier (2026-06-02 bench), ~3.5 GB",
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
for (const m of ollamaModels) {
|
|
256
|
+
if (m === RECOMMENDED_OLLAMA_CLASSIFIER) {
|
|
257
|
+
options.push({
|
|
258
|
+
value: m,
|
|
259
|
+
label: m,
|
|
260
|
+
hint: "recommended default — best local classifier (2026-06-02 bench)",
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
options.push({ value: m, label: m });
|
|
265
|
+
}
|
|
266
|
+
}
|
|
245
267
|
const model = await select({
|
|
246
268
|
message: "Which Ollama chat model?",
|
|
247
|
-
options
|
|
248
|
-
value: m,
|
|
249
|
-
label: m,
|
|
250
|
-
hint: m === "phi4-mini:latest" ? "recommended default — small, fast" : undefined,
|
|
251
|
-
})),
|
|
269
|
+
options,
|
|
252
270
|
});
|
|
253
271
|
if (isCancel(model)) {
|
|
254
272
|
cancel("Setup cancelled.");
|
|
@@ -257,8 +275,43 @@ export async function runSetup(opts) {
|
|
|
257
275
|
modelValue = model;
|
|
258
276
|
}
|
|
259
277
|
else {
|
|
260
|
-
log.warn(
|
|
261
|
-
|
|
278
|
+
log.warn(`No Ollama chat models detected. Recommended default: ${RECOMMENDED_OLLAMA_CLASSIFIER}.`);
|
|
279
|
+
}
|
|
280
|
+
// Auto-pull path: triggered either by explicit "pull now" choice from the
|
|
281
|
+
// menu, or by the no-models-present branch above.
|
|
282
|
+
const pullPrefix = "__pull__:";
|
|
283
|
+
const needsPull = modelValue.startsWith(pullPrefix) ||
|
|
284
|
+
(ollamaModels.length === 0 && modelValue === RECOMMENDED_OLLAMA_CLASSIFIER);
|
|
285
|
+
if (needsPull) {
|
|
286
|
+
const targetTag = modelValue.startsWith(pullPrefix)
|
|
287
|
+
? modelValue.slice(pullPrefix.length)
|
|
288
|
+
: modelValue;
|
|
289
|
+
modelValue = targetTag;
|
|
290
|
+
const doPull = await confirm({
|
|
291
|
+
message: `Pull ${targetTag} now? (~3.5 GB, required for local classification)`,
|
|
292
|
+
});
|
|
293
|
+
if (isCancel(doPull)) {
|
|
294
|
+
cancel("Setup cancelled.");
|
|
295
|
+
process.exit(0);
|
|
296
|
+
}
|
|
297
|
+
if (doPull) {
|
|
298
|
+
const ps = spinner();
|
|
299
|
+
ps.start(`Pulling ${targetTag} (this may take a few minutes)`);
|
|
300
|
+
const result = pullOllamaModel(targetTag);
|
|
301
|
+
if (result.ok) {
|
|
302
|
+
ps.stop(`${targetTag} ready`);
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
ps.stop("Model pull failed");
|
|
306
|
+
log.warn(`Run \`ollama pull ${targetTag}\` manually to retry.`);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
log.warn(`Skipping model pull — run \`ollama pull ${targetTag}\` before classifying.`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
else if (!ollamaModelPresent(modelValue)) {
|
|
314
|
+
log.warn(`${modelValue} not detected locally — run \`ollama pull ${modelValue}\` before classifying.`);
|
|
262
315
|
}
|
|
263
316
|
writeClassifierConfig({ choice: "ollama-offline", model: modelValue });
|
|
264
317
|
log.success(`Ollama classifier (${modelValue}) saved to ~/.nlm/.env`);
|
|
@@ -408,7 +461,7 @@ export async function runSetup(opts) {
|
|
|
408
461
|
const cs = spinner();
|
|
409
462
|
cs.start("Connecting Codex");
|
|
410
463
|
try {
|
|
411
|
-
const report = connectCodex({ source: "pbmagnet4/nlm-memory
|
|
464
|
+
const report = connectCodex({ source: "pbmagnet4/nlm-memory" }, pluginScriptsDir(opts.repoRoot));
|
|
412
465
|
if (report.marketplaceAdd?.status !== 0 || report.pluginAdd?.status !== 0) {
|
|
413
466
|
cs.stop("Codex connect had errors — run `nlm connect codex` manually to retry");
|
|
414
467
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/install/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/install/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* separately through the dedicated Ollama embedder; the classifier slot is
|
|
8
8
|
* for transcript classification only.
|
|
9
9
|
*/
|
|
10
|
-
import type { ClassifyResult, EmbedResult, EmbeddingKind, LLMClient } from "../ports/llm-client.js";
|
|
10
|
+
import type { ClassifyResult, EmbedResult, EmbeddingKind, LLMClient, RewriteResult } from "../ports/llm-client.js";
|
|
11
11
|
export type ClassifierProvider = "deepseek" | "ollama";
|
|
12
12
|
export interface ClassifierBoxOptions {
|
|
13
13
|
readonly provider: ClassifierProvider;
|
|
@@ -25,5 +25,6 @@ export declare class ClassifierBox implements LLMClient {
|
|
|
25
25
|
swap(provider: ClassifierProvider, model: string): void;
|
|
26
26
|
embed(_text: string, _kind: EmbeddingKind): Promise<EmbedResult>;
|
|
27
27
|
classify(transcript: string): Promise<ClassifyResult>;
|
|
28
|
+
rewriteForRecall(query: string): Promise<RewriteResult>;
|
|
28
29
|
private construct;
|
|
29
30
|
}
|
|
@@ -33,6 +33,9 @@ export class ClassifierBox {
|
|
|
33
33
|
classify(transcript) {
|
|
34
34
|
return this.inner.classify(transcript);
|
|
35
35
|
}
|
|
36
|
+
rewriteForRecall(query) {
|
|
37
|
+
return this.inner.rewriteForRecall(query);
|
|
38
|
+
}
|
|
36
39
|
construct(provider, model) {
|
|
37
40
|
if (provider === "ollama") {
|
|
38
41
|
return new OllamaClient({ baseUrl: this.ollamaUrl, classifyModel: model });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classifier-box.js","sourceRoot":"","sources":["../../src/llm/classifier-box.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"classifier-box.js","sourceRoot":"","sources":["../../src/llm/classifier-box.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUlD,MAAM,OAAO,aAAa;IAChB,KAAK,CAAY;IACjB,YAAY,CAAqB;IACjC,SAAS,CAAS;IACT,SAAS,CAAS;IAEnC,YAAY,IAA0B;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,KAAyB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9C,IAAI,CAAC,QAA4B,EAAE,KAAa;QAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,KAAoB;QACvC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAED,QAAQ,CAAC,UAAkB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEO,SAAS,CAAC,QAA4B,EAAE,KAAa;QAC3D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* • ~$0.002/session at typical sizes — full backfill of ~1,200 sessions
|
|
8
8
|
* ≈ $2.50.
|
|
9
9
|
* • Strong extraction quality (12+ entities, accurate decisions,
|
|
10
|
-
* 0.9 confidence)
|
|
10
|
+
* 0.9 confidence). The 2026-06-02 head-to-head bench found qwen3:4b
|
|
11
|
+
* statistically tied on schema validity and entity counts at $0/local;
|
|
12
|
+
* DeepSeek remains the speed/throughput pick.
|
|
11
13
|
*
|
|
12
14
|
* Same prompt module as OllamaClient — only the transport differs. Same
|
|
13
15
|
* error semantics: LLMUnreachableError for network/HTTP, ClassifierSchemaError
|
|
@@ -17,7 +19,7 @@
|
|
|
17
19
|
* Embedding is not supported by DeepSeek's API — `embed()` throws. Wire a
|
|
18
20
|
* separate embedder (OllamaClient) for semantic recall.
|
|
19
21
|
*/
|
|
20
|
-
import type { ClassifyResult, EmbedResult, EmbeddingKind, LLMClient } from "../ports/llm-client.js";
|
|
22
|
+
import type { ClassifyResult, EmbedResult, EmbeddingKind, LLMClient, RewriteResult } from "../ports/llm-client.js";
|
|
21
23
|
export type FetchImpl = typeof fetch;
|
|
22
24
|
export interface DeepSeekClientOptions {
|
|
23
25
|
readonly apiKey?: string;
|
|
@@ -37,4 +39,5 @@ export declare class DeepSeekClient implements LLMClient {
|
|
|
37
39
|
constructor(opts?: DeepSeekClientOptions);
|
|
38
40
|
embed(_text: string, _kind: EmbeddingKind): Promise<EmbedResult>;
|
|
39
41
|
classify(transcript: string, priorContext?: string): Promise<ClassifyResult>;
|
|
42
|
+
rewriteForRecall(query: string): Promise<RewriteResult>;
|
|
40
43
|
}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* • ~$0.002/session at typical sizes — full backfill of ~1,200 sessions
|
|
8
8
|
* ≈ $2.50.
|
|
9
9
|
* • Strong extraction quality (12+ entities, accurate decisions,
|
|
10
|
-
* 0.9 confidence)
|
|
10
|
+
* 0.9 confidence). The 2026-06-02 head-to-head bench found qwen3:4b
|
|
11
|
+
* statistically tied on schema validity and entity counts at $0/local;
|
|
12
|
+
* DeepSeek remains the speed/throughput pick.
|
|
11
13
|
*
|
|
12
14
|
* Same prompt module as OllamaClient — only the transport differs. Same
|
|
13
15
|
* error semantics: LLMUnreachableError for network/HTTP, ClassifierSchemaError
|
|
@@ -19,7 +21,16 @@
|
|
|
19
21
|
*/
|
|
20
22
|
import { LLMUnreachableError } from "../ports/llm-client.js";
|
|
21
23
|
import { CLASSIFIER_SYSTEM_PROMPT, buildUserPrompt, coerceClassifyResult, stripJsonFences, validateClassifierJson, } from "../core/classifier/prompt.js";
|
|
24
|
+
import { REWRITE_SYSTEM_PROMPT, parseRewriteJson } from "../core/recall/rewrite-prompt.js";
|
|
22
25
|
import { ClassifierSchemaError } from "./ollama-client.js";
|
|
26
|
+
const DEFAULT_REWRITE_TIMEOUT_MS = 5_000;
|
|
27
|
+
function rewriteTimeoutMs() {
|
|
28
|
+
const raw = process.env["NLM_RECALL_REWRITE_TIMEOUT_MS"];
|
|
29
|
+
if (!raw)
|
|
30
|
+
return DEFAULT_REWRITE_TIMEOUT_MS;
|
|
31
|
+
const parsed = Number.parseInt(raw, 10);
|
|
32
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_REWRITE_TIMEOUT_MS;
|
|
33
|
+
}
|
|
23
34
|
export class DeepSeekClient {
|
|
24
35
|
apiKey;
|
|
25
36
|
baseUrl;
|
|
@@ -110,5 +121,44 @@ export class DeepSeekClient {
|
|
|
110
121
|
clearTimeout(timer);
|
|
111
122
|
}
|
|
112
123
|
}
|
|
124
|
+
async rewriteForRecall(query) {
|
|
125
|
+
const controller = new AbortController();
|
|
126
|
+
const timer = setTimeout(() => controller.abort(), rewriteTimeoutMs());
|
|
127
|
+
try {
|
|
128
|
+
const res = await this.fetchImpl(`${this.baseUrl}/chat/completions`, {
|
|
129
|
+
method: "POST",
|
|
130
|
+
headers: {
|
|
131
|
+
"Content-Type": "application/json",
|
|
132
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
133
|
+
},
|
|
134
|
+
body: JSON.stringify({
|
|
135
|
+
model: this.classifyModel,
|
|
136
|
+
messages: [
|
|
137
|
+
{ role: "system", content: REWRITE_SYSTEM_PROMPT },
|
|
138
|
+
{ role: "user", content: query },
|
|
139
|
+
],
|
|
140
|
+
response_format: { type: "json_object" },
|
|
141
|
+
temperature: 0.1,
|
|
142
|
+
max_tokens: 512,
|
|
143
|
+
stream: false,
|
|
144
|
+
}),
|
|
145
|
+
signal: controller.signal,
|
|
146
|
+
});
|
|
147
|
+
if (!res.ok) {
|
|
148
|
+
throw new LLMUnreachableError("deepseek-rewrite", `status ${res.status}: ${await res.text().catch(() => "")}`);
|
|
149
|
+
}
|
|
150
|
+
const data = (await res.json());
|
|
151
|
+
const rawContent = data.choices?.[0]?.message?.content?.trim() ?? "";
|
|
152
|
+
return parseRewriteJson(rawContent, "deepseek");
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
if (e instanceof LLMUnreachableError)
|
|
156
|
+
throw e;
|
|
157
|
+
throw new LLMUnreachableError("deepseek-rewrite", e);
|
|
158
|
+
}
|
|
159
|
+
finally {
|
|
160
|
+
clearTimeout(timer);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
113
163
|
}
|
|
114
164
|
//# sourceMappingURL=deepseek-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek-client.js","sourceRoot":"","sources":["../../src/llm/deepseek-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deepseek-client.js","sourceRoot":"","sources":["../../src/llm/deepseek-client.ts"],"names":[],"mappings":"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"}
|