@aliou/sesame 0.7.0 → 0.7.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 +1 @@
1
- {"version":3,"file":"index-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,wBAA8B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFxE"}
1
+ {"version":3,"file":"index-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,wBAA8B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFxE"}
@@ -7,6 +7,7 @@ import { indexSessions } from "../indexer/index";
7
7
  import { PiParser } from "../parsers/pi";
8
8
  import { dropAll, openDatabase, setMetadata } from "../storage/db";
9
9
  import { expandPath, loadConfig } from "../utils/config";
10
+ import { acquireIndexLock } from "../utils/index-lock";
10
11
  import { getXDGPaths } from "../utils/xdg";
11
12
  export default async function indexCommand(args) {
12
13
  // Parse --full flag
@@ -16,6 +17,7 @@ export default async function indexCommand(args) {
16
17
  // Get data directory and ensure it exists
17
18
  const paths = getXDGPaths();
18
19
  mkdirSync(paths.data, { recursive: true });
20
+ const lock = acquireIndexLock(paths.data, "index");
19
21
  // Open database
20
22
  const dbPath = join(paths.data, "index.sqlite");
21
23
  const db = openDatabase(dbPath);
@@ -75,6 +77,7 @@ export default async function indexCommand(args) {
75
77
  }
76
78
  finally {
77
79
  db.close();
80
+ lock.release();
78
81
  }
79
82
  }
80
83
  //# sourceMappingURL=index-cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-cmd.js","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-cmd.js","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/watch-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,wBAA8B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgMxE"}
1
+ {"version":3,"file":"watch-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/watch-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,wBAA8B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMxE"}
@@ -7,7 +7,9 @@ import { indexSessions } from "../indexer/index";
7
7
  import { PiParser } from "../parsers/pi";
8
8
  import { openDatabase, setMetadata } from "../storage/db";
9
9
  import { expandPath, loadConfig } from "../utils/config";
10
+ import { acquireIndexLock } from "../utils/index-lock";
10
11
  import { getXDGPaths } from "../utils/xdg";
12
+ import { createReindexQueue } from "./watch-queue";
11
13
  export default async function watchCommand(args) {
12
14
  // Parse --interval flag
13
15
  let pollInterval = null;
@@ -25,15 +27,18 @@ export default async function watchCommand(args) {
25
27
  // Get data directory and ensure it exists
26
28
  const paths = getXDGPaths();
27
29
  mkdirSync(paths.data, { recursive: true });
30
+ const indexLock = acquireIndexLock(paths.data, "watch");
28
31
  // Open database
29
32
  const dbPath = join(paths.data, "index.sqlite");
30
33
  const db = openDatabase(dbPath);
31
34
  const state = {
32
35
  db,
36
+ indexLock,
33
37
  watchers: [],
34
38
  debounceTimers: new Map(),
35
39
  isShuttingDown: false,
36
40
  };
41
+ const reindexQueue = createReindexQueue((sources) => runIndexing(state, sources), () => state.isShuttingDown, console.error);
37
42
  // Set up graceful shutdown
38
43
  const shutdown = () => {
39
44
  if (state.isShuttingDown) {
@@ -55,8 +60,9 @@ export default async function watchCommand(args) {
55
60
  if (state.intervalId) {
56
61
  clearInterval(state.intervalId);
57
62
  }
58
- // Close database
63
+ // Close database and release process lock
59
64
  state.db.close();
65
+ state.indexLock.release();
60
66
  console.error("[%s] Shutdown complete", new Date().toISOString());
61
67
  process.exit(0);
62
68
  };
@@ -70,10 +76,9 @@ export default async function watchCommand(args) {
70
76
  if (pollInterval) {
71
77
  // Polling mode
72
78
  console.error("[%s] Starting poll-based monitoring (interval: %d seconds)", new Date().toISOString(), pollInterval / 1000);
73
- state.intervalId = setInterval(async () => {
79
+ state.intervalId = setInterval(() => {
74
80
  if (!state.isShuttingDown) {
75
- console.error("[%s] Running scheduled index...", new Date().toISOString());
76
- await runIndexing(state, config.sources);
81
+ reindexQueue.enqueue(config.sources, "scheduled");
77
82
  }
78
83
  }, pollInterval);
79
84
  }
@@ -98,11 +103,10 @@ export default async function watchCommand(args) {
98
103
  if (existingTimer) {
99
104
  clearTimeout(existingTimer);
100
105
  }
101
- const timer = setTimeout(async () => {
106
+ const timer = setTimeout(() => {
102
107
  state.debounceTimers.delete(expandedPath);
103
108
  if (!state.isShuttingDown) {
104
- console.error("[%s] Re-indexing %s...", new Date().toISOString(), expandedPath);
105
- await runIndexing(state, [source]);
109
+ reindexQueue.enqueue([source], `fs:${eventType}`);
106
110
  }
107
111
  }, 500);
108
112
  state.debounceTimers.set(expandedPath, timer);
@@ -1 +1 @@
1
- {"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../../src/commands/watch-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch-cmd.js","sourceRoot":"","sources":["../../src/commands/watch-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type SourceConfig = {
2
+ path: string;
3
+ parser: string;
4
+ };
5
+ type RunBatch = (sources: SourceConfig[]) => Promise<void>;
6
+ type IsShuttingDown = () => boolean;
7
+ type Log = (message: string, ...args: unknown[]) => void;
8
+ export interface ReindexQueue {
9
+ enqueue: (sources: SourceConfig[], reason: string) => void;
10
+ waitForIdle: () => Promise<void>;
11
+ }
12
+ export declare function createReindexQueue(runBatch: RunBatch, isShuttingDown: IsShuttingDown, log: Log): ReindexQueue;
13
+ export {};
14
+ //# sourceMappingURL=watch-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-queue.d.ts","sourceRoot":"","sources":["../../src/commands/watch-queue.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC;AACpC,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,GACP,YAAY,CAmFd"}
@@ -0,0 +1,68 @@
1
+ import { expandPath } from "../utils/config";
2
+ export function createReindexQueue(runBatch, isShuttingDown, log) {
3
+ let isIndexing = false;
4
+ const pendingSources = new Map();
5
+ const idleResolvers = new Set();
6
+ function resolveIdleIfIdle() {
7
+ if (!isShuttingDown() && (isIndexing || pendingSources.size > 0)) {
8
+ return;
9
+ }
10
+ for (const resolve of idleResolvers) {
11
+ resolve();
12
+ }
13
+ idleResolvers.clear();
14
+ }
15
+ async function drain() {
16
+ if (isIndexing || isShuttingDown()) {
17
+ resolveIdleIfIdle();
18
+ return;
19
+ }
20
+ isIndexing = true;
21
+ try {
22
+ while (!isShuttingDown()) {
23
+ const sources = Array.from(pendingSources.values());
24
+ pendingSources.clear();
25
+ if (sources.length === 0) {
26
+ break;
27
+ }
28
+ log("[%s] Re-indexing %d source(s)...", new Date().toISOString(), sources.length);
29
+ await runBatch(sources);
30
+ }
31
+ }
32
+ finally {
33
+ isIndexing = false;
34
+ if (!isShuttingDown() && pendingSources.size > 0) {
35
+ void drain();
36
+ }
37
+ else {
38
+ resolveIdleIfIdle();
39
+ }
40
+ }
41
+ }
42
+ return {
43
+ enqueue: (sources, reason) => {
44
+ for (const source of sources) {
45
+ pendingSources.set(expandPath(source.path), source);
46
+ }
47
+ if (isShuttingDown()) {
48
+ pendingSources.clear();
49
+ resolveIdleIfIdle();
50
+ return;
51
+ }
52
+ if (isIndexing) {
53
+ log("[%s] Indexing in progress; queued %d source(s) (%s)", new Date().toISOString(), pendingSources.size, reason);
54
+ return;
55
+ }
56
+ void drain();
57
+ },
58
+ waitForIdle: () => {
59
+ if (isShuttingDown() || (!isIndexing && pendingSources.size === 0)) {
60
+ return Promise.resolve();
61
+ }
62
+ return new Promise((resolve) => {
63
+ idleResolvers.add(resolve);
64
+ });
65
+ },
66
+ };
67
+ }
68
+ //# sourceMappingURL=watch-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-queue.js","sourceRoot":"","sources":["../../src/commands/watch-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgB7C,MAAM,UAAU,kBAAkB,CAChC,QAAkB,EAClB,cAA8B,EAC9B,GAAQ;IAER,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IACvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAc,CAAC;IAE5C,SAAS,iBAAiB;QACxB,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,UAAU,IAAI,cAAc,EAAE,EAAE,CAAC;YACnC,iBAAiB,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,UAAU,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpD,cAAc,CAAC,KAAK,EAAE,CAAC;gBAEvB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM;gBACR,CAAC;gBAED,GAAG,CACD,kCAAkC,EAClC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,OAAO,CAAC,MAAM,CACf,CAAC;gBACF,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,UAAU,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,cAAc,EAAE,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACjD,KAAK,KAAK,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,iBAAiB,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,OAAuB,EAAE,MAAc,EAAE,EAAE;YACnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,cAAc,EAAE,EAAE,CAAC;gBACrB,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,iBAAiB,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,GAAG,CACD,qDAAqD,EACrD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,cAAc,CAAC,IAAI,EACnB,MAAM,CACP,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,KAAK,EAAE,CAAC;QACf,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,cAAc,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface IndexLockHandle {
2
+ path: string;
3
+ release: () => void;
4
+ }
5
+ export declare function acquireIndexLock(dataDir: string, holder: string): IndexLockHandle;
6
+ //# sourceMappingURL=index-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-lock.d.ts","sourceRoot":"","sources":["../../src/utils/index-lock.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAyDD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,eAAe,CA4DjB"}
@@ -0,0 +1,103 @@
1
+ import { closeSync, openSync, readFileSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
2
+ import { join } from "node:path";
3
+ const STALE_UNKNOWN_LOCK_MS = 5 * 60 * 1000;
4
+ function isProcessAlive(pid) {
5
+ try {
6
+ process.kill(pid, 0);
7
+ return true;
8
+ }
9
+ catch (error) {
10
+ if (typeof error === "object" &&
11
+ error !== null &&
12
+ "code" in error &&
13
+ error.code === "EPERM") {
14
+ return true;
15
+ }
16
+ return false;
17
+ }
18
+ }
19
+ function parseLockFile(lockPath) {
20
+ try {
21
+ const raw = readFileSync(lockPath, "utf8").trim();
22
+ if (!raw) {
23
+ return null;
24
+ }
25
+ return JSON.parse(raw);
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ function removeStaleLockIfSafe(lockPath) {
32
+ const data = parseLockFile(lockPath);
33
+ if (data?.pid && Number.isInteger(data.pid) && data.pid > 0) {
34
+ if (!isProcessAlive(data.pid)) {
35
+ unlinkSync(lockPath);
36
+ return true;
37
+ }
38
+ return false;
39
+ }
40
+ try {
41
+ const ageMs = Date.now() - statSync(lockPath).mtimeMs;
42
+ if (ageMs > STALE_UNKNOWN_LOCK_MS) {
43
+ unlinkSync(lockPath);
44
+ return true;
45
+ }
46
+ }
47
+ catch {
48
+ // If stat fails, treat as not removable.
49
+ }
50
+ return false;
51
+ }
52
+ export function acquireIndexLock(dataDir, holder) {
53
+ const lockPath = join(dataDir, "index.lock");
54
+ for (let attempt = 0; attempt < 2; attempt++) {
55
+ try {
56
+ const fd = openSync(lockPath, "wx");
57
+ try {
58
+ writeFileSync(fd, JSON.stringify({
59
+ pid: process.pid,
60
+ holder,
61
+ startedAt: new Date().toISOString(),
62
+ }), "utf8");
63
+ }
64
+ finally {
65
+ closeSync(fd);
66
+ }
67
+ let released = false;
68
+ return {
69
+ path: lockPath,
70
+ release: () => {
71
+ if (released) {
72
+ return;
73
+ }
74
+ released = true;
75
+ try {
76
+ unlinkSync(lockPath);
77
+ }
78
+ catch {
79
+ // Ignore lock cleanup failures on shutdown.
80
+ }
81
+ },
82
+ };
83
+ }
84
+ catch (error) {
85
+ if (typeof error === "object" &&
86
+ error !== null &&
87
+ "code" in error &&
88
+ error.code === "EEXIST") {
89
+ if (attempt === 0 && removeStaleLockIfSafe(lockPath)) {
90
+ continue;
91
+ }
92
+ const data = parseLockFile(lockPath);
93
+ const owner = data?.holder ?? "unknown";
94
+ const pid = data?.pid ? ` pid=${data.pid}` : "";
95
+ const startedAt = data?.startedAt ? ` startedAt=${data.startedAt}` : "";
96
+ throw new Error(`Index already running (${owner}${pid}${startedAt}). Try again later.`);
97
+ }
98
+ throw error;
99
+ }
100
+ }
101
+ throw new Error("Failed to acquire index lock");
102
+ }
103
+ //# sourceMappingURL=index-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-lock.js","sourceRoot":"","sources":["../../src/utils/index-lock.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aliou/sesame",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Semantic search for coding agent sessions",
5
5
  "type": "module",
6
6
  "bin": {