abmind 0.2.6 → 0.2.7-alpha.1
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/SUPPORTED-SURFACE.md +20 -2
- package/dist/cli/abmind-hook-recall.js +17 -40
- package/dist/cli/abmind-hook-recall.js.map +1 -1
- package/dist/cli/abmind-hook-store.js +10 -31
- package/dist/cli/abmind-hook-store.js.map +1 -1
- package/dist/cli/abmind-hook-wakeup.js +17 -3
- package/dist/cli/abmind-hook-wakeup.js.map +1 -1
- package/dist/cli/abmind-install.js +19 -19
- package/dist/cli/abmind-install.js.map +1 -1
- package/dist/cli/abmind-restore.js +10 -0
- package/dist/cli/abmind-restore.js.map +1 -1
- package/dist/cli/abmind-sleep.d.ts +9 -5
- package/dist/cli/abmind-sleep.d.ts.map +1 -1
- package/dist/cli/abmind-sleep.js +61 -14
- package/dist/cli/abmind-sleep.js.map +1 -1
- package/dist/cli/hook-lifecycle-adapter.d.ts +11 -0
- package/dist/cli/hook-lifecycle-adapter.d.ts.map +1 -0
- package/dist/cli/hook-lifecycle-adapter.js +33 -0
- package/dist/cli/hook-lifecycle-adapter.js.map +1 -0
- package/dist/src/context-engine.d.ts +13 -3
- package/dist/src/context-engine.d.ts.map +1 -1
- package/dist/src/context-engine.js +22 -5
- package/dist/src/context-engine.js.map +1 -1
- package/dist/src/context-orchestrator.d.ts +20 -2
- package/dist/src/context-orchestrator.d.ts.map +1 -1
- package/dist/src/context-orchestrator.js +11 -3
- package/dist/src/context-orchestrator.js.map +1 -1
- package/dist/src/context-tier-renderer.d.ts +8 -1
- package/dist/src/context-tier-renderer.d.ts.map +1 -1
- package/dist/src/context-tier-renderer.js +7 -2
- package/dist/src/context-tier-renderer.js.map +1 -1
- package/dist/src/ensure-initialized.d.ts +5 -0
- package/dist/src/ensure-initialized.d.ts.map +1 -1
- package/dist/src/ensure-initialized.js +19 -28
- package/dist/src/ensure-initialized.js.map +1 -1
- package/dist/src/host-integration/identity.d.ts +10 -0
- package/dist/src/host-integration/identity.d.ts.map +1 -0
- package/dist/src/host-integration/identity.js +66 -0
- package/dist/src/host-integration/identity.js.map +1 -0
- package/dist/src/host-integration/index.d.ts +5 -0
- package/dist/src/host-integration/index.d.ts.map +1 -0
- package/dist/src/host-integration/index.js +4 -0
- package/dist/src/host-integration/index.js.map +1 -0
- package/dist/src/host-integration/lifecycle.d.ts +14 -0
- package/dist/src/host-integration/lifecycle.d.ts.map +1 -0
- package/dist/src/host-integration/lifecycle.js +192 -0
- package/dist/src/host-integration/lifecycle.js.map +1 -0
- package/dist/src/host-integration/render.d.ts +5 -0
- package/dist/src/host-integration/render.d.ts.map +1 -0
- package/dist/src/host-integration/render.js +20 -0
- package/dist/src/host-integration/render.js.map +1 -0
- package/dist/src/host-integration/types.d.ts +107 -0
- package/dist/src/host-integration/types.d.ts.map +1 -0
- package/dist/src/host-integration/types.js +2 -0
- package/dist/src/host-integration/types.js.map +1 -0
- package/dist/src/imemory-system.d.ts +1 -1
- package/dist/src/imemory-system.d.ts.map +1 -1
- package/dist/src/index.d.ts +6 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/maintenance-service.d.ts +11 -0
- package/dist/src/maintenance-service.d.ts.map +1 -1
- package/dist/src/maintenance-service.js +43 -0
- package/dist/src/maintenance-service.js.map +1 -1
- package/dist/src/memory-manager.d.ts +6 -2
- package/dist/src/memory-manager.d.ts.map +1 -1
- package/dist/src/memory-manager.js +9 -5
- package/dist/src/memory-manager.js.map +1 -1
- package/dist/src/message-store.d.ts +15 -3
- package/dist/src/message-store.d.ts.map +1 -1
- package/dist/src/message-store.js +28 -9
- package/dist/src/message-store.js.map +1 -1
- package/dist/src/openclaw-plugin/index.d.ts.map +1 -1
- package/dist/src/openclaw-plugin/index.js +3 -2
- package/dist/src/openclaw-plugin/index.js.map +1 -1
- package/dist/src/pi-plugin/abtars-client.d.ts +22 -0
- package/dist/src/pi-plugin/abtars-client.d.ts.map +1 -0
- package/dist/src/pi-plugin/abtars-client.js +153 -0
- package/dist/src/pi-plugin/abtars-client.js.map +1 -0
- package/dist/src/pi-plugin/abtars-tools.d.ts +8 -0
- package/dist/src/pi-plugin/abtars-tools.d.ts.map +1 -0
- package/dist/src/pi-plugin/abtars-tools.js +317 -0
- package/dist/src/pi-plugin/abtars-tools.js.map +1 -0
- package/dist/src/pi-plugin/identity.d.ts +8 -0
- package/dist/src/pi-plugin/identity.d.ts.map +1 -0
- package/dist/src/pi-plugin/identity.js +37 -0
- package/dist/src/pi-plugin/identity.js.map +1 -0
- package/dist/src/pi-plugin/index.d.ts +3 -0
- package/dist/src/pi-plugin/index.d.ts.map +1 -0
- package/dist/src/pi-plugin/index.js +139 -0
- package/dist/src/pi-plugin/index.js.map +1 -0
- package/dist/src/pi-plugin/messages.d.ts +4 -0
- package/dist/src/pi-plugin/messages.d.ts.map +1 -0
- package/dist/src/pi-plugin/messages.js +36 -0
- package/dist/src/pi-plugin/messages.js.map +1 -0
- package/dist/src/pi-plugin/pi-types.d.ts +126 -0
- package/dist/src/pi-plugin/pi-types.d.ts.map +1 -0
- package/dist/src/pi-plugin/pi-types.js +15 -0
- package/dist/src/pi-plugin/pi-types.js.map +1 -0
- package/dist/src/pi-plugin/runtime.d.ts +21 -0
- package/dist/src/pi-plugin/runtime.d.ts.map +1 -0
- package/dist/src/pi-plugin/runtime.js +60 -0
- package/dist/src/pi-plugin/runtime.js.map +1 -0
- package/dist/src/pi-plugin/tools.d.ts +11 -0
- package/dist/src/pi-plugin/tools.d.ts.map +1 -0
- package/dist/src/pi-plugin/tools.js +136 -0
- package/dist/src/pi-plugin/tools.js.map +1 -0
- package/dist/src/reconcile.d.ts +2 -0
- package/dist/src/reconcile.d.ts.map +1 -1
- package/dist/src/reconcile.js +21 -4
- package/dist/src/reconcile.js.map +1 -1
- package/dist/src/session-context.d.ts +1 -0
- package/dist/src/session-context.d.ts.map +1 -1
- package/dist/src/session-context.js +42 -23
- package/dist/src/session-context.js.map +1 -1
- package/dist/src/sleep/basic.d.ts +1 -1
- package/dist/src/sleep/basic.d.ts.map +1 -1
- package/dist/src/sleep/basic.js +5 -2
- package/dist/src/sleep/basic.js.map +1 -1
- package/dist/src/sleep/catchup.d.ts +3 -5
- package/dist/src/sleep/catchup.d.ts.map +1 -1
- package/dist/src/sleep/catchup.js +37 -55
- package/dist/src/sleep/catchup.js.map +1 -1
- package/dist/src/sleep/contracts.d.ts +112 -0
- package/dist/src/sleep/contracts.d.ts.map +1 -0
- package/dist/src/sleep/contracts.js +25 -0
- package/dist/src/sleep/contracts.js.map +1 -0
- package/dist/src/sleep/llm-budget.d.ts +34 -14
- package/dist/src/sleep/llm-budget.d.ts.map +1 -1
- package/dist/src/sleep/llm-budget.js +66 -52
- package/dist/src/sleep/llm-budget.js.map +1 -1
- package/dist/src/sleep/orchestrator.d.ts +19 -69
- package/dist/src/sleep/orchestrator.d.ts.map +1 -1
- package/dist/src/sleep/orchestrator.js +286 -270
- package/dist/src/sleep/orchestrator.js.map +1 -1
- package/dist/src/sleep/state.d.ts +7 -19
- package/dist/src/sleep/state.d.ts.map +1 -1
- package/dist/src/sleep/state.js +5 -38
- package/dist/src/sleep/state.js.map +1 -1
- package/dist/src/sleep/test-harness.d.ts +3 -1
- package/dist/src/sleep/test-harness.d.ts.map +1 -1
- package/dist/src/sleep/test-harness.js +3 -2
- package/dist/src/sleep/test-harness.js.map +1 -1
- package/dist/src/soul-seeder.d.ts +36 -0
- package/dist/src/soul-seeder.d.ts.map +1 -0
- package/dist/src/soul-seeder.js +69 -0
- package/dist/src/soul-seeder.js.map +1 -0
- package/dist/src/wake-up-builder.d.ts +3 -1
- package/dist/src/wake-up-builder.d.ts.map +1 -1
- package/dist/src/wake-up-builder.js +29 -5
- package/dist/src/wake-up-builder.js.map +1 -1
- package/package.json +20 -2
- package/dist/cli/abmind-rollback.d.ts +0 -8
- package/dist/cli/abmind-rollback.d.ts.map +0 -1
- package/dist/cli/abmind-rollback.js +0 -78
- package/dist/cli/abmind-rollback.js.map +0 -1
- package/dist/src/native-loader.d.ts +0 -7
- package/dist/src/native-loader.d.ts.map +0 -1
- package/dist/src/native-loader.js +0 -21
- package/dist/src/native-loader.js.map +0 -1
- package/dist/src/recall-benchmark.d.ts +0 -13
- package/dist/src/recall-benchmark.d.ts.map +0 -1
- package/dist/src/recall-benchmark.js +0 -260
- package/dist/src/recall-benchmark.js.map +0 -1
- package/dist/src/sleep/runtime.d.ts +0 -15
- package/dist/src/sleep/runtime.d.ts.map +0 -1
- package/dist/src/sleep/runtime.js +0 -2
- package/dist/src/sleep/runtime.js.map +0 -1
- package/dist/src/wake-up-renderer.d.ts +0 -24
- package/dist/src/wake-up-renderer.d.ts.map +0 -1
- package/dist/src/wake-up-renderer.js +0 -148
- package/dist/src/wake-up-renderer.js.map +0 -1
|
@@ -7,11 +7,15 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Fast path (everything current): 1 SELECT + N existsSync = <1ms.
|
|
9
9
|
* Pattern: idempotent seed + versioned migrations.
|
|
10
|
+
*
|
|
11
|
+
* Note (#1323, #1324): SOUL.md is personalized and owned by `soul-seeder`.
|
|
12
|
+
* Lazy-init seed of the OTHER core files (agent_notes, memory-tools, etc.)
|
|
13
|
+
* remains this module's job; SOUL.md is explicitly skipped to avoid
|
|
14
|
+
* clobbering the personalized copy on every MemoryManager.initialize().
|
|
10
15
|
*/
|
|
11
|
-
import { existsSync, mkdirSync, copyFileSync, readdirSync
|
|
16
|
+
import { existsSync, mkdirSync, copyFileSync, readdirSync } from "node:fs";
|
|
12
17
|
import { join, dirname } from "node:path";
|
|
13
18
|
import { fileURLToPath } from "node:url";
|
|
14
|
-
import { logWarn } from "./mem-logger.js";
|
|
15
19
|
const MIGRATIONS = [
|
|
16
20
|
// #824: recall quality feedback columns
|
|
17
21
|
(db) => {
|
|
@@ -25,50 +29,37 @@ const MIGRATIONS = [
|
|
|
25
29
|
catch { /* exists */ }
|
|
26
30
|
},
|
|
27
31
|
];
|
|
28
|
-
/** Resolve bundled templates/core/ dir (works from src/ and dist/). */
|
|
32
|
+
/** Resolve bundled templates/memory/core/ dir (works from src/ and dist/). */
|
|
29
33
|
function templatesDir() {
|
|
30
34
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
31
|
-
// src/ → up 1 to pkg root → templates/core
|
|
32
|
-
const srcSide = join(here, "..", "templates", "core");
|
|
35
|
+
// src/ → up 1 to pkg root → templates/memory/core
|
|
36
|
+
const srcSide = join(here, "..", "templates", "memory", "core");
|
|
33
37
|
if (existsSync(srcSide))
|
|
34
38
|
return srcSide;
|
|
35
|
-
// dist/src/ → up 2 to pkg root → templates/core
|
|
36
|
-
return join(here, "..", "..", "templates", "core");
|
|
39
|
+
// dist/src/ → up 2 to pkg root → templates/memory/core
|
|
40
|
+
return join(here, "..", "..", "templates", "memory", "core");
|
|
37
41
|
}
|
|
42
|
+
/** Files in templates/memory/core/ that lazy-init must NOT seed. */
|
|
43
|
+
const LAZY_INIT_SKIP = new Set([
|
|
44
|
+
"SOUL.md", // personalized at install time via soul-seeder
|
|
45
|
+
]);
|
|
38
46
|
function ensureCoreFiles(dataDir) {
|
|
39
47
|
const tplDir = templatesDir();
|
|
40
48
|
if (!existsSync(tplDir))
|
|
41
49
|
return;
|
|
42
50
|
const coreDir = join(dataDir, "core");
|
|
43
51
|
mkdirSync(coreDir, { recursive: true });
|
|
44
|
-
// Read agentName from manifest for template substitution
|
|
45
|
-
const manifestPath = join(dataDir, "..", "manifest.json");
|
|
46
|
-
let agentName = null;
|
|
47
|
-
try {
|
|
48
|
-
const manifest = JSON.parse(readFileSync(manifestPath, "utf-8"));
|
|
49
|
-
agentName = manifest.agentName ?? null;
|
|
50
|
-
}
|
|
51
|
-
catch { /* no manifest — fresh or corrupt */ }
|
|
52
52
|
for (const file of readdirSync(tplDir)) {
|
|
53
|
+
if (LAZY_INIT_SKIP.has(file))
|
|
54
|
+
continue;
|
|
53
55
|
const dst = join(coreDir, file);
|
|
54
56
|
if (!existsSync(dst)) {
|
|
55
|
-
|
|
56
|
-
let content = readFileSync(join(tplDir, file), "utf-8");
|
|
57
|
-
content = content.replaceAll("<agentName>", agentName);
|
|
58
|
-
writeFileSync(dst, content, { mode: 0o600 });
|
|
59
|
-
}
|
|
60
|
-
else if (file === "SOUL.md" && !agentName) {
|
|
61
|
-
logWarn("ensure-init", "No agentName in manifest — SOUL.md seeded with <agentName> placeholder. Run abmind install to fix.");
|
|
62
|
-
copyFileSync(join(tplDir, file), dst);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
copyFileSync(join(tplDir, file), dst);
|
|
66
|
-
}
|
|
57
|
+
copyFileSync(join(tplDir, file), dst);
|
|
67
58
|
}
|
|
68
59
|
}
|
|
69
60
|
}
|
|
70
61
|
function ensureSchema(db) {
|
|
71
|
-
db.exec("CREATE TABLE IF NOT EXISTS _meta (key TEXT PRIMARY KEY, value
|
|
62
|
+
db.exec("CREATE TABLE IF NOT EXISTS _meta (key TEXT PRIMARY KEY, value)");
|
|
72
63
|
const row = db.prepare("SELECT value FROM _meta WHERE key = 'schema_version'").get();
|
|
73
64
|
const current = parseInt(row?.value ?? "0", 10);
|
|
74
65
|
if (current < MIGRATIONS.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-initialized.js","sourceRoot":"","sources":["../../src/ensure-initialized.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ensure-initialized.js","sourceRoot":"","sources":["../../src/ensure-initialized.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ExecutionIdentity, HostDiagnostic } from "./types.js";
|
|
2
|
+
export declare function isValidIdentityField(value: string): boolean;
|
|
3
|
+
export interface ValidatedIdentity {
|
|
4
|
+
identity: ExecutionIdentity;
|
|
5
|
+
diagnostics: readonly HostDiagnostic[];
|
|
6
|
+
}
|
|
7
|
+
export declare function validateIdentity(raw: ExecutionIdentity): ValidatedIdentity;
|
|
8
|
+
export declare function canAutoWrite(identity: ExecutionIdentity, writerId: string): boolean;
|
|
9
|
+
export declare function buildProvenance(identity: ExecutionIdentity, writerId: string, operation: string): string;
|
|
10
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/host-integration/identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIpE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;CACxC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,CAuD1E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExG"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const CONTROL_CHAR = /[\x00-\x1f\x7f-\x9f]/;
|
|
2
|
+
export function isValidIdentityField(value) {
|
|
3
|
+
const trimmed = value.trim();
|
|
4
|
+
return trimmed.length > 0 && !CONTROL_CHAR.test(trimmed);
|
|
5
|
+
}
|
|
6
|
+
export function validateIdentity(raw) {
|
|
7
|
+
const diagnostics = [];
|
|
8
|
+
const fields = [
|
|
9
|
+
{ key: "principalId", value: raw.principalId },
|
|
10
|
+
{ key: "conversationId", value: raw.conversationId },
|
|
11
|
+
{ key: "executionId", value: raw.executionId },
|
|
12
|
+
{ key: "host", value: raw.host },
|
|
13
|
+
{ key: "origin", value: raw.origin },
|
|
14
|
+
{ key: "automaticWriteOwner", value: raw.automaticWriteOwner },
|
|
15
|
+
];
|
|
16
|
+
for (const { key, value } of fields) {
|
|
17
|
+
if (!value || !value.trim()) {
|
|
18
|
+
diagnostics.push({
|
|
19
|
+
operation: "validateIdentity",
|
|
20
|
+
code: "EMPTY_IDENTITY_FIELD",
|
|
21
|
+
message: `Identity field '${key}' is empty`,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
else if (CONTROL_CHAR.test(value)) {
|
|
25
|
+
diagnostics.push({
|
|
26
|
+
operation: "validateIdentity",
|
|
27
|
+
code: "CONTROL_CHAR_IN_IDENTITY",
|
|
28
|
+
message: `Identity field '${key}' contains control characters`,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (raw.parentExecutionId !== undefined) {
|
|
33
|
+
const trimmed = raw.parentExecutionId.trim();
|
|
34
|
+
if (!trimmed) {
|
|
35
|
+
diagnostics.push({
|
|
36
|
+
operation: "validateIdentity",
|
|
37
|
+
code: "EMPTY_PARENT_EXECUTION_ID",
|
|
38
|
+
message: "Optional field 'parentExecutionId' is present but empty",
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else if (CONTROL_CHAR.test(raw.parentExecutionId)) {
|
|
42
|
+
diagnostics.push({
|
|
43
|
+
operation: "validateIdentity",
|
|
44
|
+
code: "CONTROL_CHAR_IN_PARENT_EXECUTION_ID",
|
|
45
|
+
message: "Optional field 'parentExecutionId' contains control characters",
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const identity = {
|
|
50
|
+
principalId: raw.principalId.trim(),
|
|
51
|
+
conversationId: raw.conversationId.trim(),
|
|
52
|
+
executionId: raw.executionId.trim(),
|
|
53
|
+
parentExecutionId: raw.parentExecutionId?.trim() || undefined,
|
|
54
|
+
host: raw.host.trim(),
|
|
55
|
+
origin: raw.origin.trim(),
|
|
56
|
+
automaticWriteOwner: raw.automaticWriteOwner.trim(),
|
|
57
|
+
};
|
|
58
|
+
return { identity, diagnostics };
|
|
59
|
+
}
|
|
60
|
+
export function canAutoWrite(identity, writerId) {
|
|
61
|
+
return identity.automaticWriteOwner === writerId;
|
|
62
|
+
}
|
|
63
|
+
export function buildProvenance(identity, writerId, operation) {
|
|
64
|
+
return `${identity.host}:${writerId}:${operation}`;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/host-integration/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type { ExecutionIdentity, HostLifecycleOptions, AutomaticRecallPolicy, StartSessionInput, StartSessionResult, PrepareTurnInput, PrepareTurnResult, RecallHit, CompleteTurnInput, CompleteTurnResult, ExplicitRecallInput, RecallOperationResult, ExplicitStoreInput, HostDiagnostic, } from "./types.js";
|
|
2
|
+
export { validateIdentity, isValidIdentityField, canAutoWrite, buildProvenance } from "./identity.js";
|
|
3
|
+
export { HostMemoryLifecycle } from "./lifecycle.js";
|
|
4
|
+
export { renderWakeUp, renderRecallContext } from "./render.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/host-integration/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host-integration/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MemoryManager } from "../memory-manager.js";
|
|
2
|
+
import type { HostLifecycleOptions, StartSessionInput, StartSessionResult, PrepareTurnInput, PrepareTurnResult, CompleteTurnInput, CompleteTurnResult, ExplicitRecallInput, RecallOperationResult, ExplicitStoreInput } from "./types.js";
|
|
3
|
+
export declare class HostMemoryLifecycle {
|
|
4
|
+
private memory;
|
|
5
|
+
private options;
|
|
6
|
+
constructor(memory: MemoryManager, options: HostLifecycleOptions);
|
|
7
|
+
startSession(input: StartSessionInput): Promise<StartSessionResult>;
|
|
8
|
+
prepareTurn(input: PrepareTurnInput): Promise<PrepareTurnResult>;
|
|
9
|
+
completeTurn(input: CompleteTurnInput): CompleteTurnResult;
|
|
10
|
+
recall(input: ExplicitRecallInput): Promise<RecallOperationResult>;
|
|
11
|
+
store(input: ExplicitStoreInput): Promise<import("../mem-types.js").InstantStoreResult>;
|
|
12
|
+
private fail;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/host-integration/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAEV,oBAAoB,EAEpB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAiBpB,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAuB;gBAE1B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB;IAQ1D,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiBnE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoCtE,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB;IAkDpD,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuClE,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,iBAAiB,EAAE,kBAAkB,CAAC;IA6B7F,OAAO,CAAC,IAAI;CAmBb"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { validateIdentity, canAutoWrite, buildProvenance } from "./identity.js";
|
|
2
|
+
import { renderWakeUp, renderRecallContext } from "./render.js";
|
|
3
|
+
function clampPolicy(policy) {
|
|
4
|
+
return {
|
|
5
|
+
limit: Math.max(1, Math.min(50, Math.floor(policy.limit))),
|
|
6
|
+
maxChars: Math.max(1, Math.floor(policy.maxChars)),
|
|
7
|
+
minScore: policy.minScore !== undefined ? Math.max(0, Math.min(1, policy.minScore)) : 0,
|
|
8
|
+
maxClassification: policy.maxClassification !== undefined
|
|
9
|
+
? Math.min(2, Math.max(0, Math.floor(policy.maxClassification)))
|
|
10
|
+
: 2,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function makeDiagnostic(operation, code, message) {
|
|
14
|
+
return { operation, code, message };
|
|
15
|
+
}
|
|
16
|
+
export class HostMemoryLifecycle {
|
|
17
|
+
memory;
|
|
18
|
+
options;
|
|
19
|
+
constructor(memory, options) {
|
|
20
|
+
this.memory = memory;
|
|
21
|
+
this.options = {
|
|
22
|
+
writerId: options.writerId,
|
|
23
|
+
failOpen: options.failOpen !== false,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
async startSession(input) {
|
|
27
|
+
try {
|
|
28
|
+
const { identity, diagnostics: idDiag } = validateIdentity(input.identity);
|
|
29
|
+
const allDiags = [...idDiag];
|
|
30
|
+
if (idDiag.length > 0) {
|
|
31
|
+
return { ok: false, context: "", diagnostics: allDiags };
|
|
32
|
+
}
|
|
33
|
+
const maxChars = Math.max(1, Math.floor(input.maxChars));
|
|
34
|
+
const context = renderWakeUp(this.memory, maxChars);
|
|
35
|
+
return { ok: true, context, diagnostics: allDiags };
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
return this.fail("startSession", err);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async prepareTurn(input) {
|
|
42
|
+
try {
|
|
43
|
+
const { identity, diagnostics: idDiag } = validateIdentity(input.identity);
|
|
44
|
+
const allDiags = [...idDiag];
|
|
45
|
+
if (idDiag.length > 0) {
|
|
46
|
+
return { context: "", hits: [], diagnostics: allDiags };
|
|
47
|
+
}
|
|
48
|
+
const policy = clampPolicy(input.policy);
|
|
49
|
+
const result = await this.memory.recallSearch({
|
|
50
|
+
translated: [...input.query.translated],
|
|
51
|
+
original: input.query.original,
|
|
52
|
+
userId: identity.principalId,
|
|
53
|
+
limit: policy.limit,
|
|
54
|
+
maxClassification: policy.maxClassification,
|
|
55
|
+
});
|
|
56
|
+
const hits = result.results
|
|
57
|
+
.filter(h => h.score >= policy.minScore)
|
|
58
|
+
.map(h => ({
|
|
59
|
+
content: h.content,
|
|
60
|
+
date: h.date,
|
|
61
|
+
score: h.score,
|
|
62
|
+
classification: h.classification,
|
|
63
|
+
}));
|
|
64
|
+
const context = renderRecallContext(hits, policy.maxChars);
|
|
65
|
+
return { context, hits, diagnostics: allDiags };
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
return this.fail("prepareTurn", err, { context: "", hits: [], diagnostics: [] });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
completeTurn(input) {
|
|
72
|
+
try {
|
|
73
|
+
const { identity, diagnostics: idDiag } = validateIdentity(input.identity);
|
|
74
|
+
if (idDiag.length > 0) {
|
|
75
|
+
return { status: "failed", diagnostic: idDiag[0] };
|
|
76
|
+
}
|
|
77
|
+
if (!canAutoWrite(identity, this.options.writerId)) {
|
|
78
|
+
return { status: "skipped", reason: "not_owner" };
|
|
79
|
+
}
|
|
80
|
+
if (!input.user?.content?.trim() && !input.assistant?.content?.trim()) {
|
|
81
|
+
return { status: "skipped", reason: "empty" };
|
|
82
|
+
}
|
|
83
|
+
const messageIds = [];
|
|
84
|
+
const now = Date.now();
|
|
85
|
+
if (input.user?.content?.trim()) {
|
|
86
|
+
const id = this.memory.recordMessage({
|
|
87
|
+
userId: identity.principalId,
|
|
88
|
+
sessionId: identity.conversationId,
|
|
89
|
+
role: "user",
|
|
90
|
+
content: input.user.content,
|
|
91
|
+
timestamp: input.user.timestamp ?? now - 1,
|
|
92
|
+
});
|
|
93
|
+
if (id !== null)
|
|
94
|
+
messageIds.push(id);
|
|
95
|
+
}
|
|
96
|
+
if (input.assistant?.content?.trim()) {
|
|
97
|
+
const id = this.memory.recordMessage({
|
|
98
|
+
userId: identity.principalId,
|
|
99
|
+
sessionId: identity.conversationId,
|
|
100
|
+
role: "assistant",
|
|
101
|
+
content: input.assistant.content,
|
|
102
|
+
timestamp: input.assistant.timestamp ?? now,
|
|
103
|
+
});
|
|
104
|
+
if (id !== null)
|
|
105
|
+
messageIds.push(id);
|
|
106
|
+
}
|
|
107
|
+
if (messageIds.length === 0) {
|
|
108
|
+
return { status: "skipped", reason: "rejected" };
|
|
109
|
+
}
|
|
110
|
+
return { status: "recorded", messageIds };
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
return this.fail("completeTurn", err);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async recall(input) {
|
|
117
|
+
try {
|
|
118
|
+
const { identity, diagnostics: idDiag } = validateIdentity(input.identity);
|
|
119
|
+
const allDiags = [...idDiag];
|
|
120
|
+
if (idDiag.length > 0) {
|
|
121
|
+
return { context: "", hits: [], diagnostics: allDiags };
|
|
122
|
+
}
|
|
123
|
+
const limit = input.limit !== undefined ? Math.max(1, Math.min(50, Math.floor(input.limit))) : 5;
|
|
124
|
+
const maxClassification = input.maxClassification !== undefined
|
|
125
|
+
? Math.max(0, Math.min(3, Math.floor(input.maxClassification)))
|
|
126
|
+
: undefined;
|
|
127
|
+
const result = await this.memory.recallSearch({
|
|
128
|
+
translated: [...input.query.translated],
|
|
129
|
+
original: input.query.original,
|
|
130
|
+
userId: identity.principalId,
|
|
131
|
+
limit,
|
|
132
|
+
maxClassification,
|
|
133
|
+
});
|
|
134
|
+
const hits = result.results
|
|
135
|
+
.filter(h => input.minScore === undefined || h.score >= input.minScore)
|
|
136
|
+
.map(h => ({
|
|
137
|
+
content: h.content,
|
|
138
|
+
date: h.date,
|
|
139
|
+
score: h.score,
|
|
140
|
+
classification: h.classification,
|
|
141
|
+
}));
|
|
142
|
+
const context = renderRecallContext(hits, 10000);
|
|
143
|
+
return { context, hits, diagnostics: allDiags };
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
return this.fail("recall", err, { context: "", hits: [], diagnostics: [] });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
async store(input) {
|
|
150
|
+
try {
|
|
151
|
+
const { identity } = validateIdentity(input.identity);
|
|
152
|
+
return await this.memory.editor.instantStore({
|
|
153
|
+
userId: identity.principalId,
|
|
154
|
+
contentEn: input.contentEn,
|
|
155
|
+
contentOriginal: input.contentOriginal,
|
|
156
|
+
memoryType: input.memoryType,
|
|
157
|
+
emotionScore: input.emotionScore,
|
|
158
|
+
emotionTags: input.emotionTags,
|
|
159
|
+
emotionContext: input.emotionContext,
|
|
160
|
+
keyword: input.keyword,
|
|
161
|
+
confidence: input.confidence,
|
|
162
|
+
sourceMessageIds: input.sourceMessageIds,
|
|
163
|
+
classification: input.classification,
|
|
164
|
+
trust: input.trust,
|
|
165
|
+
integrity: input.integrity,
|
|
166
|
+
credibility: input.credibility,
|
|
167
|
+
topic: input.topic,
|
|
168
|
+
createdBy: buildProvenance(identity, this.options.writerId, "store"),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
catch (err) {
|
|
172
|
+
return this.fail("store", err, {
|
|
173
|
+
stored: false, memoriesCount: 0, error: String(err),
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
fail(operation, err, fallback) {
|
|
178
|
+
const diagnostic = makeDiagnostic(operation, err instanceof Error ? err.name : "UNKNOWN", err instanceof Error ? err.message : String(err));
|
|
179
|
+
if (!this.options.failOpen)
|
|
180
|
+
throw err;
|
|
181
|
+
if (fallback !== undefined)
|
|
182
|
+
return fallback;
|
|
183
|
+
if (operation === "startSession") {
|
|
184
|
+
return { ok: false, context: "", diagnostics: [diagnostic] };
|
|
185
|
+
}
|
|
186
|
+
if (operation === "completeTurn") {
|
|
187
|
+
return { status: "failed", diagnostic };
|
|
188
|
+
}
|
|
189
|
+
return { context: "", hits: [], diagnostics: [diagnostic] };
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/host-integration/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RecallHit } from "./types.js";
|
|
2
|
+
import type { MemoryManager } from "../memory-manager.js";
|
|
3
|
+
export declare function renderWakeUp(memory: MemoryManager, maxChars: number): string;
|
|
4
|
+
export declare function renderRecallContext(hits: readonly RecallHit[], maxChars: number): string;
|
|
5
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/host-integration/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBxF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function renderWakeUp(memory, maxChars) {
|
|
2
|
+
return memory.buildWakeUp(maxChars);
|
|
3
|
+
}
|
|
4
|
+
export function renderRecallContext(hits, maxChars) {
|
|
5
|
+
if (hits.length === 0)
|
|
6
|
+
return "";
|
|
7
|
+
const lines = ["[abmind memory context]"];
|
|
8
|
+
let total = lines[0].length + 1;
|
|
9
|
+
for (const hit of hits) {
|
|
10
|
+
const line = `- (${hit.date}) ${hit.content}`.replace(/\s+/g, " ").trim();
|
|
11
|
+
if (total + line.length + 1 > maxChars)
|
|
12
|
+
break;
|
|
13
|
+
lines.push(line);
|
|
14
|
+
total += line.length + 1;
|
|
15
|
+
}
|
|
16
|
+
if (lines.length === 1)
|
|
17
|
+
return "";
|
|
18
|
+
return lines.join("\n") + "\n";
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/host-integration/render.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAC,MAAqB,EAAE,QAAgB;IAClE,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA0B,EAAE,QAAgB;IAC9E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAa,CAAC,yBAAyB,CAAC,CAAC;IACpD,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ;YAAE,MAAM;QAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export interface ExecutionIdentity {
|
|
2
|
+
readonly principalId: string;
|
|
3
|
+
readonly conversationId: string;
|
|
4
|
+
readonly executionId: string;
|
|
5
|
+
readonly parentExecutionId?: string;
|
|
6
|
+
readonly host: string;
|
|
7
|
+
readonly origin: string;
|
|
8
|
+
readonly automaticWriteOwner: string;
|
|
9
|
+
}
|
|
10
|
+
export interface HostLifecycleOptions {
|
|
11
|
+
readonly writerId: string;
|
|
12
|
+
readonly failOpen?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface AutomaticRecallPolicy {
|
|
15
|
+
limit: number;
|
|
16
|
+
maxChars: number;
|
|
17
|
+
minScore?: number;
|
|
18
|
+
maxClassification?: 0 | 1 | 2;
|
|
19
|
+
}
|
|
20
|
+
export interface StartSessionInput {
|
|
21
|
+
identity: ExecutionIdentity;
|
|
22
|
+
maxChars: number;
|
|
23
|
+
}
|
|
24
|
+
export type StartSessionResult = {
|
|
25
|
+
ok: true;
|
|
26
|
+
context: string;
|
|
27
|
+
diagnostics: readonly HostDiagnostic[];
|
|
28
|
+
} | {
|
|
29
|
+
ok: false;
|
|
30
|
+
context: "";
|
|
31
|
+
diagnostics: readonly HostDiagnostic[];
|
|
32
|
+
};
|
|
33
|
+
export interface PrepareTurnInput {
|
|
34
|
+
identity: ExecutionIdentity;
|
|
35
|
+
prompt: string;
|
|
36
|
+
query: {
|
|
37
|
+
translated: readonly string[];
|
|
38
|
+
original?: string;
|
|
39
|
+
};
|
|
40
|
+
policy: AutomaticRecallPolicy;
|
|
41
|
+
}
|
|
42
|
+
export interface PrepareTurnResult {
|
|
43
|
+
context: string;
|
|
44
|
+
hits: readonly RecallHit[];
|
|
45
|
+
diagnostics: readonly HostDiagnostic[];
|
|
46
|
+
}
|
|
47
|
+
export interface RecallHit {
|
|
48
|
+
content: string;
|
|
49
|
+
date: string;
|
|
50
|
+
score: number;
|
|
51
|
+
classification?: number;
|
|
52
|
+
}
|
|
53
|
+
export interface CompleteTurnInput {
|
|
54
|
+
identity: ExecutionIdentity;
|
|
55
|
+
user?: {
|
|
56
|
+
content: string;
|
|
57
|
+
timestamp?: number;
|
|
58
|
+
};
|
|
59
|
+
assistant?: {
|
|
60
|
+
content: string;
|
|
61
|
+
timestamp?: number;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export type CompleteTurnResult = {
|
|
65
|
+
status: "recorded";
|
|
66
|
+
messageIds: readonly number[];
|
|
67
|
+
} | {
|
|
68
|
+
status: "skipped";
|
|
69
|
+
reason: "not_owner" | "empty" | "rejected";
|
|
70
|
+
} | {
|
|
71
|
+
status: "failed";
|
|
72
|
+
diagnostic: HostDiagnostic;
|
|
73
|
+
};
|
|
74
|
+
export interface ExplicitRecallInput {
|
|
75
|
+
identity: ExecutionIdentity;
|
|
76
|
+
query: {
|
|
77
|
+
translated: readonly string[];
|
|
78
|
+
original?: string;
|
|
79
|
+
};
|
|
80
|
+
limit?: number;
|
|
81
|
+
minScore?: number;
|
|
82
|
+
maxClassification?: number;
|
|
83
|
+
}
|
|
84
|
+
export type RecallOperationResult = PrepareTurnResult;
|
|
85
|
+
export type ExplicitStoreInput = {
|
|
86
|
+
identity: ExecutionIdentity;
|
|
87
|
+
contentEn: string;
|
|
88
|
+
contentOriginal: string;
|
|
89
|
+
memoryType: "fact" | "decision" | "preference" | "event" | "lesson" | "feedback" | "story" | "secret";
|
|
90
|
+
emotionScore: number;
|
|
91
|
+
emotionTags?: string;
|
|
92
|
+
emotionContext?: string;
|
|
93
|
+
keyword?: string;
|
|
94
|
+
confidence?: number;
|
|
95
|
+
sourceMessageIds?: string;
|
|
96
|
+
classification?: number;
|
|
97
|
+
trust?: number;
|
|
98
|
+
integrity?: number;
|
|
99
|
+
credibility?: number;
|
|
100
|
+
topic?: string;
|
|
101
|
+
};
|
|
102
|
+
export interface HostDiagnostic {
|
|
103
|
+
operation: string;
|
|
104
|
+
code: string;
|
|
105
|
+
message: string;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/host-integration/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/host-integration/types.ts"],"names":[],"mappings":""}
|
|
@@ -83,7 +83,7 @@ export interface IMemorySystem extends IMemoryCore {
|
|
|
83
83
|
skipEmbeddingCheck?: boolean;
|
|
84
84
|
}): Promise<void>;
|
|
85
85
|
close(): void;
|
|
86
|
-
recordMessage(...args: [MessageRecord]):
|
|
86
|
+
recordMessage(...args: [MessageRecord]): number | null;
|
|
87
87
|
loadRecentMessages(userId: string, sessionId: string, count: number): MessageRecord[];
|
|
88
88
|
getLastMessageTimestamp(excludeSystem?: boolean, sessionTypeFilter?: string): number;
|
|
89
89
|
updateEmotionByPlatformId(userId: string | string, platformMessageId: number, score: number, tag?: string): boolean;
|
|
@@ -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,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7G,gBAAgB,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAG1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG;QACzB,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1F,kBAAkB,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QACzE,iBAAiB,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAC1E,iBAAiB,EAAE,MAAM,CAAC;KAC3B,GAAG,IAAI,CAAC;IACT,SAAS,IAAI,YAAY,CAAC;CAC3B;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAc,SAAQ,WAAW;IAEhD,UAAU,CAAC,IAAI,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,IAAI,IAAI,CAAC;IAGd,aAAa,CAAC,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"imemory-system.d.ts","sourceRoot":"","sources":["../../src/imemory-system.ts"],"names":[],"mappings":"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"}
|