blun-king-cli 9.1.408 → 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 CHANGED
@@ -434,6 +434,18 @@ dadurch nicht mehr an einem fehlenden Laufzeitimport; der getrennte
434
434
  Bridge-Fallback bleibt nur die Absicherung und nicht der unbeabsichtigte
435
435
  Hauptweg.
436
436
 
437
+ Ab BLUN King 9.1.409 verwenden Reply-Werkzeug und TUI-Fallback dasselbe
438
+ Telegram-Kanalverzeichnis. Ein profilspezifisches BLUN_HOME erzeugt dadurch
439
+ keinen zweiten Eingangs- oder Ausgangsverlauf mehr. Ein ausdrücklich gesetztes
440
+ BLUN_TELEGRAM_STATE_DIR bleibt maßgeblich; ohne diese Einstellung verwenden
441
+ beide Wege ~/.blun/channels/telegram.
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
+
437
449
  Der eigentliche Anhang und die vollständige Nutzernachricht bleiben für den Zug
438
450
  unverändert verfügbar. Die Begrenzung betrifft ausschließlich die kleine
439
451
  lexikalische Vorauswahl von höchstens zwei Werkzeugschemas; ToolSearch und alle
package/README.md CHANGED
@@ -440,6 +440,18 @@ dadurch nicht mehr an einem fehlenden Laufzeitimport; der getrennte
440
440
  Bridge-Fallback bleibt nur die Absicherung und nicht der unbeabsichtigte
441
441
  Hauptweg.
442
442
 
443
+ Ab BLUN King 9.1.409 verwenden Reply-Werkzeug und TUI-Fallback dasselbe
444
+ Telegram-Kanalverzeichnis. Ein profilspezifisches `BLUN_HOME` erzeugt dadurch
445
+ keinen zweiten Eingangs- oder Ausgangsverlauf mehr. Ein ausdrücklich gesetztes
446
+ `BLUN_TELEGRAM_STATE_DIR` bleibt maßgeblich; ohne diese Einstellung verwenden
447
+ beide Wege `~/.blun/channels/telegram`.
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
+
443
455
  Der eigentliche Anhang und die vollständige Nutzernachricht bleiben für den Zug
444
456
  unverändert verfügbar. Die Begrenzung betrifft ausschließlich die kleine
445
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');
package/blun.mjs CHANGED
@@ -514703,8 +514703,8 @@ function buildChannelImagePart(imagePath) {
514703
514703
  */
514704
514704
  init_dist$6();
514705
514705
  function channelDir() {
514706
- const base = process.env["BLUN_HOME"]?.trim();
514707
- return join$4(base !== void 0 && base.length > 0 ? base : join$4(homedir(), ".blun"), "channels", "telegram");
514706
+ const configured = process.env["BLUN_TELEGRAM_STATE_DIR"]?.trim();
514707
+ return configured !== void 0 && configured.length > 0 ? configured : join$4(homedir(), ".blun", "channels", "telegram");
514708
514708
  }
514709
514709
  function outboxPath() {
514710
514710
  return join$4(channelDir(), "outbox.jsonl");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blun-king-cli",
3
- "version": "9.1.408",
3
+ "version": "9.1.410",
4
4
  "description": "BLUN CLI - your own AI agent with a Telegram channel. Get it done. With BLUN.",
5
5
  "license": "MIT",
6
6
  "bin": {