@tznthou/ccrecall 0.7.2 → 0.8.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.
@@ -1,7 +1,8 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  import BetterSqlite3 from 'better-sqlite3';
3
3
  import { createHash } from 'node:crypto';
4
- import { copyFileSync, existsSync, mkdirSync } from 'node:fs';
4
+ import { copyFileSync, existsSync } from 'node:fs';
5
+ import { ensureCcrecallDir, secureCcrecallFile } from './secure-dir.js';
5
6
  import path from 'node:path';
6
7
  import { scrubErrorMessage } from './log-safe.js';
7
8
  /** 64-bit signed hash for message_uuids (v24 dual-hash schema). First 8 bytes
@@ -15,6 +16,20 @@ import { scrubErrorMessage } from './log-safe.js';
15
16
  export function hash64(s) {
16
17
  return createHash('sha256').update(s).digest().readBigInt64BE(0);
17
18
  }
19
+ /** Q1 (2026-09-11): clean up a model-supplied message citation.
20
+ *
21
+ * The extraction transcript prints `--- human [<uuid>] ---`, and a model
22
+ * copying that value sometimes brings the brackets along. Stripping those is
23
+ * the whole of the normalisation. Anything cleverer — case folding, pulling a
24
+ * uuid-shaped substring out of a longer string — would hard-code an
25
+ * assumption about an id format Claude Code is free to change, and being
26
+ * wrong there costs a silently dropped citation rather than a visible error. */
27
+ export function normaliseMessageUuid(raw) {
28
+ if (typeof raw !== 'string')
29
+ return null;
30
+ const trimmed = raw.trim().replace(/^\[+/, '').replace(/\]+$/, '').trim();
31
+ return trimmed === '' ? null : trimmed;
32
+ }
18
33
  /** sessions 資料表的完整欄位 SELECT 子句(getSessions / getSessionById 共用) */
19
34
  const SESSION_SELECT_COLUMNS = `id, project_id, title, message_count, started_at, ended_at, archived,
20
35
  summary_text, intent_text, outcome_status, duration_seconds, active_duration_seconds, summary_version,
@@ -688,6 +703,41 @@ const migrations = [
688
703
  `);
689
704
  },
690
705
  },
706
+ {
707
+ version: 26,
708
+ description: 'memories.origin: separate hand-written memories from extracted ones',
709
+ up: (db) => {
710
+ // Same guard every other ADD COLUMN migration here uses (v2, v5, v7, v10,
711
+ // v11, v21, v23): a DB can reach this with the column already present.
712
+ // The migration-rewind tests restore an older schema_version without
713
+ // undoing later ALTERs, and re-running the backfill below on a live DB
714
+ // would relabel rows the user had since corrected to 'explicit'. Bailing
715
+ // out whole, rather than skipping only the ALTER, is what keeps that safe.
716
+ const cols = db.prepare('PRAGMA table_info(memories)').all();
717
+ if (cols.some(c => c.name === 'origin'))
718
+ return;
719
+ // Both paths reach saveMemory through recall_save, so the write path
720
+ // cannot tell them apart without being told. Until it was, an extraction
721
+ // landing on an existing key overwrote whatever the user had written
722
+ // there — including its access history, which the upsert resets.
723
+ //
724
+ // DEFAULT 'explicit' is the fail-safe direction: an unlabelled write is
725
+ // treated as the user's and therefore protected. The opposite default
726
+ // would make a forgotten parameter silently destructive.
727
+ db.exec(`
728
+ ALTER TABLE memories ADD COLUMN origin TEXT NOT NULL DEFAULT 'explicit'
729
+ CHECK (origin IN ('explicit', 'agent-inferred'));
730
+ `);
731
+ // Backfill from session_id. This is a proxy and not a recovered label:
732
+ // rows written before this column existed never carried one. It holds on
733
+ // the live corpus because nothing in an interactive session knows its own
734
+ // session id to pass, so every manual save is session-less (86 of 86 on
735
+ // 2026-09-11) while extraction always passes one. A future caller that
736
+ // passes a session id by hand would be mislabelled here — which is why
737
+ // new writes carry the real value instead of being re-derived.
738
+ db.exec(`UPDATE memories SET origin = 'agent-inferred' WHERE session_id IS NOT NULL;`);
739
+ },
740
+ },
691
741
  ];
692
742
  export class Database {
693
743
  db;
@@ -733,13 +783,36 @@ export class Database {
733
783
  (7.0 + 7.0 * (MIN(m.access_count, 4) + 2.5 * ln(1.0 + MAX(0, m.access_count - 4))))
734
784
  )
735
785
  )`;
786
+ /** Tier 0 relevance band: a memory is in-band when its share of topics that
787
+ * intersect the current project reaches this ratio. Deliberately a binary
788
+ * band and not a continuous score — a near-unique score per memory would
789
+ * make rotation fire only on exact ties, trading a confidence monopoly for
790
+ * a relevance monopoly. Public so tests assert against it instead of
791
+ * re-hardcoding the number. */
792
+ static TIER0_RELEVANCE_RATIO = 0.5;
793
+ /** Rank floor under the ratio above: the top N by ratio are in-band even when
794
+ * none reach the threshold. Not a corner case — measured 2026-08-24, 63 of
795
+ * 80 projects hold fewer than N memories above the ratio, and in 52 of those
796
+ * the candidate pool is still larger than N, so the floor is what actually
797
+ * selects. Without it their relevance key is inert and ordering degrades to
798
+ * plain rotation. It also stops a project whose top bucket holds only two or
799
+ * three memories from letting those hold the slots forever. */
800
+ static TIER0_RELEVANCE_MIN_POOL = 12;
736
801
  constructor(dbPath) {
737
802
  this.dbPath = dbPath;
738
803
  // :memory: 不需要建目錄
739
804
  if (dbPath !== ':memory:') {
740
- mkdirSync(path.dirname(dbPath), { recursive: true });
805
+ ensureCcrecallDir(path.dirname(dbPath));
741
806
  }
742
807
  this.db = new BetterSqlite3(dbPath);
808
+ // #95: better-sqlite3 creates the file at the process umask — 0644 on a
809
+ // default macOS install, which is world-readable and holds every memory and
810
+ // session title in the database. Done before the first pragma so the
811
+ // -wal/-shm sidecars, which SQLite creates from the main file's mode,
812
+ // inherit 0600 rather than being secured after they already exist.
813
+ if (dbPath !== ':memory:') {
814
+ secureCcrecallFile(dbPath);
815
+ }
743
816
  this.db.pragma('journal_mode = WAL');
744
817
  this.db.pragma('foreign_keys = ON');
745
818
  this.db.pragma('busy_timeout = 5000');
@@ -1160,6 +1233,36 @@ export class Database {
1160
1233
  return map;
1161
1234
  }
1162
1235
  // ── UUID dedup helper ──
1236
+ /** Q1 (2026-09-11): is this uuid a message the cited session actually holds?
1237
+ *
1238
+ * ⚠️ Existence and ownership only. `true` does NOT mean the cited message
1239
+ * supports the memory — the extraction model chose the citation and nothing
1240
+ * here compares the two texts. cairn-memory states the same boundary in its
1241
+ * own extract prompt ("selecting an index is not proof of entailment"); we
1242
+ * keep the weaker claim rather than implying a stronger one. Checking
1243
+ * entailment needs the message text stored beside the memory, which is the
1244
+ * receipts design this deliberately is not.
1245
+ *
1246
+ * What it does buy: a fabricated uuid cannot enter the column. That is the
1247
+ * whole reason `message_id` is worth filling — a provenance field that can
1248
+ * hold invented values is worse than an empty one, because it reads as
1249
+ * evidence.
1250
+ *
1251
+ * A null sessionId (hand-written recall_save) drops to existence-only.
1252
+ * Ownership is unverifiable without a session, and refusing outright would
1253
+ * close the column to the one write path a human actually uses. */
1254
+ hasMessageUuid(uuid, sessionId) {
1255
+ const normalised = normaliseMessageUuid(uuid);
1256
+ if (normalised === null)
1257
+ return false;
1258
+ // SELECT 1, never the hash itself: reading a uuid_hash back would need
1259
+ // .safeIntegers(true) to survive values beyond 2^53 (see getExistingUuids).
1260
+ // Binding a BigInt needs no such flag — indexSession already does it.
1261
+ const row = sessionId
1262
+ ? this.db.prepare('SELECT 1 AS ok FROM message_uuids WHERE uuid_hash = ? AND session_hash = ?').get(hash64(normalised), hash64(sessionId))
1263
+ : this.db.prepare('SELECT 1 AS ok FROM message_uuids WHERE uuid_hash = ?').get(hash64(normalised));
1264
+ return row !== undefined;
1265
+ }
1163
1266
  /** 查詢 DB 中已存在的 uuid(用於跨 session 去重 resumed session replay)。
1164
1267
  * v24: message_uuids 只存 64-bit hash,查詢以 hash 比對、以 Map 反查還原
1165
1268
  * 原 uuid — 簽名與回傳不變,indexer 端零改動。 */
@@ -1478,36 +1581,56 @@ export class Database {
1478
1581
  const key = input.key ?? null;
1479
1582
  // v0.4.1: key-based upsert — same (project_id, key) updates instead of inserting.
1480
1583
  // Wrapped in transaction to prevent TOCTOU race between SELECT and UPDATE/INSERT.
1584
+ const origin = input.origin ?? 'explicit';
1481
1585
  if (key) {
1482
1586
  const upsert = this.db.transaction(() => {
1483
1587
  const existing = this.db.prepare(`
1484
- SELECT id FROM memories
1588
+ SELECT id, origin FROM memories
1485
1589
  WHERE key = ? AND COALESCE(project_id, '') = COALESCE(?, '')
1486
1590
  `).get(key, projectId);
1487
1591
  if (existing) {
1592
+ // v0.7.3: extraction must not displace what the user wrote by hand.
1593
+ // Every other combination keeps last-writer-wins — including explicit
1594
+ // over agent-inferred, which is the user correcting the extractor and
1595
+ // promotes the row so later extractions cannot undo the correction.
1596
+ if (existing.origin === 'explicit' && origin === 'agent-inferred') {
1597
+ // Provenance is still additive: refusing the content change is no
1598
+ // reason to drop a session id this row did not have. Nothing else
1599
+ // moves — in particular not access_count or compression_level,
1600
+ // which the unguarded update below resets. Resetting them on a
1601
+ // write we just refused would distort decay ranking and re-run the
1602
+ // compression pipeline over content that never changed.
1603
+ this.db.prepare(`
1604
+ UPDATE memories
1605
+ SET session_id = COALESCE(session_id, ?),
1606
+ message_id = COALESCE(message_id, ?)
1607
+ WHERE id = ?
1608
+ `).run(input.sessionId, input.messageId, existing.id);
1609
+ return existing.id;
1610
+ }
1488
1611
  this.db.prepare(`
1489
1612
  UPDATE memories
1490
- SET content = ?, confidence = ?, type = ?,
1613
+ SET content = ?, confidence = ?, type = ?, origin = ?,
1491
1614
  session_id = COALESCE(?, session_id),
1492
1615
  message_id = COALESCE(?, message_id),
1493
1616
  access_count = 0, last_accessed = NULL,
1494
1617
  compression_level = 0, compressed_at = NULL
1495
1618
  WHERE id = ?
1496
- `).run(input.content, input.confidence ?? 0.8, input.type, input.sessionId, input.messageId, existing.id);
1619
+ `).run(input.content, input.confidence ?? 0.8, input.type, origin, input.sessionId, input.messageId, existing.id);
1497
1620
  return existing.id;
1498
1621
  }
1499
1622
  const info = this.db.prepare(`
1500
- INSERT INTO memories (session_id, message_id, content, type, confidence, project_id, key)
1501
- VALUES (?, ?, ?, ?, ?, ?, ?)
1502
- `).run(input.sessionId, input.messageId, input.content, input.type, input.confidence ?? 0.8, projectId, key);
1623
+ INSERT INTO memories (session_id, message_id, content, type, confidence, project_id, key, origin)
1624
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
1625
+ `).run(input.sessionId, input.messageId, input.content, input.type, input.confidence ?? 0.8, projectId, key, origin);
1503
1626
  return Number(info.lastInsertRowid);
1504
1627
  });
1505
1628
  return upsert();
1506
1629
  }
1507
1630
  const info = this.db.prepare(`
1508
- INSERT INTO memories (session_id, message_id, content, type, confidence, project_id, key)
1509
- VALUES (?, ?, ?, ?, ?, ?, ?)
1510
- `).run(input.sessionId, input.messageId, input.content, input.type, input.confidence ?? 0.8, projectId, key);
1631
+ INSERT INTO memories (session_id, message_id, content, type, confidence, project_id, key, origin)
1632
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)
1633
+ `).run(input.sessionId, input.messageId, input.content, input.type, input.confidence ?? 0.8, projectId, key, origin);
1511
1634
  return Number(info.lastInsertRowid);
1512
1635
  }
1513
1636
  queryMemories(query, limit, projectId) {
@@ -1631,21 +1754,48 @@ export class Database {
1631
1754
  // Surfaces memories from OTHER projects that share knowledge_map topics
1632
1755
  // with the current project. Global (project_id IS NULL) included — deduped
1633
1756
  // against Tier 1/2 by pushUnique.
1757
+ //
1758
+ // Ordering: relevance band first, then least-recently-injected (NULL =
1759
+ // never injected sorts first in SQLite ASC), then confidence. Confidence
1760
+ // used to lead, which let a handful of confidence=1.0 memories hold the
1761
+ // three slots permanently. Rotation alone fixed the turnover but not the
1762
+ // pool — every project still drew from the same globally-ordered set,
1763
+ // because none of the keys was project-specific. The band is: it scores
1764
+ // each memory by the share of ITS topics that intersect THIS project.
1765
+ //
1766
+ // `injection_log` stays in the ORDER BY correlated subquery and must
1767
+ // never join into the pre-aggregate relation — that would multiply out
1768
+ // to topics x injections and silently corrupt the topic counts.
1634
1769
  const tier0Limit = Math.min(3, cappedLimit);
1635
1770
  const tier0Rows = this.db.prepare(`
1636
- SELECT DISTINCT m.id, m.session_id, m.message_id, m.content, m.type,
1637
- m.confidence, m.key, m.created_at
1638
- FROM memories m
1639
- JOIN memory_topics mt ON m.id = mt.memory_id
1640
- JOIN knowledge_map km ON mt.topic_key = km.topic_key
1641
- WHERE km.project_id = ?
1642
- AND (m.project_id IS NULL OR m.project_id != ?)
1643
- AND m.confidence >= 0.8
1644
- AND m.type != 'query'
1645
- ORDER BY m.confidence DESC,
1771
+ WITH pool AS (
1772
+ SELECT m.id, m.session_id, m.message_id, m.content, m.type,
1773
+ m.confidence, m.key, m.created_at,
1774
+ COUNT(mt.topic_key) * 1.0 / (
1775
+ SELECT COUNT(*) FROM memory_topics mt2 WHERE mt2.memory_id = m.id
1776
+ ) AS match_ratio
1777
+ FROM memories m
1778
+ JOIN memory_topics mt ON m.id = mt.memory_id
1779
+ JOIN knowledge_map km ON mt.topic_key = km.topic_key
1780
+ WHERE km.project_id = ?
1781
+ AND (m.project_id IS NULL OR m.project_id != ?)
1782
+ AND m.confidence >= 0.8
1783
+ AND m.type != 'query'
1784
+ GROUP BY m.id
1785
+ ), banded AS (
1786
+ SELECT *, ROW_NUMBER() OVER (ORDER BY match_ratio DESC, id DESC) AS relevance_rank
1787
+ FROM pool
1788
+ )
1789
+ SELECT id, session_id, message_id, content, type, confidence, key, created_at
1790
+ FROM banded
1791
+ ORDER BY CASE WHEN match_ratio >= ${Database.TIER0_RELEVANCE_RATIO}
1792
+ OR relevance_rank <= ${Database.TIER0_RELEVANCE_MIN_POOL}
1793
+ THEN 1 ELSE 0 END DESC,
1646
1794
  (SELECT MAX(il.injected_at) FROM injection_log il
1647
- WHERE il.memory_id = m.id) ASC,
1648
- m.created_at DESC
1795
+ WHERE il.memory_id = banded.id) ASC,
1796
+ confidence DESC,
1797
+ created_at DESC,
1798
+ id DESC
1649
1799
  LIMIT ?
1650
1800
  `).all(projectId, projectId, tier0Limit);
1651
1801
  pushUnique(tier0Rows.map(mapMemoryRow));
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-monitor.d.ts","sourceRoot":"","sources":["../../src/core/integrity-monitor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAe7C,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,OAAO,CAAA;CACZ;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,UAAU,CAAoC;gBAE1C,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAE,uBAA4B;IAO5D,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,oBAAoB,GAAG,IAAI;IAI5C;;sFAEkF;IAClF,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAOZ;;;qCAGiC;IAC3B,IAAI,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA6BlD,OAAO,CAAC,cAAc;CAwBvB"}
1
+ {"version":3,"file":"integrity-monitor.d.ts","sourceRoot":"","sources":["../../src/core/integrity-monitor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAe7C,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,OAAO,CAAA;CACZ;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,UAAU,CAAoC;gBAE1C,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAE,uBAA4B;IAO5D,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,oBAAoB,GAAG,IAAI;IAI5C;;sFAEkF;IAClF,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAOZ;;;qCAGiC;IAC3B,IAAI,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA6BlD,OAAO,CAAC,cAAc;CA2BvB"}
@@ -1,5 +1,6 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- import { mkdirSync, writeFileSync } from 'node:fs';
2
+ import { writeFileSync } from 'node:fs';
3
+ import { ensureCcrecallDir, CCRECALL_FILE_MODE } from './secure-dir.js';
3
4
  import path from 'node:path';
4
5
  import os from 'node:os';
5
6
  /**
@@ -81,7 +82,7 @@ export class IntegrityMonitor {
81
82
  }
82
83
  writeAlertFile(at, lines) {
83
84
  try {
84
- mkdirSync(this.alertDir, { recursive: true });
85
+ ensureCcrecallDir(this.alertDir);
85
86
  const safeStamp = at.replace(/[:.]/g, '-');
86
87
  const file = path.join(this.alertDir, `integrity-check-${safeStamp}.log`);
87
88
  const body = [
@@ -93,7 +94,10 @@ export class IntegrityMonitor {
93
94
  ...lines,
94
95
  '',
95
96
  ].join('\n');
96
- writeFileSync(file, body, { encoding: 'utf8', flag: 'wx' });
97
+ // #95: an alert carries full PRAGMA output and the database path, so it
98
+ // gets the same 0600 the rest of ~/.ccrecall now uses. `wx` means this is
99
+ // always a fresh file, so the mode option is enough — no repair needed.
100
+ writeFileSync(file, body, { encoding: 'utf8', flag: 'wx', mode: CCRECALL_FILE_MODE });
97
101
  return file;
98
102
  }
99
103
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"integrity-monitor.js","sourceRoot":"","sources":["../../src/core/integrity-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integrity-monitor.js","sourceRoot":"","sources":["../../src/core/integrity-monitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"recall-telemetry.d.ts","sourceRoot":"","sources":["../../src/core/recall-telemetry.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAaD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,oBAAoB,EAC3B,GAAG,GAAE,IAAiB,GACrB,oBAAoB,CAUtB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAClD,IAAI,CAaN"}
1
+ {"version":3,"file":"recall-telemetry.d.ts","sourceRoot":"","sources":["../../src/core/recall-telemetry.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAaD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,oBAAoB,EAC3B,GAAG,GAAE,IAAiB,GACrB,oBAAoB,CAUtB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAClD,IAAI,CAkBN"}
@@ -1,5 +1,6 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
- import { mkdirSync, appendFileSync } from 'node:fs';
2
+ import { appendFileSync } from 'node:fs';
3
+ import { ensureCcrecallDir, secureCcrecallFile, CCRECALL_FILE_MODE } from './secure-dir.js';
3
4
  import path from 'node:path';
4
5
  import os from 'node:os';
5
6
  const QUERY_TRUNCATE_LEN = 80;
@@ -31,8 +32,13 @@ export function appendRecallTelemetry(input, options = {}) {
31
32
  const telemetryPath = resolveTelemetryPath(options.pathOverride);
32
33
  const entry = buildRecallTelemetryEntry(input, options.now);
33
34
  try {
34
- mkdirSync(path.dirname(telemetryPath), { recursive: true, mode: 0o700 });
35
- appendFileSync(telemetryPath, JSON.stringify(entry) + '\n', { mode: 0o600 });
35
+ // #95: this was the one creator that already passed a mode, and it is now
36
+ // routed through the shared helper so it also repairs a directory an older
37
+ // install left at 0755 — passing `mode` only ever affected a directory this
38
+ // call actually created.
39
+ ensureCcrecallDir(path.dirname(telemetryPath));
40
+ appendFileSync(telemetryPath, JSON.stringify(entry) + '\n', { mode: CCRECALL_FILE_MODE });
41
+ secureCcrecallFile(telemetryPath);
36
42
  }
37
43
  catch {
38
44
  // telemetry write must never affect endpoint response;
@@ -1 +1 @@
1
- {"version":3,"file":"recall-telemetry.js","sourceRoot":"","sources":["../../src/core/recall-telemetry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAoB7B,SAAS,oBAAoB;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAA;IAC1D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAC3B,OAAO,oBAAoB,EAAE,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAA2B,EAC3B,MAAY,IAAI,IAAI,EAAE;IAEtB,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;QAC/C,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;KACnC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAA2B,EAC3B,UAAiD,EAAE;IAEnD,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG;QAAE,OAAM;IAE7D,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAE3D,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACxE,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;QACvD,qDAAqD;IACvD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"recall-telemetry.js","sourceRoot":"","sources":["../../src/core/recall-telemetry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC3F,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAoB7B,SAAS,oBAAoB;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAA;IAC1D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAC3B,OAAO,oBAAoB,EAAE,CAAA;AAC/B,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAA2B,EAC3B,MAAY,IAAI,IAAI,EAAE;IAEtB,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;QAC/C,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;KACnC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAA2B,EAC3B,UAAiD,EAAE;IAEnD,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG;QAAE,OAAM;IAE7D,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAE3D,IAAI,CAAC;QACH,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,yBAAyB;QACzB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA;QAC9C,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;QACzF,kBAAkB,CAAC,aAAa,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;QACvD,qDAAqD;IACvD,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const CCRECALL_DIR_MODE = 448;
2
+ export declare const CCRECALL_FILE_MODE = 384;
3
+ /** Create a ccRecall directory 0700, and repair one we already own. */
4
+ export declare function ensureCcrecallDir(dir: string): void;
5
+ /** Hold a ccRecall file at 0600, whoever chose its location. */
6
+ export declare function secureCcrecallFile(file: string): void;
7
+ //# sourceMappingURL=secure-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-dir.d.ts","sourceRoot":"","sources":["../../src/core/secure-dir.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB,MAAQ,CAAA;AACtC,eAAO,MAAM,kBAAkB,MAAQ,CAAA;AAWvC,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAkBnD;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAWrD"}