@galaxy-stack/ai-coder-core 0.3.0-alpha.15 → 0.3.0-alpha.17
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.d/2026-09-26-binary-review-pipe-guidance-finalization-test.md +14 -0
- package/CHANGELOG.d/2026-09-26-cache-capability-and-mcp-reconnect.md +16 -0
- package/CHANGELOG.d/2026-09-26-cache-hit-harness.md +13 -0
- package/CHANGELOG.d/2026-09-26-cache-hit-rate-and-inhistory-option.md +12 -0
- package/CHANGELOG.d/2026-09-26-cumulative-cache-hit.md +13 -0
- package/CHANGELOG.d/2026-09-26-finalization-prefix-and-verified-inhistory.md +12 -0
- package/CHANGELOG.d/2026-09-26-generated-state-and-churn-guard.md +17 -0
- package/CHANGELOG.d/2026-09-26-mcp-reconnect-fixture.md +11 -0
- package/CHANGELOG.d/2026-09-26-memory-hybrid-semantic-consolidation.md +16 -0
- package/CHANGELOG.d/2026-09-26-memory-recall-benchmark.md +12 -0
- package/CHANGELOG.d/2026-09-26-ollama-cache-usage.md +14 -0
- package/CHANGELOG.d/2026-09-26-ollama-embeddings-provider.md +13 -0
- package/CHANGELOG.d/2026-09-26-skill-index-signing.md +11 -0
- package/CHANGELOG.d/2026-09-26-skill-version-and-marketplace.md +14 -0
- package/dist/adapters/node/config/manual-provider-config.d.ts +3 -0
- package/dist/adapters/node/config/manual-provider-config.d.ts.map +1 -1
- package/dist/adapters/node/config/manual-provider-config.js +4 -0
- package/dist/adapters/node/config/manual-provider-config.js.map +1 -1
- package/dist/adapters/node/host/node-workspace-evidence-verifier.d.ts.map +1 -1
- package/dist/adapters/node/host/node-workspace-evidence-verifier.js +10 -13
- package/dist/adapters/node/host/node-workspace-evidence-verifier.js.map +1 -1
- package/dist/adapters/node/host/node-workspace-port.d.ts.map +1 -1
- package/dist/adapters/node/host/node-workspace-port.js +6 -1
- package/dist/adapters/node/host/node-workspace-port.js.map +1 -1
- package/dist/adapters/node/host/node-workspace-snapshot.d.ts.map +1 -1
- package/dist/adapters/node/host/node-workspace-snapshot.js +5 -15
- package/dist/adapters/node/host/node-workspace-snapshot.js.map +1 -1
- package/dist/adapters/node/host/workspace-generated-state.d.ts +22 -0
- package/dist/adapters/node/host/workspace-generated-state.d.ts.map +1 -0
- package/dist/adapters/node/host/workspace-generated-state.js +56 -0
- package/dist/adapters/node/host/workspace-generated-state.js.map +1 -0
- package/dist/adapters/node/mcp/mcp-client.d.ts +7 -2
- package/dist/adapters/node/mcp/mcp-client.d.ts.map +1 -1
- package/dist/adapters/node/mcp/mcp-client.js +41 -6
- package/dist/adapters/node/mcp/mcp-client.js.map +1 -1
- package/dist/adapters/node/memory/ollama-embeddings.d.ts +26 -0
- package/dist/adapters/node/memory/ollama-embeddings.d.ts.map +1 -0
- package/dist/adapters/node/memory/ollama-embeddings.js +98 -0
- package/dist/adapters/node/memory/ollama-embeddings.js.map +1 -0
- package/dist/adapters/node/memory/sqlite-memory.d.ts +16 -3
- package/dist/adapters/node/memory/sqlite-memory.d.ts.map +1 -1
- package/dist/adapters/node/memory/sqlite-memory.js +138 -16
- package/dist/adapters/node/memory/sqlite-memory.js.map +1 -1
- package/dist/adapters/node/provider/ollama-chat-stream.d.ts.map +1 -1
- package/dist/adapters/node/provider/ollama-chat-stream.js +4 -0
- package/dist/adapters/node/provider/ollama-chat-stream.js.map +1 -1
- package/dist/adapters/node/provider/ollama-coding-model.d.ts +9 -0
- package/dist/adapters/node/provider/ollama-coding-model.d.ts.map +1 -1
- package/dist/adapters/node/provider/ollama-coding-model.js +18 -0
- package/dist/adapters/node/provider/ollama-coding-model.js.map +1 -1
- package/dist/adapters/node/skills/directory-skills.d.ts.map +1 -1
- package/dist/adapters/node/skills/directory-skills.js +16 -1
- package/dist/adapters/node/skills/directory-skills.js.map +1 -1
- package/dist/adapters/node/skills/skill-marketplace.d.ts +71 -0
- package/dist/adapters/node/skills/skill-marketplace.d.ts.map +1 -0
- package/dist/adapters/node/skills/skill-marketplace.js +259 -0
- package/dist/adapters/node/skills/skill-marketplace.js.map +1 -0
- package/dist/adapters/node/tools/workspace-review.d.ts.map +1 -1
- package/dist/adapters/node/tools/workspace-review.js +23 -9
- package/dist/adapters/node/tools/workspace-review.js.map +1 -1
- package/dist/agent/index.d.ts +17 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/context/context-manager.d.ts +4 -1
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +25 -5
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/token-ledger.d.ts +9 -0
- package/dist/context/token-ledger.d.ts.map +1 -1
- package/dist/context/token-ledger.js +8 -0
- package/dist/context/token-ledger.js.map +1 -1
- package/dist/ports/capability-port.d.ts +8 -0
- package/dist/ports/capability-port.d.ts.map +1 -1
- package/dist/prompt/prompt-assembler.d.ts +1 -1
- package/dist/prompt/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt/prompt-assembler.js +6 -4
- package/dist/prompt/prompt-assembler.js.map +1 -1
- package/dist/runtime/run-controller.d.ts.map +1 -1
- package/dist/runtime/run-controller.js +57 -8
- package/dist/runtime/run-controller.js.map +1 -1
- package/dist/runtime/runtime-types.d.ts +10 -0
- package/dist/runtime/runtime-types.d.ts.map +1 -1
- package/docs/CACHE_HIT.md +109 -0
- package/docs/GALAXY_AGENT_PLATFORM_TODO.md +1 -0
- package/docs/SKILL_MARKETPLACE.md +59 -0
- package/package.json +2 -2
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
const MAX_RESPONSE_BYTES = 4 * 1024 * 1024;
|
|
2
|
+
const DEFAULT_MAX_BATCH = 16;
|
|
3
|
+
function isLocalhost(baseUrl) {
|
|
4
|
+
try {
|
|
5
|
+
const host = new URL(baseUrl).hostname;
|
|
6
|
+
return host === "localhost" || host === "127.0.0.1" || host === "::1" || host === "[::1]";
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
async function boundedText(response) {
|
|
13
|
+
const reader = response.body?.getReader();
|
|
14
|
+
if (!reader)
|
|
15
|
+
return "";
|
|
16
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
17
|
+
let text = "";
|
|
18
|
+
let bytes = 0;
|
|
19
|
+
while (true) {
|
|
20
|
+
const part = await reader.read();
|
|
21
|
+
if (part.done)
|
|
22
|
+
break;
|
|
23
|
+
bytes += part.value.byteLength;
|
|
24
|
+
if (bytes > MAX_RESPONSE_BYTES) {
|
|
25
|
+
await reader.cancel().catch(() => undefined);
|
|
26
|
+
throw new Error("Ollama embedding response exceeded 4 MiB.");
|
|
27
|
+
}
|
|
28
|
+
text += decoder.decode(part.value, { stream: true });
|
|
29
|
+
}
|
|
30
|
+
return text + decoder.decode();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Ollama /api/embed adapter. Capability-gated: the host only mounts it when an
|
|
34
|
+
* embedding model is configured. Credentials are sent to remote endpoints but
|
|
35
|
+
* never to a localhost endpoint.
|
|
36
|
+
*/
|
|
37
|
+
export class OllamaEmbeddings {
|
|
38
|
+
options;
|
|
39
|
+
model;
|
|
40
|
+
fetchImpl;
|
|
41
|
+
maxBatch;
|
|
42
|
+
requestTimeoutMs;
|
|
43
|
+
constructor(options) {
|
|
44
|
+
this.options = options;
|
|
45
|
+
if (!options.model.trim())
|
|
46
|
+
throw new Error("An Ollama embedding model id is required.");
|
|
47
|
+
const url = new URL(options.baseUrl);
|
|
48
|
+
if (!["http:", "https:"].includes(url.protocol))
|
|
49
|
+
throw new Error("Ollama embedding base URL must use HTTP or HTTPS.");
|
|
50
|
+
if (url.username || url.password)
|
|
51
|
+
throw new Error("Ollama embedding base URL must not embed credentials.");
|
|
52
|
+
this.model = options.model.trim();
|
|
53
|
+
this.fetchImpl = options.fetch ?? globalThis.fetch;
|
|
54
|
+
this.maxBatch = Math.max(1, Math.min(64, options.maxBatch ?? DEFAULT_MAX_BATCH));
|
|
55
|
+
this.requestTimeoutMs = options.requestTimeoutMs ?? 60_000;
|
|
56
|
+
}
|
|
57
|
+
async embed(texts) {
|
|
58
|
+
const vectors = [];
|
|
59
|
+
for (let start = 0; start < texts.length; start += this.maxBatch) {
|
|
60
|
+
vectors.push(...await this.embedBatch(texts.slice(start, start + this.maxBatch)));
|
|
61
|
+
}
|
|
62
|
+
return vectors;
|
|
63
|
+
}
|
|
64
|
+
async embedBatch(texts) {
|
|
65
|
+
if (texts.length === 0)
|
|
66
|
+
return [];
|
|
67
|
+
const controller = new AbortController();
|
|
68
|
+
const timer = setTimeout(() => controller.abort(new Error("Ollama embedding request timed out.")), this.requestTimeoutMs);
|
|
69
|
+
try {
|
|
70
|
+
const endpoint = new URL("/api/embed", this.options.baseUrl).href;
|
|
71
|
+
const response = await this.fetchImpl(endpoint, {
|
|
72
|
+
method: "POST",
|
|
73
|
+
headers: {
|
|
74
|
+
"Content-Type": "application/json",
|
|
75
|
+
...(this.options.apiKey && !isLocalhost(this.options.baseUrl) ? { Authorization: `Bearer ${this.options.apiKey}` } : {}),
|
|
76
|
+
},
|
|
77
|
+
body: JSON.stringify({ model: this.model, input: [...texts] }),
|
|
78
|
+
signal: controller.signal,
|
|
79
|
+
});
|
|
80
|
+
const raw = await boundedText(response);
|
|
81
|
+
if (!response.ok)
|
|
82
|
+
throw new Error(`Ollama embedding failed (${response.status}): ${raw.slice(0, 300) || "no body"}`);
|
|
83
|
+
const parsed = JSON.parse(raw);
|
|
84
|
+
if (!Array.isArray(parsed.embeddings) || parsed.embeddings.length !== texts.length)
|
|
85
|
+
throw new Error("Ollama embedding response did not match the input batch.");
|
|
86
|
+
return parsed.embeddings.map((vector) => {
|
|
87
|
+
if (!Array.isArray(vector) || vector.length === 0 || vector.some(value => typeof value !== "number" || !Number.isFinite(value))) {
|
|
88
|
+
throw new Error("Ollama embedding response contained an invalid vector.");
|
|
89
|
+
}
|
|
90
|
+
return vector;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
clearTimeout(timer);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=ollama-embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama-embeddings.js","sourceRoot":"","sources":["../../../../src/adapters/node/memory/ollama-embeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import type { AgentMemoryPort, MemoryRecord } from "../../../agent/index.js";
|
|
2
|
-
/**
|
|
1
|
+
import type { AgentEmbeddingPort, AgentMemoryConsolidation, AgentMemoryPort, MemoryRecord } from "../../../agent/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Optional Node >=22.13 adapter. No database or native imports occur from the
|
|
4
|
+
* core root. Ranking is hybrid: lexical (FTS5 bm25) + optional semantic cosine
|
|
5
|
+
* + recency + trust, capability-gated on a host-supplied embedding provider.
|
|
6
|
+
*/
|
|
3
7
|
export declare class SqliteAgentMemory implements AgentMemoryPort {
|
|
4
8
|
private readonly scope;
|
|
5
9
|
private readonly db;
|
|
6
|
-
|
|
10
|
+
private readonly embeddings;
|
|
11
|
+
constructor(path: string, scope: string, options?: {
|
|
12
|
+
embeddings?: AgentEmbeddingPort;
|
|
13
|
+
});
|
|
7
14
|
search(query: string, options?: {
|
|
8
15
|
limit?: number;
|
|
9
16
|
includeCandidates?: boolean;
|
|
@@ -17,6 +24,12 @@ export declare class SqliteAgentMemory implements AgentMemoryPort {
|
|
|
17
24
|
}): Promise<MemoryRecord>;
|
|
18
25
|
history(key: string): Promise<readonly MemoryRecord[]>;
|
|
19
26
|
forget(key: string): Promise<number>;
|
|
27
|
+
consolidate(options?: {
|
|
28
|
+
keepSupersededRevisions?: number;
|
|
29
|
+
}): AgentMemoryConsolidation;
|
|
20
30
|
close(): void;
|
|
31
|
+
private embedOne;
|
|
32
|
+
private storeEmbedding;
|
|
33
|
+
private loadVectors;
|
|
21
34
|
}
|
|
22
35
|
//# sourceMappingURL=sqlite-memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-memory.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/memory/sqlite-memory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-memory.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/memory/sqlite-memory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAgC3H;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IAG7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFhD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAChD,IAAI,EAAE,MAAM,EAAmB,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,kBAAkB,CAAA;KAAO;IAmBrG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAyCtH,QAAQ,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BtJ,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAGtD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1C,WAAW,CAAC,OAAO,GAAE;QAAE,uBAAuB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,wBAAwB;IAazF,KAAK,IAAI,IAAI;YAEC,QAAQ;YAOR,cAAc;IAQ5B,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -5,16 +5,54 @@ import { dirname } from "node:path";
|
|
|
5
5
|
function record(row) {
|
|
6
6
|
return { id: String(row.id), key: String(row.memory_key), scope: String(row.scope), revision: Number(row.revision), content: String(row.content), source: String(row.source), contentHash: String(row.content_hash), status: row.status, trust: row.trust, updatedAt: String(row.updated_at) };
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
function encodeVector(vector) {
|
|
9
|
+
const floats = vector instanceof Float32Array ? vector : Float32Array.from(vector);
|
|
10
|
+
return Buffer.from(floats.buffer.slice(0, floats.byteLength));
|
|
11
|
+
}
|
|
12
|
+
function decodeVector(blob) {
|
|
13
|
+
const copy = Uint8Array.from(blob);
|
|
14
|
+
return new Float32Array(copy.buffer, copy.byteOffset, Math.floor(copy.byteLength / 4));
|
|
15
|
+
}
|
|
16
|
+
function cosine(left, right) {
|
|
17
|
+
const length = Math.min(left.length, right.length);
|
|
18
|
+
let dot = 0;
|
|
19
|
+
let normLeft = 0;
|
|
20
|
+
let normRight = 0;
|
|
21
|
+
for (let index = 0; index < length; index += 1) {
|
|
22
|
+
const a = left[index];
|
|
23
|
+
const b = right[index];
|
|
24
|
+
dot += a * b;
|
|
25
|
+
normLeft += a * a;
|
|
26
|
+
normRight += b * b;
|
|
27
|
+
}
|
|
28
|
+
if (normLeft === 0 || normRight === 0)
|
|
29
|
+
return 0;
|
|
30
|
+
return dot / Math.sqrt(normLeft * normRight);
|
|
31
|
+
}
|
|
32
|
+
/** Recency decays over a two-week half-life; listing (no query) leans on it most. */
|
|
33
|
+
function recencyScore(updatedAt, now) {
|
|
34
|
+
const parsed = Date.parse(updatedAt);
|
|
35
|
+
if (!Number.isFinite(parsed))
|
|
36
|
+
return 0;
|
|
37
|
+
const ageDays = Math.max(0, (now - parsed) / 86_400_000);
|
|
38
|
+
return 1 / (1 + ageDays / 14);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Optional Node >=22.13 adapter. No database or native imports occur from the
|
|
42
|
+
* core root. Ranking is hybrid: lexical (FTS5 bm25) + optional semantic cosine
|
|
43
|
+
* + recency + trust, capability-gated on a host-supplied embedding provider.
|
|
44
|
+
*/
|
|
9
45
|
export class SqliteAgentMemory {
|
|
10
46
|
scope;
|
|
11
47
|
db;
|
|
12
|
-
|
|
48
|
+
embeddings;
|
|
49
|
+
constructor(path, scope, options = {}) {
|
|
13
50
|
this.scope = scope;
|
|
14
51
|
if (!scope || scope.length > 1024)
|
|
15
52
|
throw new Error("A bounded host-owned memory scope is required.");
|
|
16
53
|
if (path !== ":memory:")
|
|
17
54
|
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
55
|
+
this.embeddings = options.embeddings;
|
|
18
56
|
this.db = new DatabaseSync(path);
|
|
19
57
|
if (path !== ":memory:")
|
|
20
58
|
chmodSync(path, 0o600);
|
|
@@ -25,18 +63,53 @@ export class SqliteAgentMemory {
|
|
|
25
63
|
content TEXT NOT NULL, source TEXT NOT NULL, content_hash TEXT NOT NULL, status TEXT NOT NULL, trust TEXT NOT NULL, updated_at TEXT NOT NULL,
|
|
26
64
|
UNIQUE(scope,memory_key,revision));
|
|
27
65
|
CREATE VIRTUAL TABLE IF NOT EXISTS memory_search USING fts5(id UNINDEXED, content, tokenize='unicode61');
|
|
66
|
+
CREATE TABLE IF NOT EXISTS memory_embeddings(memory_id TEXT PRIMARY KEY, model TEXT NOT NULL, dims INTEGER NOT NULL, vector BLOB NOT NULL);
|
|
28
67
|
CREATE TRIGGER IF NOT EXISTS memory_insert AFTER INSERT ON memories BEGIN INSERT INTO memory_search VALUES(new.id,new.content); END;
|
|
29
68
|
CREATE TRIGGER IF NOT EXISTS memory_delete AFTER DELETE ON memories BEGIN DELETE FROM memory_search WHERE id=old.id; END;
|
|
69
|
+
CREATE TRIGGER IF NOT EXISTS memory_delete_embeddings AFTER DELETE ON memories BEGIN DELETE FROM memory_embeddings WHERE memory_id=old.id; END;
|
|
30
70
|
CREATE INDEX IF NOT EXISTS memory_scope ON memories(scope,status,memory_key);`);
|
|
31
71
|
}
|
|
32
72
|
async search(query, options = {}) {
|
|
33
73
|
const limit = Math.max(1, Math.min(50, Math.floor(options.limit ?? 8)));
|
|
34
74
|
const tokens = query.match(/[\p{L}\p{N}_]+/gu)?.slice(0, 24) ?? [];
|
|
35
75
|
const trust = options.includeCandidates ? "" : " AND m.trust='confirmed'";
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
76
|
+
const pool = Math.max(limit * 8, 64);
|
|
77
|
+
let rows = [];
|
|
78
|
+
if (tokens.length) {
|
|
79
|
+
const match = tokens.map(token => `"${token}"`).join(" OR ");
|
|
80
|
+
rows = this.db.prepare(`SELECT m.*, bm25(memory_search) AS rank FROM memory_search f JOIN memories m ON m.id=f.id WHERE memory_search MATCH ? AND m.scope=? AND m.status='active'${trust} ORDER BY bm25(memory_search),m.updated_at DESC LIMIT ?`)
|
|
81
|
+
.all(match, this.scope, pool);
|
|
82
|
+
}
|
|
83
|
+
// No lexical hits (or a bare listing): fall back to recent active notes so
|
|
84
|
+
// semantic ranking can still surface the right record.
|
|
85
|
+
if (rows.length === 0 && (tokens.length === 0 || this.embeddings !== undefined)) {
|
|
86
|
+
rows = this.db.prepare(`SELECT m.*, 0 AS rank FROM memories m WHERE m.scope=? AND m.status='active'${trust} ORDER BY m.updated_at DESC LIMIT ?`)
|
|
87
|
+
.all(this.scope, pool);
|
|
88
|
+
}
|
|
89
|
+
if (rows.length === 0)
|
|
90
|
+
return [];
|
|
91
|
+
const now = Date.now();
|
|
92
|
+
const queryVector = this.embeddings && tokens.length ? await this.embedOne(query) : undefined;
|
|
93
|
+
const vectors = this.loadVectors(rows.map(row => String(row.id)));
|
|
94
|
+
const strengths = rows.map(row => Math.max(0, -Number(row.rank ?? 0)));
|
|
95
|
+
const maxStrength = Math.max(0, ...strengths);
|
|
96
|
+
const scored = rows.map((row, index) => {
|
|
97
|
+
const lexical = maxStrength > 0 ? strengths[index] / maxStrength : 0;
|
|
98
|
+
const vector = vectors.get(String(row.id));
|
|
99
|
+
const semantic = queryVector && vector ? Math.max(0, cosine(queryVector, vector)) : 0;
|
|
100
|
+
const recency = recencyScore(String(row.updated_at), now);
|
|
101
|
+
const trustScore = row.trust === "confirmed" ? 1 : 0.5;
|
|
102
|
+
const score = queryVector
|
|
103
|
+
? 0.35 * lexical + 0.4 * semantic + 0.15 * recency + 0.1 * trustScore
|
|
104
|
+
: tokens.length
|
|
105
|
+
? 0.6 * lexical + 0.25 * recency + 0.15 * trustScore
|
|
106
|
+
: 0.7 * recency + 0.3 * trustScore;
|
|
107
|
+
return { row, score };
|
|
108
|
+
});
|
|
109
|
+
scored.sort((left, right) => right.score - left.score
|
|
110
|
+
|| String(right.row.updated_at).localeCompare(String(left.row.updated_at))
|
|
111
|
+
|| String(left.row.id).localeCompare(String(right.row.id)));
|
|
112
|
+
return scored.slice(0, limit).map(entry => record(entry.row));
|
|
40
113
|
}
|
|
41
114
|
async remember(input) {
|
|
42
115
|
if (!input.key.trim() || input.key.length > 256 || !input.content.trim() || input.content.length > 16000 || !input.source.trim() || input.source.length > 2048)
|
|
@@ -46,28 +119,32 @@ export class SqliteAgentMemory {
|
|
|
46
119
|
throw new Error("Invalid memory trust.");
|
|
47
120
|
const hash = createHash("sha256").update(input.content).digest("hex");
|
|
48
121
|
this.db.exec("BEGIN IMMEDIATE");
|
|
122
|
+
let stored;
|
|
49
123
|
try {
|
|
50
124
|
const previous = this.db.prepare("SELECT * FROM memories WHERE scope=? AND memory_key=? AND status='active'").get(this.scope, input.key);
|
|
51
125
|
if (input.expectedRevision !== undefined && input.expectedRevision !== Number(previous?.revision ?? 0))
|
|
52
126
|
throw new Error("Memory revision conflict.");
|
|
53
127
|
if (previous?.content_hash === hash && previous.source === input.source && previous.trust === trust) {
|
|
54
128
|
this.db.exec("COMMIT");
|
|
55
|
-
|
|
129
|
+
stored = record(previous);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// A generated candidate cannot silently supersede an explicitly confirmed note.
|
|
133
|
+
if (previous?.trust === "confirmed" && trust === "candidate")
|
|
134
|
+
throw new Error("A candidate cannot replace a confirmed memory; choose a new key.");
|
|
135
|
+
this.db.prepare("UPDATE memories SET status='superseded' WHERE scope=? AND memory_key=?").run(this.scope, input.key);
|
|
136
|
+
const id = randomUUID();
|
|
137
|
+
this.db.prepare("INSERT INTO memories VALUES(?,?,?,?,?,?,?,?,?,?)").run(id, this.scope, input.key, Number(previous?.revision ?? 0) + 1, input.content, input.source, hash, "active", trust, new Date().toISOString());
|
|
138
|
+
stored = record(this.db.prepare("SELECT * FROM memories WHERE id=?").get(id));
|
|
139
|
+
this.db.exec("COMMIT");
|
|
56
140
|
}
|
|
57
|
-
// A generated candidate cannot silently supersede an explicitly confirmed note.
|
|
58
|
-
if (previous?.trust === "confirmed" && trust === "candidate")
|
|
59
|
-
throw new Error("A candidate cannot replace a confirmed memory; choose a new key.");
|
|
60
|
-
this.db.prepare("UPDATE memories SET status='superseded' WHERE scope=? AND memory_key=?").run(this.scope, input.key);
|
|
61
|
-
const id = randomUUID();
|
|
62
|
-
this.db.prepare("INSERT INTO memories VALUES(?,?,?,?,?,?,?,?,?,?)").run(id, this.scope, input.key, Number(previous?.revision ?? 0) + 1, input.content, input.source, hash, "active", trust, new Date().toISOString());
|
|
63
|
-
const next = record(this.db.prepare("SELECT * FROM memories WHERE id=?").get(id));
|
|
64
|
-
this.db.exec("COMMIT");
|
|
65
|
-
return next;
|
|
66
141
|
}
|
|
67
142
|
catch (error) {
|
|
68
143
|
this.db.exec("ROLLBACK");
|
|
69
144
|
throw error;
|
|
70
145
|
}
|
|
146
|
+
await this.storeEmbedding(stored.id, stored.content);
|
|
147
|
+
return stored;
|
|
71
148
|
}
|
|
72
149
|
async history(key) {
|
|
73
150
|
return this.db.prepare("SELECT * FROM memories WHERE scope=? AND memory_key=? ORDER BY revision").all(this.scope, key).map(record);
|
|
@@ -78,6 +155,51 @@ export class SqliteAgentMemory {
|
|
|
78
155
|
this.db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
|
|
79
156
|
return Number(result.changes);
|
|
80
157
|
}
|
|
158
|
+
consolidate(options = {}) {
|
|
159
|
+
const keep = Math.max(0, Math.min(100, Math.floor(options.keepSupersededRevisions ?? 5)));
|
|
160
|
+
const removedSuperseded = Number(this.db.prepare(`DELETE FROM memories WHERE status='superseded' AND id NOT IN (
|
|
161
|
+
SELECT id FROM (
|
|
162
|
+
SELECT id, ROW_NUMBER() OVER (PARTITION BY scope, memory_key ORDER BY revision DESC) AS position
|
|
163
|
+
FROM memories WHERE status='superseded'
|
|
164
|
+
) WHERE position <= ?
|
|
165
|
+
)`).run(keep).changes);
|
|
166
|
+
const removedOrphanEmbeddings = Number(this.db.prepare("DELETE FROM memory_embeddings WHERE memory_id NOT IN (SELECT id FROM memories)").run().changes);
|
|
167
|
+
this.db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
|
|
168
|
+
return { removedOrphanEmbeddings, removedSuperseded };
|
|
169
|
+
}
|
|
81
170
|
close() { this.db.close(); }
|
|
171
|
+
async embedOne(text) {
|
|
172
|
+
if (!this.embeddings)
|
|
173
|
+
return undefined;
|
|
174
|
+
try {
|
|
175
|
+
const [vector] = await this.embeddings.embed([text]);
|
|
176
|
+
return vector && vector.length > 0 ? Float32Array.from(vector) : undefined;
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async storeEmbedding(memoryId, content) {
|
|
183
|
+
if (!this.embeddings)
|
|
184
|
+
return;
|
|
185
|
+
const existing = this.db.prepare("SELECT dims FROM memory_embeddings WHERE memory_id=? AND model=?").get(memoryId, this.embeddings.model);
|
|
186
|
+
if (existing)
|
|
187
|
+
return;
|
|
188
|
+
const vector = await this.embedOne(content);
|
|
189
|
+
if (!vector)
|
|
190
|
+
return;
|
|
191
|
+
this.db.prepare("INSERT OR REPLACE INTO memory_embeddings(memory_id, model, dims, vector) VALUES(?,?,?,?)").run(memoryId, this.embeddings.model, vector.length, encodeVector(vector));
|
|
192
|
+
}
|
|
193
|
+
loadVectors(ids) {
|
|
194
|
+
const vectors = new Map();
|
|
195
|
+
if (!this.embeddings || ids.length === 0)
|
|
196
|
+
return vectors;
|
|
197
|
+
const placeholders = ids.map(() => "?").join(",");
|
|
198
|
+
const rows = this.db.prepare(`SELECT memory_id, vector FROM memory_embeddings WHERE model=? AND memory_id IN (${placeholders})`)
|
|
199
|
+
.all(this.embeddings.model, ...ids);
|
|
200
|
+
for (const row of rows)
|
|
201
|
+
vectors.set(String(row.memory_id), decodeVector(row.vector));
|
|
202
|
+
return vectors;
|
|
203
|
+
}
|
|
82
204
|
}
|
|
83
205
|
//# sourceMappingURL=sqlite-memory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-memory.js","sourceRoot":"","sources":["../../../../src/adapters/node/memory/sqlite-memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite-memory.js","sourceRoot":"","sources":["../../../../src/adapters/node/memory/sqlite-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama-chat-stream.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-chat-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AAIjC,eAAO,MAAM,6BAA6B,EAAE,aAK1C,CAAC;AAEH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA4BD,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,0BAA0B;;qBAWpD,OAAO,KAAG,SAAS,gBAAgB,EAAE;;
|
|
1
|
+
{"version":3,"file":"ollama-chat-stream.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-chat-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AAIjC,eAAO,MAAM,6BAA6B,EAAE,aAK1C,CAAC;AAEH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA4BD,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,0BAA0B;;qBAWpD,OAAO,KAAG,SAAS,gBAAgB,EAAE;;cAyHjD,SAAS,gBAAgB,EAAE;EAMxC;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,0BAA0B,GAAG,SAAS,gBAAgB,EAAE,CAStI"}
|
|
@@ -108,9 +108,13 @@ export function createOllamaChatNormalizer(options) {
|
|
|
108
108
|
terminalSeen = true;
|
|
109
109
|
const inputTokens = nonNegativeInteger(rawChunk.prompt_eval_count);
|
|
110
110
|
const outputTokens = nonNegativeInteger(rawChunk.eval_count);
|
|
111
|
+
// Ollama >= 0.34 reports prefix-cache reuse as prompt_eval_cached_count;
|
|
112
|
+
// the OpenAI-compatible /v1 path reports prompt_tokens_details.cached_tokens.
|
|
113
|
+
const cachedInputTokens = nonNegativeInteger(rawChunk.prompt_eval_cached_count);
|
|
111
114
|
const usage = Object.freeze({
|
|
112
115
|
...(inputTokens === undefined ? {} : { inputTokens }),
|
|
113
116
|
...(outputTokens === undefined ? {} : { outputTokens }),
|
|
117
|
+
...(cachedInputTokens === undefined ? {} : { cachedInputTokens }),
|
|
114
118
|
...(inputTokens === undefined || outputTokens === undefined ? {} : { totalTokens: inputTokens + outputTokens }),
|
|
115
119
|
});
|
|
116
120
|
if (Object.keys(usage).length > 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama-chat-stream.js","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-chat-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ollama-chat-stream.js","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-chat-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,14 @@ export interface OllamaCodingModelOptions {
|
|
|
8
8
|
readonly requestTimeoutMs?: number;
|
|
9
9
|
/** Provider-owned control; named effort levels are only supported by some Ollama models. */
|
|
10
10
|
readonly thinking?: boolean | "low" | "medium" | "high";
|
|
11
|
+
/**
|
|
12
|
+
* Set to "in-history" only when the model's chat template has been verified to
|
|
13
|
+
* read a later system message as the effective prompt (append instead of
|
|
14
|
+
* rewriting the leading system message keeps the prefix cache warm).
|
|
15
|
+
*/
|
|
16
|
+
readonly systemPromptUpdate?: "in-place" | "in-history" | "unknown";
|
|
11
17
|
}
|
|
18
|
+
export declare function verifiedSystemPromptUpdate(model: string): "in-history" | "unknown";
|
|
12
19
|
export interface OllamaModelDiagnostics {
|
|
13
20
|
readonly chatRequests: number;
|
|
14
21
|
readonly normalizedEvents: number;
|
|
@@ -58,9 +65,11 @@ export declare class OllamaCodingModel implements CodingModelAdapter {
|
|
|
58
65
|
}>;
|
|
59
66
|
parallelToolCalling: import("../../../ports/capability-port.js").CapabilityState;
|
|
60
67
|
preserveThinking: import("../../../ports/capability-port.js").CapabilityState;
|
|
68
|
+
promptCache?: import("../../../ports/capability-port.js").CapabilityState;
|
|
61
69
|
streaming: import("../../../ports/capability-port.js").CapabilityState;
|
|
62
70
|
structuredOutput: import("../../../ports/capability-port.js").CapabilityState;
|
|
63
71
|
supportedImageMimeTypes?: readonly string[];
|
|
72
|
+
systemPromptUpdate?: "in-place" | "in-history" | "unknown";
|
|
64
73
|
thinking: import("../../../ports/capability-port.js").ThinkingCapability;
|
|
65
74
|
tokenCounting: import("../../../ports/capability-port.js").CapabilityState;
|
|
66
75
|
toolCalling: import("../../../ports/capability-port.js").CapabilityState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama-coding-model.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-coding-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAGvB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAiBvF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama-coding-model.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-coding-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAGvB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAiBvF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;CACrE;AAYD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAElF;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AA+KD,qBAAa,iBAAkB,YAAW,kBAAkB;IAa9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAG3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;gBAEpB,OAAO,EAAE,wBAAwB;IAc9D,IAAI,WAAW,IAAI,sBAAsB,CAOxC;IAED,OAAO,CAAC,OAAO;YAOD,OAAO;IAiDf,YAAY,CAAC,OAAO,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8EzC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB;;;;;;;;;;;;;;;;;IAMhG,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,gBAAgB,CAAC;CAgG/G"}
|
|
@@ -10,6 +10,19 @@ const RETRYABLE_TRANSPORT_CAUSES = new Set([
|
|
|
10
10
|
"ETIMEDOUT",
|
|
11
11
|
"EAI_AGAIN",
|
|
12
12
|
]);
|
|
13
|
+
/**
|
|
14
|
+
* Ollama models whose chat template has been probed to read a later system
|
|
15
|
+
* message as the effective prompt (see docs/CACHE_HIT.md). Only add a model
|
|
16
|
+
* after running the code-word probe against it; anything unmatched stays
|
|
17
|
+
* in-place. An explicit systemPromptUpdate option always wins.
|
|
18
|
+
*/
|
|
19
|
+
const VERIFIED_IN_HISTORY_MODELS = Object.freeze([
|
|
20
|
+
/(?:^|\/)gemma3(?=[:/]|$)/i,
|
|
21
|
+
/(?:^|\/)deepseek-v4\.1-flash(?=[:/]|$)/i,
|
|
22
|
+
]);
|
|
23
|
+
export function verifiedSystemPromptUpdate(model) {
|
|
24
|
+
return VERIFIED_IN_HISTORY_MODELS.some((pattern) => pattern.test(model)) ? "in-history" : "unknown";
|
|
25
|
+
}
|
|
13
26
|
function isObject(value) {
|
|
14
27
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15
28
|
}
|
|
@@ -335,10 +348,15 @@ export class OllamaCodingModel {
|
|
|
335
348
|
output: Object.freeze({ text: "supported", image: "unknown" }),
|
|
336
349
|
parallelToolCalling: toolCalling === "supported" ? "supported" : "unknown",
|
|
337
350
|
preserveThinking: thinking === "optional" || thinking === "required" ? "supported" : "unknown",
|
|
351
|
+
// Ollama >= 0.34 reports prefix reuse (prompt_eval_cached_count), so the
|
|
352
|
+
// runtime may keep a stable finalization prefix. In-history system-message
|
|
353
|
+
// semantics still depend on the model template and stay opt-in.
|
|
354
|
+
promptCache: "supported",
|
|
338
355
|
streaming: "supported",
|
|
339
356
|
// Ollama Cloud does not currently support structured outputs. A local
|
|
340
357
|
// model advertising the standard API can still use the format field.
|
|
341
358
|
structuredOutput: cloudModel ? "unknown" : "supported",
|
|
359
|
+
systemPromptUpdate: this.options.systemPromptUpdate ?? verifiedSystemPromptUpdate(this.options.model),
|
|
342
360
|
thinking,
|
|
343
361
|
tokenCounting: "unsupported",
|
|
344
362
|
toolCalling,
|