@unblocklabs/unblock-memory 0.3.22 → 0.3.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -967
- package/dist/src/config.js +2 -2
- package/dist/src/contracts.d.ts +5 -3
- package/dist/src/diagnostics.d.ts +31 -4
- package/dist/src/diagnostics.js +13 -3
- package/dist/src/manager.d.ts +27 -1
- package/dist/src/manager.js +42 -7
- package/dist/src/memory-whisperer.js +24 -10
- package/dist/src/people-store.d.ts +37 -3
- package/dist/src/people-store.js +23 -9
- package/dist/src/people-tools.js +5 -5
- package/dist/src/plugin.js +31 -35
- package/dist/src/retrieval-telemetry.d.ts +39 -0
- package/dist/src/retrieval-telemetry.js +40 -0
- package/dist/src/session-projector.d.ts +32 -1
- package/dist/src/session-projector.js +84 -12
- package/dist/src/session-sync.d.ts +3 -2
- package/dist/src/session-sync.js +7 -5
- package/dist/src/slack-directory.js +3 -2
- package/dist/src/typesafe-review.d.ts +1 -2
- package/dist/src/typesafe-review.js +3 -11
- package/dist/src/typesafe-transport.d.ts +10 -0
- package/dist/src/typesafe-transport.js +26 -0
- package/dist/src/typesafe.d.ts +1 -1
- package/dist/src/typesafe.js +27 -62
- package/docs/configuration.md +381 -0
- package/docs/peoplesql.md +223 -0
- package/docs/response-audit.md +217 -0
- package/docs/retrieval.md +607 -0
- package/openclaw.plugin.json +10 -8
- package/package.json +7 -2
- package/skills/memory-curator/SKILL.md +5 -0
- package/skills/people-whisperer/SKILL.md +10 -0
package/openclaw.plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "unblock-memory",
|
|
3
3
|
"name": "Unblock Memory",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.24",
|
|
5
5
|
"description": "Indexes, retrieves, and analyzes configured workspace memory with existing QMD vectors.",
|
|
6
6
|
"kind": "memory",
|
|
7
7
|
"activation": { "onStartup": true },
|
|
@@ -63,10 +63,11 @@
|
|
|
63
63
|
"help": "Explicit non-skill corpora approved for external TypeSafe processing and maintenance results visible to every audience using this agent. Sessions means ALL indexed sessions, not only the current conversation."
|
|
64
64
|
},
|
|
65
65
|
"typesafe.enabled": {
|
|
66
|
-
"label": "TypeSafe
|
|
67
|
-
"help": "
|
|
66
|
+
"label": "TypeSafe Judgments",
|
|
67
|
+
"help": "Shared provider gate for opted-in whisperers, people primer/save review, evidence/quality reviews and response audits. Does not enable features or approve corpora by itself. Ordinary search and People Whisperer injection stay local."
|
|
68
68
|
},
|
|
69
69
|
"typesafe.apiKey": { "label": "TypeSafe API Key", "sensitive": true },
|
|
70
|
+
"typesafe.timeoutMs": { "label": "TypeSafe Request Timeout", "help": "Per-request timeout, not the whole operation. People primer/dossier review use peoplePrimer.timeoutMs instead; Memory Whisperer also has its own total deadline." },
|
|
70
71
|
"typesafe.apiKeyFile": {
|
|
71
72
|
"label": "TypeSafe Key File",
|
|
72
73
|
"help": "Absolute path to a plaintext API key or a dotenv file containing TYPESAFE_API_KEY. Prefer this over storing a key in config."
|
|
@@ -89,16 +90,17 @@
|
|
|
89
90
|
},
|
|
90
91
|
"memoryWhisperer.corpora": {
|
|
91
92
|
"label": "Approved Hint Corpora",
|
|
92
|
-
"help": "Explicit non-skill corpus allowlist
|
|
93
|
+
"help": "Explicit non-skill corpus allowlist for automatic recall and TypeSafe processing. Session recall spans this agent's indexed sessions; the sessions corpus chatTypes setting controls direct-message inclusion."
|
|
93
94
|
},
|
|
94
95
|
"people.enabled": {
|
|
95
96
|
"label": "PeopleSQL",
|
|
96
|
-
"help": "
|
|
97
|
+
"help": "Enable the agent-local people store, Slack identity observation and people tools. Disabled by default; whispering and TypeSafe primer/review are separate opt-ins."
|
|
97
98
|
},
|
|
98
99
|
"people.whisperer.enabled": {
|
|
99
100
|
"label": "People Whisperer",
|
|
100
|
-
"help": "Inject an enabled person's
|
|
101
|
+
"help": "Inject an active, injection-enabled person's saved blurb once per Slack thread/person, with durable receipts. Requires people.enabled and host hook permissions; no model call."
|
|
101
102
|
},
|
|
103
|
+
"people.whisperer.maxChars": { "label": "People Blurb Character Limit", "help": "Also limits newly saved dossier blurbs when injection is off. The separate 70-word ceiling still applies." },
|
|
102
104
|
"analysis.executable": {
|
|
103
105
|
"label": "Memory Analysis Worker",
|
|
104
106
|
"help": "Optional absolute path to the locally installed unblock-memory-analysis executable."
|
|
@@ -283,13 +285,13 @@
|
|
|
283
285
|
"enabled": { "type": "boolean", "default": false },
|
|
284
286
|
"corpora": { "type": "array", "items": { "type": "string", "pattern": "\\S" }, "default": [] },
|
|
285
287
|
"historyMessages": { "type": "integer", "minimum": 0, "maximum": 50, "default": 5 },
|
|
286
|
-
"minUsefulness": { "type": "number", "minimum": 0, "maximum": 1, "default": 0.
|
|
288
|
+
"minUsefulness": { "type": "number", "minimum": 0, "maximum": 1, "default": 0.7 },
|
|
287
289
|
"maxHints": { "type": "integer", "minimum": 1, "maximum": 2, "default": 2 },
|
|
288
290
|
"cooldownTurns": { "type": "integer", "minimum": 0, "maximum": 1000, "default": 10 },
|
|
289
291
|
"timeoutMs": { "type": "integer", "minimum": 1, "maximum": 10000, "default": 3000 }
|
|
290
292
|
},
|
|
291
293
|
"default": {
|
|
292
|
-
"enabled": false, "corpora": [], "historyMessages": 5, "minUsefulness": 0.
|
|
294
|
+
"enabled": false, "corpora": [], "historyMessages": 5, "minUsefulness": 0.7,
|
|
293
295
|
"maxHints": 2, "cooldownTurns": 10, "timeoutMs": 3000
|
|
294
296
|
}
|
|
295
297
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unblocklabs/unblock-memory",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.24",
|
|
4
4
|
"description": "Workspace-native memory for OpenClaw, powered by QMD",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,13 +22,18 @@
|
|
|
22
22
|
"dist",
|
|
23
23
|
"skills",
|
|
24
24
|
"README.md",
|
|
25
|
+
"docs/configuration.md",
|
|
26
|
+
"docs/retrieval.md",
|
|
27
|
+
"docs/peoplesql.md",
|
|
28
|
+
"docs/response-audit.md",
|
|
25
29
|
"openclaw.plugin.json"
|
|
26
30
|
],
|
|
27
31
|
"scripts": {
|
|
28
32
|
"build": "tsc -p tsconfig.build.json",
|
|
29
33
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
30
34
|
"knip": "knip --reporter compact",
|
|
31
|
-
"test": "node --import tsx --test --test-concurrency=1 tests/**/*.test.ts",
|
|
35
|
+
"test": "node --import tsx --test --test-concurrency=1 tests/**/*.test.ts tests/**/*.test.mjs",
|
|
36
|
+
"eval:retrieval": "node --import tsx eval/retrieval/lab.ts",
|
|
32
37
|
"plugin:inspect": "plugin-inspector check --config plugin-inspector.config.json --no-openclaw",
|
|
33
38
|
"plugin:inspect:runtime": "plugin-inspector check --config plugin-inspector.config.json --no-openclaw --runtime --mock-sdk --allow-execute",
|
|
34
39
|
"release:check": "node scripts/check-release-version.mjs",
|
|
@@ -10,6 +10,11 @@ understanding of its world. A cluster shows similarity, not a complete timeline,
|
|
|
10
10
|
truth, or consensus. Do not write from a cluster alone, and prefer no write over
|
|
11
11
|
weak, duplicative, or easily looked-up knowledge.
|
|
12
12
|
|
|
13
|
+
For tool limits, session freshness and source-read continuation, see the packaged
|
|
14
|
+
[retrieval reference](../../docs/retrieval.md). Configuration and provider approval
|
|
15
|
+
are documented [separately](../../docs/configuration.md); this skill does not grant them.
|
|
16
|
+
When loaded through a `plugin-skills` symlink, resolve these links from the skill's real installed path.
|
|
17
|
+
|
|
13
18
|
## Clusters and the knowledge corpus
|
|
14
19
|
|
|
15
20
|
Clustering and knowledge are separate. `memory_recluster` analyzes every
|
|
@@ -115,5 +115,15 @@ when a misleading legacy profile cannot be responsibly replaced, or `set_injecti
|
|
|
115
115
|
to pause it without deleting it. Do not erase raw memory or dossier history.
|
|
116
116
|
Inspect history through `dossier_changes` and `dossier_change` views.
|
|
117
117
|
|
|
118
|
+
`soft_delete_person` marks a person unavailable and disables injection without
|
|
119
|
+
erasing the dossier/history. `restore_person` leaves injection off: inspect first,
|
|
120
|
+
then explicitly re-enable if appropriate. Slack deactivation also disables the
|
|
121
|
+
whole linked person; directory sync does not restore unavailable people.
|
|
122
|
+
`injectionEligible` is only a record preview. Global hooks and durable once-per-thread
|
|
123
|
+
receipts still apply; dossier edits/restarts do not refresh an already-served thread.
|
|
124
|
+
See the [people operator reference](../../docs/peoplesql.md) for state operations
|
|
125
|
+
and the [retrieval guide](../../docs/retrieval.md) for search/sync limits.
|
|
126
|
+
When loaded through a `plugin-skills` symlink, resolve these links from the skill's real installed path.
|
|
127
|
+
|
|
118
128
|
Report the resulting snippets, source limitations, changes and intentionally
|
|
119
129
|
unknown answers. More words or more claims are not success metrics.
|