abmind 0.2.5 → 0.2.7-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/fts-utils.d.ts +47 -0
- package/dist/src/fts-utils.d.ts.map +1 -0
- package/dist/src/fts-utils.js +65 -0
- package/dist/src/fts-utils.js.map +1 -0
- 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-index.d.ts +0 -16
- package/dist/src/memory-index.d.ts.map +1 -1
- package/dist/src/memory-index.js +1 -60
- package/dist/src/memory-index.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/recall-boosts.d.ts +15 -0
- package/dist/src/recall-boosts.d.ts.map +1 -0
- package/dist/src/recall-boosts.js +159 -0
- package/dist/src/recall-boosts.js.map +1 -0
- package/dist/src/recall-engine.d.ts +0 -2
- package/dist/src/recall-engine.d.ts.map +1 -1
- package/dist/src/recall-engine.js +1 -151
- package/dist/src/recall-engine.js.map +1 -1
- 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/audit.d.ts +6 -0
- package/dist/src/sleep/audit.d.ts.map +1 -1
- package/dist/src/sleep/audit.js +6 -8
- package/dist/src/sleep/audit.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 +17 -0
- package/dist/src/sleep/catchup.d.ts.map +1 -0
- package/dist/src/sleep/catchup.js +141 -0
- package/dist/src/sleep/catchup.js.map +1 -0
- 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 +49 -0
- package/dist/src/sleep/llm-budget.d.ts.map +1 -0
- package/dist/src/sleep/llm-budget.js +106 -0
- package/dist/src/sleep/llm-budget.js.map +1 -0
- package/dist/src/sleep/locks.d.ts +9 -5
- package/dist/src/sleep/locks.d.ts.map +1 -1
- package/dist/src/sleep/locks.js +8 -11
- package/dist/src/sleep/locks.js.map +1 -1
- package/dist/src/sleep/orchestrator.d.ts +20 -86
- package/dist/src/sleep/orchestrator.d.ts.map +1 -1
- package/dist/src/sleep/orchestrator.js +291 -755
- package/dist/src/sleep/orchestrator.js.map +1 -1
- package/dist/src/sleep/state.d.ts +15 -18
- package/dist/src/sleep/state.d.ts.map +1 -1
- package/dist/src/sleep/state.js +24 -19
- 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
|
@@ -8,16 +8,22 @@ import { localDateTime } from "./local-time.js";
|
|
|
8
8
|
const DAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
|
9
9
|
/**
|
|
10
10
|
* Build wake-up context: current time + one flashback.
|
|
11
|
+
* Enforces an optional character budget — prefers complete sections,
|
|
12
|
+
* drops the flashback if needed, then truncates the time line as a last resort.
|
|
11
13
|
* Returns empty string if DB unavailable or no emotional memories exist.
|
|
12
14
|
*/
|
|
13
|
-
export function buildWakeUp(db) {
|
|
15
|
+
export function buildWakeUp(db, maxChars) {
|
|
14
16
|
if (!db)
|
|
15
17
|
return "";
|
|
16
|
-
|
|
18
|
+
// Invalid budget — zero, negative, or non-finite — returns empty
|
|
19
|
+
if (maxChars !== undefined && (maxChars <= 0 || !Number.isFinite(maxChars))) {
|
|
20
|
+
return "";
|
|
21
|
+
}
|
|
17
22
|
// 1. Current time
|
|
18
23
|
const now = new Date();
|
|
19
|
-
|
|
24
|
+
const timeSection = `[Current time: ${localDateTime(now)} (${DAYS[now.getDay()]})]`;
|
|
20
25
|
// 2. Flashback — random emotional memory weighted by intensity × recency
|
|
26
|
+
let flashbackSection;
|
|
21
27
|
try {
|
|
22
28
|
const row = db.prepare(`SELECT content_en, emotion_tags, importance_flags, topic, memory_type, confidence, created_at
|
|
23
29
|
FROM extracted_memories
|
|
@@ -36,10 +42,28 @@ export function buildWakeUp(db) {
|
|
|
36
42
|
confidence: row.confidence ?? undefined,
|
|
37
43
|
createdAt: row.created_at,
|
|
38
44
|
});
|
|
39
|
-
|
|
45
|
+
flashbackSection = `[Flashback] ${rendered}`;
|
|
40
46
|
}
|
|
41
47
|
}
|
|
42
48
|
catch { /* no emotional memories or DB error */ }
|
|
43
|
-
|
|
49
|
+
// No budget → full output (preserve existing behavior)
|
|
50
|
+
if (maxChars === undefined) {
|
|
51
|
+
const parts = [timeSection];
|
|
52
|
+
if (flashbackSection)
|
|
53
|
+
parts.push(flashbackSection);
|
|
54
|
+
return parts.join("\n\n");
|
|
55
|
+
}
|
|
56
|
+
// Assemble within budget, preferring complete sections.
|
|
57
|
+
// Start with current time, add flashback only if it fits.
|
|
58
|
+
const combined = flashbackSection
|
|
59
|
+
? `${timeSection}\n\n${flashbackSection}`
|
|
60
|
+
: timeSection;
|
|
61
|
+
if (combined.length <= maxChars)
|
|
62
|
+
return combined;
|
|
63
|
+
// Flashback doesn't fit — drop it
|
|
64
|
+
if (timeSection.length <= maxChars)
|
|
65
|
+
return timeSection;
|
|
66
|
+
// Even the time section is too long — truncate it
|
|
67
|
+
return timeSection.slice(0, maxChars);
|
|
44
68
|
}
|
|
45
69
|
//# sourceMappingURL=wake-up-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wake-up-builder.js","sourceRoot":"","sources":["../../src/wake-up-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE5F
|
|
1
|
+
{"version":3,"file":"wake-up-builder.js","sourceRoot":"","sources":["../../src/wake-up-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,EAA4B,EAAE,QAAiB;IACzE,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IAEnB,iEAAiE;IACjE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kBAAkB;IAClB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,kBAAkB,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;IAEpF,yEAAyE;IACzE,IAAI,gBAAoC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB;;;;;;eAMS,CACV,CAAC,GAAG,EAAuM,CAAC;QAE7M,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,YAAY,CAAC;gBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;gBAC7B,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;gBAC3C,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,SAAS;gBACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;gBACzC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;gBACvC,SAAS,EAAE,GAAG,CAAC,UAAU;aAC1B,CAAC,CAAC;YACH,gBAAgB,GAAG,eAAe,QAAQ,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,uCAAuC,CAAC,CAAC;IAEnD,uDAAuD;IACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAa,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,gBAAgB;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,wDAAwD;IACxD,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,gBAAgB;QAC/B,CAAC,CAAC,GAAG,WAAW,OAAO,gBAAgB,EAAE;QACzC,CAAC,CAAC,WAAW,CAAC;IAEhB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAEjD,kCAAkC;IAClC,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,WAAW,CAAC;IAEvD,kDAAkD;IAClD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abmind",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7-alpha.0",
|
|
4
4
|
"description": "Standalone AI agent memory system — SQLite, FTS5, embeddings, 4-layer recall, sleep maintenance",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"embeddings",
|
|
13
13
|
"recall",
|
|
14
14
|
"sleep",
|
|
15
|
-
"consolidation"
|
|
15
|
+
"consolidation",
|
|
16
|
+
"pi-package"
|
|
16
17
|
],
|
|
17
18
|
"homepage": "https://github.com/aksika/abmind",
|
|
18
19
|
"repository": {
|
|
@@ -40,6 +41,10 @@
|
|
|
40
41
|
"types": "./dist/src/deploy-lib/index.d.ts",
|
|
41
42
|
"default": "./dist/src/deploy-lib/index.js"
|
|
42
43
|
},
|
|
44
|
+
"./pi-plugin": {
|
|
45
|
+
"types": "./dist/src/pi-plugin/index.d.ts",
|
|
46
|
+
"default": "./dist/src/pi-plugin/index.js"
|
|
47
|
+
},
|
|
43
48
|
"./package.json": "./package.json"
|
|
44
49
|
},
|
|
45
50
|
"bin": {
|
|
@@ -70,18 +75,31 @@
|
|
|
70
75
|
"zod": "4.4.3"
|
|
71
76
|
},
|
|
72
77
|
"peerDependencies": {
|
|
78
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
73
79
|
"@sinclair/typebox": ">=0.32.0"
|
|
74
80
|
},
|
|
75
81
|
"peerDependenciesMeta": {
|
|
82
|
+
"@earendil-works/pi-coding-agent": {
|
|
83
|
+
"optional": true
|
|
84
|
+
},
|
|
76
85
|
"@sinclair/typebox": {
|
|
77
86
|
"optional": true
|
|
78
87
|
}
|
|
79
88
|
},
|
|
89
|
+
"pi": {
|
|
90
|
+
"extensions": [
|
|
91
|
+
"./dist/src/pi-plugin/index.js"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
80
94
|
"devDependencies": {
|
|
95
|
+
"@earendil-works/pi-agent-core": "file:../../pi/packages/agent",
|
|
96
|
+
"@earendil-works/pi-ai": "file:../../pi/packages/ai",
|
|
97
|
+
"@earendil-works/pi-coding-agent": "file:../../pi/packages/coding-agent",
|
|
81
98
|
"@sinclair/typebox": "^0.34.49",
|
|
82
99
|
"@types/better-sqlite3": "^7.6.13",
|
|
83
100
|
"@types/node": "^22.19.17",
|
|
84
101
|
"fast-check": "^3.23.2",
|
|
102
|
+
"typebox": "^1.1.38",
|
|
85
103
|
"typescript": "^5.9.3",
|
|
86
104
|
"vitest": "^3.2.4"
|
|
87
105
|
},
|