abmind 0.1.0 → 0.1.2
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 +31 -24
- package/README.md +6 -3
- package/dist/cli/abmind-doctor.d.ts +8 -0
- package/dist/cli/abmind-doctor.d.ts.map +1 -0
- package/dist/cli/abmind-doctor.js +179 -0
- package/dist/cli/abmind-doctor.js.map +1 -0
- package/dist/cli/abmind-hook-recall.js +4 -2
- package/dist/cli/abmind-hook-recall.js.map +1 -1
- package/dist/cli/abmind-hook-wakeup.js +6 -2
- package/dist/cli/abmind-hook-wakeup.js.map +1 -1
- package/dist/cli/abmind-install-host.d.ts +7 -0
- package/dist/cli/abmind-install-host.d.ts.map +1 -0
- package/dist/cli/abmind-install-host.js +310 -0
- package/dist/cli/abmind-install-host.js.map +1 -0
- package/dist/cli/abmind-install.d.ts +1 -1
- package/dist/cli/abmind-install.js +1 -1
- package/dist/cli/abmind-rollback.d.ts +1 -1
- package/dist/cli/abmind-rollback.js +1 -1
- package/dist/cli/abmind-store.js +1 -1
- package/dist/cli/abmind-store.js.map +1 -1
- package/dist/cli/abmind-update.d.ts +2 -2
- package/dist/cli/abmind-update.js +33 -4
- package/dist/cli/abmind-update.js.map +1 -1
- package/dist/cli/abmind.d.ts +1 -1
- package/dist/cli/abmind.js +5 -2
- package/dist/cli/abmind.js.map +1 -1
- package/dist/cli/hook-output.d.ts +11 -0
- package/dist/cli/hook-output.d.ts.map +1 -0
- package/dist/cli/hook-output.js +33 -0
- package/dist/cli/hook-output.js.map +1 -0
- package/dist/src/atomic-write.d.ts +5 -0
- package/dist/src/atomic-write.d.ts.map +1 -0
- package/dist/src/atomic-write.js +18 -0
- package/dist/src/atomic-write.js.map +1 -0
- package/dist/src/backup.d.ts +2 -2
- package/dist/src/backup.d.ts.map +1 -1
- package/dist/src/backup.js +16 -6
- package/dist/src/backup.js.map +1 -1
- package/dist/src/context-engine.d.ts.map +1 -1
- package/dist/src/context-engine.js +6 -1
- package/dist/src/context-engine.js.map +1 -1
- package/dist/src/context-orchestrator.d.ts +55 -0
- package/dist/src/context-orchestrator.d.ts.map +1 -0
- package/dist/src/context-orchestrator.js +177 -0
- package/dist/src/context-orchestrator.js.map +1 -0
- package/dist/src/context-tier-renderer.js +1 -1
- package/dist/src/context-tier-renderer.js.map +1 -1
- package/dist/src/crypto.d.ts +8 -2
- package/dist/src/crypto.d.ts.map +1 -1
- package/dist/src/crypto.js +23 -6
- package/dist/src/crypto.js.map +1 -1
- package/dist/src/deploy-lib/cleanup.d.ts +1 -1
- package/dist/src/deploy-lib/cleanup.js +1 -1
- package/dist/src/deploy-lib/index.d.ts +2 -2
- package/dist/src/deploy-lib/index.js +2 -2
- package/dist/src/deploy-lib/manifest.d.ts +2 -2
- package/dist/src/deploy-lib/manifest.d.ts.map +1 -1
- package/dist/src/deploy-lib/manifest.js.map +1 -1
- package/dist/src/deploy-lib/paths.d.ts +3 -3
- package/dist/src/deploy-lib/paths.d.ts.map +1 -1
- package/dist/src/deploy-lib/paths.js +4 -4
- package/dist/src/deploy-lib/paths.js.map +1 -1
- package/dist/src/ensure-initialized.d.ts +13 -0
- package/dist/src/ensure-initialized.d.ts.map +1 -0
- package/dist/src/ensure-initialized.js +57 -0
- package/dist/src/ensure-initialized.js.map +1 -0
- package/dist/src/entity-graph.d.ts.map +1 -1
- package/dist/src/entity-graph.js +4 -1
- package/dist/src/entity-graph.js.map +1 -1
- package/dist/src/imemory-system.d.ts +7 -2
- package/dist/src/imemory-system.d.ts.map +1 -1
- package/dist/src/imemory-system.js +1 -1
- package/dist/src/index.d.ts +26 -58
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +31 -65
- package/dist/src/index.js.map +1 -1
- package/dist/src/ingest-pipeline.d.ts.map +1 -1
- package/dist/src/ingest-pipeline.js +6 -3
- package/dist/src/ingest-pipeline.js.map +1 -1
- package/dist/src/injection-scanner.d.ts.map +1 -1
- package/dist/src/injection-scanner.js +10 -1
- package/dist/src/injection-scanner.js.map +1 -1
- package/dist/src/mcp-server.js +1 -1
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mem-logger.d.ts +4 -13
- package/dist/src/mem-logger.d.ts.map +1 -1
- package/dist/src/mem-logger.js +79 -20
- package/dist/src/mem-logger.js.map +1 -1
- package/dist/src/mem-types.d.ts +1 -0
- package/dist/src/mem-types.d.ts.map +1 -1
- package/dist/src/memory-backend.d.ts +1 -1
- package/dist/src/memory-backend.js +1 -1
- package/dist/src/memory-db.d.ts +6 -1
- package/dist/src/memory-db.d.ts.map +1 -1
- package/dist/src/memory-db.js +10 -1
- package/dist/src/memory-db.js.map +1 -1
- package/dist/src/memory-editor.d.ts +1 -0
- package/dist/src/memory-editor.d.ts.map +1 -1
- package/dist/src/memory-editor.js +70 -2
- package/dist/src/memory-editor.js.map +1 -1
- package/dist/src/memory-manager.d.ts +7 -1
- package/dist/src/memory-manager.d.ts.map +1 -1
- package/dist/src/memory-manager.js +26 -6
- package/dist/src/memory-manager.js.map +1 -1
- package/dist/src/message-store.d.ts +1 -1
- package/dist/src/message-store.d.ts.map +1 -1
- package/dist/src/message-store.js +12 -3
- package/dist/src/message-store.js.map +1 -1
- package/dist/src/meta-store.d.ts +10 -0
- package/dist/src/meta-store.d.ts.map +1 -0
- package/dist/src/meta-store.js +20 -0
- package/dist/src/meta-store.js.map +1 -0
- package/dist/src/native-loader.d.ts +7 -0
- package/dist/src/native-loader.d.ts.map +1 -0
- package/dist/src/native-loader.js +21 -0
- package/dist/src/native-loader.js.map +1 -0
- package/dist/src/ollama-embed.d.ts +1 -1
- package/dist/src/ollama-embed.d.ts.map +1 -1
- package/dist/src/ollama-embed.js +4 -5
- package/dist/src/ollama-embed.js.map +1 -1
- package/dist/src/openclaw-plugin/index.d.ts.map +1 -1
- package/dist/src/openclaw-plugin/index.js +8 -2
- package/dist/src/openclaw-plugin/index.js.map +1 -1
- package/dist/src/openclaw-plugin/tools.d.ts +3 -2
- package/dist/src/openclaw-plugin/tools.d.ts.map +1 -1
- package/dist/src/openclaw-plugin/tools.js +12 -6
- package/dist/src/openclaw-plugin/tools.js.map +1 -1
- package/dist/src/openclaw-plugin/types.d.ts +1 -0
- package/dist/src/openclaw-plugin/types.d.ts.map +1 -1
- package/dist/src/recall-benchmark.js +2 -1
- package/dist/src/recall-benchmark.js.map +1 -1
- package/dist/src/recall-engine.d.ts +2 -0
- package/dist/src/recall-engine.d.ts.map +1 -1
- package/dist/src/recall-engine.js +65 -5
- package/dist/src/recall-engine.js.map +1 -1
- package/dist/src/redact-secrets.d.ts +3 -3
- package/dist/src/redact-secrets.js +3 -3
- package/dist/src/runtime-store.d.ts +1 -1
- package/dist/src/runtime-store.js +1 -1
- package/dist/src/session-context.js +1 -1
- package/dist/src/session-context.js.map +1 -1
- package/dist/src/sleep/basic.d.ts.map +1 -1
- package/dist/src/sleep/basic.js +2 -0
- package/dist/src/sleep/basic.js.map +1 -1
- package/dist/src/sleep/native.d.ts.map +1 -1
- package/dist/src/sleep/native.js +2 -0
- package/dist/src/sleep/native.js.map +1 -1
- package/dist/src/sleep/orchestrator.d.ts.map +1 -1
- package/dist/src/sleep/orchestrator.js +71 -5
- package/dist/src/sleep/orchestrator.js.map +1 -1
- package/dist/src/sleep/sleep-daily-summary.d.ts.map +1 -1
- package/dist/src/sleep/sleep-daily-summary.js +4 -2
- package/dist/src/sleep/sleep-daily-summary.js.map +1 -1
- package/dist/src/sleep-data-access.js +2 -2
- package/dist/src/sleep-data-access.js.map +1 -1
- package/dist/src/sleep-state-gatherer.js +3 -3
- package/dist/src/sleep-state-gatherer.js.map +1 -1
- package/dist/src/tool-result-pruner.d.ts +29 -0
- package/dist/src/tool-result-pruner.d.ts.map +1 -0
- package/dist/src/tool-result-pruner.js +118 -0
- package/dist/src/tool-result-pruner.js.map +1 -0
- package/dist/src/wake-up-renderer.js +2 -2
- package/dist/src/wake-up-renderer.js.map +1 -1
- package/openclaw.plugin.json +72 -0
- package/package.json +8 -3
- package/prompts/sleep/04-retrospective.md +1 -1
- package/prompts/sleep/07-topic-assignment.md +2 -2
- package/prompts/sleep/11-skill-review.md +2 -2
- package/prompts/sleep/SOUL-Dreamy.md +19 -0
package/dist/src/crypto.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { getAbmindEnv } from "./env-schema.js";
|
|
2
2
|
/**
|
|
3
3
|
* AES-256-GCM encryption for SECRET (classification=3) memories.
|
|
4
|
-
*
|
|
4
|
+
* Master key: 32 random bytes stored as 64 hex chars in abmind.key.
|
|
5
|
+
* Purpose-specific keys derived via PBKDF2 with unique salts.
|
|
5
6
|
*/
|
|
6
|
-
import { randomBytes, createCipheriv, createDecipheriv } from "node:crypto";
|
|
7
|
+
import { randomBytes, createCipheriv, createDecipheriv, hkdfSync } from "node:crypto";
|
|
7
8
|
import { readFileSync, writeFileSync, mkdirSync, existsSync, copyFileSync } from "node:fs";
|
|
8
9
|
import { dirname } from "node:path";
|
|
9
10
|
const ALGO = "aes-256-gcm";
|
|
10
11
|
const IV_LEN = 12;
|
|
11
12
|
const TAG_LEN = 16;
|
|
12
13
|
let cachedKey = null;
|
|
14
|
+
const derivedCache = new Map();
|
|
13
15
|
function keyPath() {
|
|
14
16
|
return getAbmindEnv().keyFile;
|
|
15
17
|
}
|
|
@@ -45,18 +47,32 @@ export function loadKey() {
|
|
|
45
47
|
export function hasKey() {
|
|
46
48
|
return existsSync(keyPath()) || cachedKey !== null;
|
|
47
49
|
}
|
|
48
|
-
/**
|
|
50
|
+
/** Derive a purpose-specific key from the master key via HKDF. Cached per process. */
|
|
51
|
+
export function deriveKey(purpose) {
|
|
52
|
+
const cached = derivedCache.get(purpose);
|
|
53
|
+
if (cached)
|
|
54
|
+
return cached;
|
|
55
|
+
const master = loadKey();
|
|
56
|
+
const derived = Buffer.from(hkdfSync("sha256", master, "", purpose, 32));
|
|
57
|
+
derivedCache.set(purpose, derived);
|
|
58
|
+
return derived;
|
|
59
|
+
}
|
|
60
|
+
/** Get the secrets encryption key (for DB class=3 memories). */
|
|
61
|
+
export function getSecretsKey() { return deriveKey("abmind-secrets-v1"); }
|
|
62
|
+
/** Get the backup encryption key. */
|
|
63
|
+
export function getBackupKey() { return deriveKey("abmind-backup-v1"); }
|
|
64
|
+
/** Encrypt plaintext using the derived secrets key. Returns base64(iv + ciphertext + authTag). */
|
|
49
65
|
export function encrypt(plaintext) {
|
|
50
|
-
const key =
|
|
66
|
+
const key = getSecretsKey();
|
|
51
67
|
const iv = randomBytes(IV_LEN);
|
|
52
68
|
const cipher = createCipheriv(ALGO, key, iv);
|
|
53
69
|
const encrypted = Buffer.concat([cipher.update(plaintext, "utf-8"), cipher.final()]);
|
|
54
70
|
const tag = cipher.getAuthTag();
|
|
55
71
|
return Buffer.concat([iv, encrypted, tag]).toString("base64");
|
|
56
72
|
}
|
|
57
|
-
/** Decrypt base64(iv + ciphertext + authTag). Returns plaintext. */
|
|
73
|
+
/** Decrypt base64(iv + ciphertext + authTag) using the derived secrets key. Returns plaintext. */
|
|
58
74
|
export function decrypt(blob) {
|
|
59
|
-
const key =
|
|
75
|
+
const key = getSecretsKey();
|
|
60
76
|
const buf = Buffer.from(blob, "base64");
|
|
61
77
|
const iv = buf.subarray(0, IV_LEN);
|
|
62
78
|
const tag = buf.subarray(buf.length - TAG_LEN);
|
|
@@ -82,5 +98,6 @@ export function decryptWithKey(blob, key) {
|
|
|
82
98
|
/** Reset cached key (for testing). */
|
|
83
99
|
export function _resetKeyCache() {
|
|
84
100
|
cachedKey = null;
|
|
101
|
+
derivedCache.clear();
|
|
85
102
|
}
|
|
86
103
|
//# sourceMappingURL=crypto.js.map
|
package/dist/src/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Safety-guarded destructive ops for `reset` / `uninstall`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Cleanup utilities for deploy operations.
|
|
5
5
|
* Key primitive: isUnsafeRemovalTarget() rejects catastrophic paths ('/',
|
|
6
6
|
* '~', empty, etc.) BEFORE any caller invokes rm. Caller must always check.
|
|
7
7
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Safety-guarded destructive ops for `reset` / `uninstall`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Cleanup utilities for deploy operations.
|
|
5
5
|
* Key primitive: isUnsafeRemovalTarget() rejects catastrophic paths ('/',
|
|
6
6
|
* '~', empty, etc.) BEFORE any caller invokes rm. Caller must always check.
|
|
7
7
|
*/
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Deploy-lib: shared install/update/rollback primitives.
|
|
3
3
|
*
|
|
4
4
|
* Consumed by both `abmind` CLI (its own runtime at ~/.abmind) and by
|
|
5
|
-
* `
|
|
5
|
+
* `abtars` (via file:../abmind dependency, managing ~/.abtars).
|
|
6
6
|
*
|
|
7
7
|
* Entry points are the module files directly:
|
|
8
|
-
* import {
|
|
8
|
+
* import { resolveAbtarsHome } from 'abmind/deploy-lib/paths.js'
|
|
9
9
|
* import { readManifest, writeManifest } from 'abmind/deploy-lib/manifest.js'
|
|
10
10
|
* etc.
|
|
11
11
|
*
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Deploy-lib: shared install/update/rollback primitives.
|
|
3
3
|
*
|
|
4
4
|
* Consumed by both `abmind` CLI (its own runtime at ~/.abmind) and by
|
|
5
|
-
* `
|
|
5
|
+
* `abtars` (via file:../abmind dependency, managing ~/.abtars).
|
|
6
6
|
*
|
|
7
7
|
* Entry points are the module files directly:
|
|
8
|
-
* import {
|
|
8
|
+
* import { resolveAbtarsHome } from 'abmind/deploy-lib/paths.js'
|
|
9
9
|
* import { readManifest, writeManifest } from 'abmind/deploy-lib/manifest.js'
|
|
10
10
|
* etc.
|
|
11
11
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Written by: `install`, `update`, `rollback`, migrations.
|
|
7
7
|
*/
|
|
8
8
|
export interface Manifest {
|
|
9
|
-
readonly package: '
|
|
9
|
+
readonly package: 'abtars' | 'abmind';
|
|
10
10
|
/** Currently active release version (matches releases/<version>/ dirname). */
|
|
11
11
|
readonly version: string;
|
|
12
12
|
/** Git SHA of the source that produced the active release, if known. */
|
|
@@ -38,5 +38,5 @@ export interface PriorRelease {
|
|
|
38
38
|
}
|
|
39
39
|
export declare function readManifest(path: string): Promise<Manifest | null>;
|
|
40
40
|
export declare function writeManifest(path: string, manifest: Manifest): Promise<void>;
|
|
41
|
-
export declare function emptyManifest(pkg: '
|
|
41
|
+
export declare function emptyManifest(pkg: 'abtars' | 'abmind', host: string): Manifest;
|
|
42
42
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/deploy-lib/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/deploy-lib/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC5C,oCAAoC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,mHAAmH;IACnH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,mBAAmB,CAAC;CACtE;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQzE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAc9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/deploy-lib/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAmCvD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,QAAkB;IAClE,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/deploy-lib/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAmCvD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,QAAkB;IAClE,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAwB,EAAE,IAAY;IAClE,OAAO;QACL,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,IAAI;QACJ,MAAM,EAAE,OAAO;QACf,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,EAAE;QACjB,kBAAkB,EAAE,IAAI;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Runtime directory resolution for deploy-lib consumers.
|
|
3
3
|
*
|
|
4
4
|
* Rules:
|
|
5
|
-
* -
|
|
5
|
+
* - abtars runtime root: $ABTARS_HOME ?? ~/.abtars
|
|
6
6
|
* - abmind runtime root: $ABMIND_HOME ?? ~/.abmind
|
|
7
7
|
* - user bin dir: ~/.local/bin (always, XDG convention)
|
|
8
8
|
*
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
* plan #158 v7 (Ag2 round-2 nit): cross-repo manifest reads must respect
|
|
11
11
|
* env-var overrides, not assume default locations.
|
|
12
12
|
*/
|
|
13
|
-
export type PackageName = '
|
|
14
|
-
export declare function
|
|
13
|
+
export type PackageName = 'abtars' | 'abmind';
|
|
14
|
+
export declare function resolveAbtarsHome(): string;
|
|
15
15
|
export declare function resolveAbmindHome(): string;
|
|
16
16
|
export declare function resolvePackageHome(pkg: PackageName): string;
|
|
17
17
|
export declare function resolveUserBinDir(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/deploy-lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,MAAM,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/deploy-lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAY3D"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Runtime directory resolution for deploy-lib consumers.
|
|
3
3
|
*
|
|
4
4
|
* Rules:
|
|
5
|
-
* -
|
|
5
|
+
* - abtars runtime root: $ABTARS_HOME ?? ~/.abtars
|
|
6
6
|
* - abmind runtime root: $ABMIND_HOME ?? ~/.abmind
|
|
7
7
|
* - user bin dir: ~/.local/bin (always, XDG convention)
|
|
8
8
|
*
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { homedir } from 'node:os';
|
|
14
14
|
import { join } from 'node:path';
|
|
15
|
-
export function
|
|
16
|
-
return process.env['
|
|
15
|
+
export function resolveAbtarsHome() {
|
|
16
|
+
return process.env['ABTARS_HOME'] ?? join(homedir(), '.abtars');
|
|
17
17
|
}
|
|
18
18
|
export function resolveAbmindHome() {
|
|
19
19
|
return process.env['ABMIND_HOME'] ?? join(homedir(), '.abmind');
|
|
20
20
|
}
|
|
21
21
|
export function resolvePackageHome(pkg) {
|
|
22
|
-
return pkg === '
|
|
22
|
+
return pkg === 'abtars' ? resolveAbtarsHome() : resolveAbmindHome();
|
|
23
23
|
}
|
|
24
24
|
export function resolveUserBinDir() {
|
|
25
25
|
return join(homedir(), '.local', 'bin');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/deploy-lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/deploy-lib/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IACjD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAaD,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;QACvC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QACtB,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;QACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ensure-initialized.ts — lazy runtime init for abmind (#427).
|
|
3
|
+
*
|
|
4
|
+
* Called on every MemoryManager.initialize(). Idempotent:
|
|
5
|
+
* 1. Seeds missing core files from bundled templates
|
|
6
|
+
* 2. Runs versioned schema migrations (additive only)
|
|
7
|
+
*
|
|
8
|
+
* Fast path (everything current): 1 SELECT + N existsSync = <1ms.
|
|
9
|
+
* Pattern from lossless-claw.
|
|
10
|
+
*/
|
|
11
|
+
import type Database from "better-sqlite3";
|
|
12
|
+
export declare function ensureInitialized(db: Database.Database, dataDir: string): void;
|
|
13
|
+
//# sourceMappingURL=ensure-initialized.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-initialized.d.ts","sourceRoot":"","sources":["../../src/ensure-initialized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AA0C3C,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9E"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ensure-initialized.ts — lazy runtime init for abmind (#427).
|
|
3
|
+
*
|
|
4
|
+
* Called on every MemoryManager.initialize(). Idempotent:
|
|
5
|
+
* 1. Seeds missing core files from bundled templates
|
|
6
|
+
* 2. Runs versioned schema migrations (additive only)
|
|
7
|
+
*
|
|
8
|
+
* Fast path (everything current): 1 SELECT + N existsSync = <1ms.
|
|
9
|
+
* Pattern from lossless-claw.
|
|
10
|
+
*/
|
|
11
|
+
import { existsSync, mkdirSync, copyFileSync, readdirSync } from "node:fs";
|
|
12
|
+
import { join, dirname } from "node:path";
|
|
13
|
+
import { fileURLToPath } from "node:url";
|
|
14
|
+
const MIGRATIONS = [
|
|
15
|
+
// Add new migrations here. Each runs exactly once (tracked by schema_version).
|
|
16
|
+
// Example:
|
|
17
|
+
// (db) => db.exec("ALTER TABLE extracted_memories ADD COLUMN new_field TEXT"),
|
|
18
|
+
];
|
|
19
|
+
/** Resolve bundled templates/core/ dir (works from src/ and dist/). */
|
|
20
|
+
function templatesDir() {
|
|
21
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
22
|
+
// src/ → up 1 to pkg root → templates/core
|
|
23
|
+
const srcSide = join(here, "..", "templates", "core");
|
|
24
|
+
if (existsSync(srcSide))
|
|
25
|
+
return srcSide;
|
|
26
|
+
// dist/src/ → up 2 to pkg root → templates/core
|
|
27
|
+
return join(here, "..", "..", "templates", "core");
|
|
28
|
+
}
|
|
29
|
+
function ensureCoreFiles(dataDir) {
|
|
30
|
+
const tplDir = templatesDir();
|
|
31
|
+
if (!existsSync(tplDir))
|
|
32
|
+
return;
|
|
33
|
+
const coreDir = join(dataDir, "core");
|
|
34
|
+
mkdirSync(coreDir, { recursive: true });
|
|
35
|
+
for (const file of readdirSync(tplDir)) {
|
|
36
|
+
const dst = join(coreDir, file);
|
|
37
|
+
if (!existsSync(dst)) {
|
|
38
|
+
copyFileSync(join(tplDir, file), dst);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function ensureSchema(db) {
|
|
43
|
+
db.exec("CREATE TABLE IF NOT EXISTS _meta (key TEXT PRIMARY KEY, value TEXT)");
|
|
44
|
+
const row = db.prepare("SELECT value FROM _meta WHERE key = 'schema_version'").get();
|
|
45
|
+
const current = parseInt(row?.value ?? "0", 10);
|
|
46
|
+
if (current >= MIGRATIONS.length)
|
|
47
|
+
return;
|
|
48
|
+
for (let i = current; i < MIGRATIONS.length; i++) {
|
|
49
|
+
MIGRATIONS[i](db);
|
|
50
|
+
}
|
|
51
|
+
db.prepare("INSERT OR REPLACE INTO _meta (key, value) VALUES ('schema_version', ?)").run(String(MIGRATIONS.length));
|
|
52
|
+
}
|
|
53
|
+
export function ensureInitialized(db, dataDir) {
|
|
54
|
+
ensureCoreFiles(dataDir);
|
|
55
|
+
ensureSchema(db);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=ensure-initialized.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-initialized.js","sourceRoot":"","sources":["../../src/ensure-initialized.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,UAAU,GAA2C;AACzD,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;CAChF,CAAC;AAEF,uEAAuE;AACvE,SAAS,YAAY;IACnB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,gDAAgD;IAChD,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAqB;IACzC,EAAE,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,EAAmC,CAAC;IACtH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,OAAO,IAAI,UAAU,CAAC,MAAM;QAAE,OAAO;IACzC,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,EAAE,CAAC,OAAO,CAAC,wEAAwE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAqB,EAAE,OAAe;IACtE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-graph.d.ts","sourceRoot":"","sources":["../../src/entity-graph.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-graph.d.ts","sourceRoot":"","sources":["../../src/entity-graph.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oDAAoD;AACpD,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF,IAAI,CASN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,GACxB,UAAU,EAAE,CAad;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM5E"}
|
package/dist/src/entity-graph.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* entity-graph.ts — Entity relationship store + query for S8 recall layer.
|
|
3
3
|
*/
|
|
4
|
+
import { logTrace } from "./mem-logger.js";
|
|
4
5
|
/** Insert or update an entity relationship edge. */
|
|
5
6
|
export function upsertEdge(db, edge) {
|
|
6
7
|
const now = Date.now();
|
|
@@ -23,7 +24,7 @@ export function upsertEdge(db, edge) {
|
|
|
23
24
|
*/
|
|
24
25
|
export function queryEntityRelationships(db, entity, maxClassification) {
|
|
25
26
|
const normalized = entity.toLowerCase();
|
|
26
|
-
|
|
27
|
+
const results = db.prepare(`
|
|
27
28
|
SELECT eg.*
|
|
28
29
|
FROM entity_graph eg
|
|
29
30
|
LEFT JOIN extracted_memories em ON eg.source_memory_id = em.id
|
|
@@ -32,6 +33,8 @@ export function queryEntityRelationships(db, entity, maxClassification) {
|
|
|
32
33
|
ORDER BY eg.last_seen_at DESC
|
|
33
34
|
LIMIT 10
|
|
34
35
|
`).all(normalized, normalized, maxClassification);
|
|
36
|
+
logTrace("entity-graph", `query "${entity}" → ${results.length} edges`);
|
|
37
|
+
return results;
|
|
35
38
|
}
|
|
36
39
|
/** Check if an entity exists in the graph. */
|
|
37
40
|
export function isKnownEntity(db, entity) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-graph.js","sourceRoot":"","sources":["../../src/entity-graph.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"entity-graph.js","sourceRoot":"","sources":["../../src/entity-graph.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAY3C,oDAAoD;AACpD,MAAM,UAAU,UAAU,CACxB,EAAqB,EACrB,IAAyF;IAEzF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,EAAE,CAAC,OAAO,CAAC;;;;;;GAMV,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAqB,EACrB,MAAc,EACd,iBAAyB;IAEzB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;GAQ1B,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAiB,CAAC;IAClE,QAAQ,CAAC,cAAc,EAAE,UAAU,MAAM,OAAO,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;IACxE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,MAAc;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,uEAAuE,CACxE,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9B,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* │ IMemorySystem IMemoryCore + bridge-internal methods: recordMessage, │
|
|
14
14
|
* │ emotion updates, LLM callbacks, heartbeat control, sleep │
|
|
15
15
|
* │ data access, maintenance (WAL/FTS/dedup/backfill). │
|
|
16
|
-
* │ Use when: hosting abmind like
|
|
16
|
+
* │ Use when: hosting abmind like abtars does — you own │
|
|
17
17
|
* │ the full lifecycle, inject an LLM/heartbeat, and need the │
|
|
18
18
|
* │ write path for incoming messages. │
|
|
19
19
|
* │ │
|
|
@@ -55,7 +55,12 @@ export interface IMemoryCore {
|
|
|
55
55
|
profile: string;
|
|
56
56
|
notes: string;
|
|
57
57
|
memoryTools: string;
|
|
58
|
+
coreFacts: string;
|
|
58
59
|
};
|
|
60
|
+
getEmotionalArcs(): Array<{
|
|
61
|
+
topic: string;
|
|
62
|
+
arc: string;
|
|
63
|
+
}>;
|
|
59
64
|
getStats(userId?: string): {
|
|
60
65
|
totalMessages: number;
|
|
61
66
|
extractedMemories: number;
|
|
@@ -81,7 +86,7 @@ export interface IMemorySystem extends IMemoryCore {
|
|
|
81
86
|
close(): void;
|
|
82
87
|
recordMessage(...args: [MessageRecord]): void;
|
|
83
88
|
loadRecentMessages(userId: string, sessionId: string, count: number): MessageRecord[];
|
|
84
|
-
getLastMessageTimestamp(excludeSystem?: boolean): number;
|
|
89
|
+
getLastMessageTimestamp(excludeSystem?: boolean, sessionTypeFilter?: string): number;
|
|
85
90
|
updateEmotionByPlatformId(userId: string | string, platformMessageId: number, score: number): boolean;
|
|
86
91
|
getLatestCompaction(userId: string): {
|
|
87
92
|
timestamp: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imemory-system.d.ts","sourceRoot":"","sources":["../../src/imemory-system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,IAAI,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,IAAI,IAAI,CAAC;IAGd,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE,CAAC;IACrE,YAAY,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,oBAAoB,EAAE,YAAY,CAAC,CAAC;IACpH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAGrC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,iBAAiB,IAAI,MAAM,CAAC;IAC5B,gBAAgB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"imemory-system.d.ts","sourceRoot":"","sources":["../../src/imemory-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* │ IMemorySystem IMemoryCore + bridge-internal methods: recordMessage, │
|
|
14
14
|
* │ emotion updates, LLM callbacks, heartbeat control, sleep │
|
|
15
15
|
* │ data access, maintenance (WAL/FTS/dedup/backfill). │
|
|
16
|
-
* │ Use when: hosting abmind like
|
|
16
|
+
* │ Use when: hosting abmind like abtars does — you own │
|
|
17
17
|
* │ the full lifecycle, inject an LLM/heartbeat, and need the │
|
|
18
18
|
* │ write path for incoming messages. │
|
|
19
19
|
* │ │
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,79 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* abmind — standalone memory system.
|
|
3
3
|
*
|
|
4
|
-
* Public API:
|
|
5
|
-
*
|
|
4
|
+
* Public API: only what external consumers (abtars, future CLIs) need.
|
|
5
|
+
* Internal modules import directly from their source files.
|
|
6
6
|
*/
|
|
7
7
|
export type { IMemoryCore, IMemorySystem, IHeartbeat } from "./imemory-system.js";
|
|
8
8
|
export { MemoryManager } from "./memory-manager.js";
|
|
9
9
|
export { loadMemoryConfig, MEMORY_CONFIG_DEFAULTS } from "./memory-config.js";
|
|
10
10
|
export type { MemoryConfig } from "./memory-config.js";
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export type { MemoryBackend } from "./memory-backend.js";
|
|
14
|
-
export { MemoryIpcServer } from "./memory-ipc-server.js";
|
|
11
|
+
export { loadMemoryEnv } from "./mem-config-env.js";
|
|
12
|
+
export type { SearchMode, MemoryEnvConfig } from "./mem-config-env.js";
|
|
15
13
|
export type { MessageRecord, SearchResult, SearchOptions, ForgetResult, InstantStoreParams, InstantStoreResult, EditMemoryParams, EditMemoryResult, ExtractedMemory, MemorySearchResult, HeartbeatTask, MemoryTier, VectorSearchResult, MemorySearchParams, } from "./mem-types.js";
|
|
16
|
-
export { setLogger } from "./mem-logger.js";
|
|
17
|
-
export { abmindHome } from "./mem-paths.js";
|
|
18
|
-
export { redactSecrets, SECRET_PATTERNS } from "./redact-secrets.js";
|
|
19
|
-
export { SleepStateGatherer } from "./sleep-state-gatherer.js";
|
|
20
|
-
export type { StateSnapshot } from "./sleep-state-gatherer.js";
|
|
21
|
-
export { SleepDataAccess } from "./sleep-data-access.js";
|
|
22
|
-
export type { SleepCandidateLists, EmotionalProfileEntry } from "./sleep-data-access.js";
|
|
23
14
|
export { recallSearch } from "./recall-engine.js";
|
|
24
15
|
export type { RecallParams, RecallHit, RecallResult, RecallContext } from "./recall-engine.js";
|
|
25
|
-
export { applyContextBoost } from "./recall-engine.js";
|
|
26
|
-
export { emojiToScore, emojiToTag, scoreFromTags, effectiveEmotion, tagFromScore } from "./emotion-utils.js";
|
|
27
|
-
export { buildSessionStartContext } from "./session-context.js";
|
|
28
|
-
export { buildMemoryContext } from "./session-memory.js";
|
|
29
|
-
export { sanitizeForSummary } from "./media-sanitizer.js";
|
|
30
16
|
export { ContextEngine } from "./context-engine.js";
|
|
31
17
|
export type { ContextMessage, ContextSummary, ContextSnapshot, CompactionChunk, ContextWatermark } from "./context-engine.js";
|
|
32
18
|
export { CHARS_PER_TOKEN, TAIL_TOKENS, TAIL_MIN_MESSAGES, MAX_CHUNK_TOKENS, COMPACTION_THRESHOLD_PCT, CONDENSATION_THRESHOLD_TOKENS } from "./context-engine.js";
|
|
33
|
-
export { renderForContext
|
|
34
|
-
export type { TieredContextResult, TierBreakdown
|
|
35
|
-
export {
|
|
36
|
-
export type {
|
|
37
|
-
export {
|
|
38
|
-
export type {
|
|
39
|
-
export {
|
|
40
|
-
export type
|
|
41
|
-
export {
|
|
42
|
-
export
|
|
43
|
-
export {
|
|
44
|
-
export { detectEmotions } from "./emotion-tagger.js";
|
|
45
|
-
export type { EmotionTag } from "./emotion-tagger.js";
|
|
46
|
-
export { detectFlags } from "./importance-flagger.js";
|
|
47
|
-
export type { ImportanceFlag } from "./importance-flagger.js";
|
|
48
|
-
export { compress } from "./memory-compressor.js";
|
|
19
|
+
export { renderForContext } from "./context-tier-renderer.js";
|
|
20
|
+
export type { TieredContextResult, TierBreakdown } from "./context-tier-renderer.js";
|
|
21
|
+
export { ContextOrchestrator } from "./context-orchestrator.js";
|
|
22
|
+
export type { ContextOrchestratorConfig, ContextResult, SummarizeFn } from "./context-orchestrator.js";
|
|
23
|
+
export { runSleepCycle, SleepInitError, SleepTimeoutError } from "./sleep/orchestrator.js";
|
|
24
|
+
export type { RunOpts, RunResult } from "./sleep/orchestrator.js";
|
|
25
|
+
export type { SleepRuntime } from "./sleep/runtime.js";
|
|
26
|
+
export { type Level, parseLevel, DEFAULT_LEVEL } from "./sleep/levels.js";
|
|
27
|
+
export { hasSleepAuditToday } from "./sleep/trigger.js";
|
|
28
|
+
export { buildSessionStartContext } from "./session-context.js";
|
|
29
|
+
export { buildMemoryContext } from "./session-memory.js";
|
|
49
30
|
export { renderMemory } from "./memory-renderer.js";
|
|
50
|
-
export { TYPE_EMOJI, TOPIC_EMOJI, EMOTION_EMOJI, confidenceMarker } from "./abm-v2-vocab.js";
|
|
51
|
-
export { generateSignature, hammingDistance, hammingSimilarity } from "./signature-generator.js";
|
|
52
|
-
export { buildArc } from "./emotion-arc.js";
|
|
53
|
-
export { checkContradiction } from "./contradiction-checker.js";
|
|
54
|
-
export { buildTimelines, buildCrossTopicTimelines, renderTimeline, renderCrossTopicTimeline, renderTimelines } from "./timeline-builder.js";
|
|
55
|
-
export type { Timeline, RenderedTimeline, TimelineMemory } from "./timeline-builder.js";
|
|
56
31
|
export { buildWakeUp } from "./wake-up-builder.js";
|
|
57
|
-
export { isFlashbulb, isAgingProtected, effectiveConfidence, detectInterference } from "./brain-patterns.js";
|
|
58
32
|
export { scanForInjection } from "./injection-scanner.js";
|
|
59
33
|
export type { ScanResult, InjectionFlag } from "./injection-scanner.js";
|
|
60
|
-
export {
|
|
61
|
-
export
|
|
62
|
-
export {
|
|
63
|
-
export
|
|
64
|
-
export {
|
|
34
|
+
export { redactSecrets, SECRET_PATTERNS } from "./redact-secrets.js";
|
|
35
|
+
export { abmindHome } from "./mem-paths.js";
|
|
36
|
+
export { emojiToScore, emojiToTag, scoreFromTags, effectiveEmotion, tagFromScore } from "./emotion-utils.js";
|
|
37
|
+
export { createMemoryBackend } from "./backend-factory.js";
|
|
38
|
+
export { SqliteBackend } from "./sqlite-backend.js";
|
|
39
|
+
export type { MemoryBackend } from "./memory-backend.js";
|
|
40
|
+
export { MemoryIpcServer } from "./memory-ipc-server.js";
|
|
41
|
+
export { createBackup, restoreBackup } from "./backup.js";
|
|
42
|
+
export type { BackupResult, RestoreResult } from "./backup.js";
|
|
65
43
|
export { checkEmbeddingHealth } from "./embedding-health.js";
|
|
66
44
|
export type { EmbeddingHealth } from "./embedding-health.js";
|
|
67
|
-
export {
|
|
68
|
-
export
|
|
69
|
-
export { buildDailySummary, writeDailyFile } from "./sleep-pipeline.js";
|
|
70
|
-
export { extractFromDaily } from "./sleep-pipeline.js";
|
|
71
|
-
export { runSleepCycle, SleepInitError, SleepTimeoutError } from "./sleep/orchestrator.js";
|
|
72
|
-
export type { RunOpts, RunResult } from "./sleep/orchestrator.js";
|
|
73
|
-
export type { SleepRuntime } from "./sleep/runtime.js";
|
|
74
|
-
export { type Level, parseLevel, DEFAULT_LEVEL } from "./sleep/levels.js";
|
|
75
|
-
export { runBasicCycle, parseBasicResponse } from "./sleep/basic.js";
|
|
76
|
-
export type { BasicOpts, BasicResult } from "./sleep/basic.js";
|
|
77
|
-
export { hasSleepAuditToday } from "./sleep/trigger.js";
|
|
78
|
-
export { MaintenanceService, type PreSleepResults } from "./maintenance-service.js";
|
|
45
|
+
export { encrypt, decrypt, hasKey, getSecretsKey, getBackupKey } from "./crypto.js";
|
|
46
|
+
export { metaGet, metaGetInt, metaSet, metaIncrement } from "./meta-store.js";
|
|
79
47
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|