blun-king-cli 9.1.409 → 9.1.410
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/LIESMICH.txt +6 -0
- package/README.md +6 -0
- package/bin/cognitive-memory-command.cjs +9 -2
- package/package.json +1 -1
package/LIESMICH.txt
CHANGED
|
@@ -440,6 +440,12 @@ keinen zweiten Eingangs- oder Ausgangsverlauf mehr. Ein ausdrücklich gesetztes
|
|
|
440
440
|
BLUN_TELEGRAM_STATE_DIR bleibt maßgeblich; ohne diese Einstellung verwenden
|
|
441
441
|
beide Wege ~/.blun/channels/telegram.
|
|
442
442
|
|
|
443
|
+
Ab BLUN King 9.1.410 begrenzen private Telegram-Gedächtnisbefehle
|
|
444
|
+
Beziehungsdaten auf die jeweilige Person. /memory focus blendet Beziehungen
|
|
445
|
+
anderer Personen aus, lässt aber nicht personenbezogenen Kontext sichtbar.
|
|
446
|
+
Korrekturen und Löschungen können keine Beziehung einer anderen Person mehr
|
|
447
|
+
treffen; die lokale Operator-Ansicht bleibt vollständig.
|
|
448
|
+
|
|
443
449
|
Der eigentliche Anhang und die vollständige Nutzernachricht bleiben für den Zug
|
|
444
450
|
unverändert verfügbar. Die Begrenzung betrifft ausschließlich die kleine
|
|
445
451
|
lexikalische Vorauswahl von höchstens zwei Werkzeugschemas; ToolSearch und alle
|
package/README.md
CHANGED
|
@@ -446,6 +446,12 @@ keinen zweiten Eingangs- oder Ausgangsverlauf mehr. Ein ausdrücklich gesetztes
|
|
|
446
446
|
`BLUN_TELEGRAM_STATE_DIR` bleibt maßgeblich; ohne diese Einstellung verwenden
|
|
447
447
|
beide Wege `~/.blun/channels/telegram`.
|
|
448
448
|
|
|
449
|
+
Ab BLUN King 9.1.410 begrenzen private Telegram-Gedächtnisbefehle
|
|
450
|
+
Beziehungsdaten auf die jeweilige Person. `/memory focus` blendet Beziehungen
|
|
451
|
+
anderer Personen aus, lässt aber nicht personenbezogenen Kontext sichtbar.
|
|
452
|
+
Korrekturen und Löschungen können keine Beziehung einer anderen Person mehr
|
|
453
|
+
treffen; die lokale Operator-Ansicht bleibt vollständig.
|
|
454
|
+
|
|
449
455
|
Der eigentliche Anhang und die vollständige Nutzernachricht bleiben für den Zug
|
|
450
456
|
unverändert verfügbar. Die Begrenzung betrifft ausschließlich die kleine
|
|
451
457
|
lexikalische Vorauswahl von höchstens zwei Werkzeugschemas; ToolSearch und alle
|
|
@@ -94,6 +94,12 @@ function effectiveFocusObservations(state) {
|
|
|
94
94
|
|| left.domain.localeCompare(right.domain) || left.key.localeCompare(right.key));
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
function observationsVisibleToSource(items, telegram) {
|
|
98
|
+
if (telegram === null) return items;
|
|
99
|
+
return items.filter((item) => !item.scope.startsWith('relationship:')
|
|
100
|
+
|| item.scope === telegram.relationshipScope);
|
|
101
|
+
}
|
|
102
|
+
|
|
97
103
|
function resolveTarget(items, selector) {
|
|
98
104
|
const exact = items.find((item) => item.observationId === selector);
|
|
99
105
|
if (exact) return exact;
|
|
@@ -132,6 +138,7 @@ function normalizeTelegramSource(source) {
|
|
|
132
138
|
return {
|
|
133
139
|
requestId: digestId('tgrequest', [userId, chatId, messageId]),
|
|
134
140
|
occurredAt: timestamp,
|
|
141
|
+
relationshipScope: `relationship:telegram-${userId}:private`,
|
|
135
142
|
source: {
|
|
136
143
|
provider: 'telegram',
|
|
137
144
|
channelId: 'direct',
|
|
@@ -197,8 +204,8 @@ function runCognitiveMemoryCommand({
|
|
|
197
204
|
const lifecycle = openLifecycle(env, lifecycleFactory);
|
|
198
205
|
try {
|
|
199
206
|
const state = lifecycle.read();
|
|
200
|
-
const all = normalizedFocusObservations(state);
|
|
201
|
-
const active = effectiveFocusObservations(state);
|
|
207
|
+
const all = observationsVisibleToSource(normalizedFocusObservations(state), telegram);
|
|
208
|
+
const active = observationsVisibleToSource(effectiveFocusObservations(state), telegram);
|
|
202
209
|
if (command.action === 'focus') return formatFocus(active);
|
|
203
210
|
const occurredAt = String(now());
|
|
204
211
|
if (Number.isNaN(Date.parse(occurredAt))) fail('COGNITIVE_COMMAND_RUNTIME_INVALID');
|