pi-para 0.7.6 → 0.7.8
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/CHANGELOG.md +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -22
- package/dist/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +5 -1
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +18 -2
- package/dist/scheduler/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +87 -25
- package/src/scheduler/index.ts +19 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## [0.7.8] — 2026-08-23
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- Eliminated the remaining native `better-sqlite3` teardown assertion by upgrading both pi-para and qmd-engine to `better-sqlite3` 13.0.3. Version 13 migrated the addon from legacy V8 cleanup hooks to N-API; the installed binary no longer imports `AddEnvironmentCleanupHook` or `RemoveEnvironmentCleanupHook`, removing the crashing mechanism rather than relying only on shutdown timing. Includes qmd-engine 2.6.2.
|
|
9
|
+
|
|
10
|
+
## [0.7.7] — 2026-08-23
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Prevented native `better-sqlite3` teardown crashes (`RemoveEnvironmentCleanupHook: Assertion failed: (env) != nullptr`) when quitting, resuming, forking, or switching sessions while interactive wiki initialization was still running. Background initialization is now lifecycle-owned: shutdown cancels later stages, awaits the in-flight initializer and deferred maintenance, prevents post-shutdown status/scheduler work, waits for active scheduler SQLite tasks to become idle, and only then closes the QMD store.
|
|
14
|
+
|
|
5
15
|
## [0.7.6] — 2026-08-15
|
|
6
16
|
|
|
7
17
|
### Fixed
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAsBtF,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5F,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA+EvD,wBAA8B,MAAM,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAsBtF,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5F,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA+EvD,wBAA8B,MAAM,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiXpE"}
|
package/dist/index.js
CHANGED
|
@@ -70,6 +70,10 @@ export default async function piPara(pi) {
|
|
|
70
70
|
let store = null;
|
|
71
71
|
let currentScope = null;
|
|
72
72
|
let startupMaintenanceTimer = null;
|
|
73
|
+
let startupMaintenancePromise = null;
|
|
74
|
+
let readyStatusTimer = null;
|
|
75
|
+
let initializationPromise = null;
|
|
76
|
+
let sessionClosing = false;
|
|
73
77
|
let storeDisabled = false;
|
|
74
78
|
const getScope = () => {
|
|
75
79
|
if (!currentScope) {
|
|
@@ -94,15 +98,20 @@ export default async function piPara(pi) {
|
|
|
94
98
|
// This handles cases where the db was temporarily locked or had transient errors.
|
|
95
99
|
let storeRetrying = false;
|
|
96
100
|
async function retryStoreOpen() {
|
|
97
|
-
if (storeRetrying)
|
|
101
|
+
if (storeRetrying || sessionClosing)
|
|
98
102
|
return false;
|
|
99
103
|
storeRetrying = true;
|
|
100
104
|
try {
|
|
101
|
-
|
|
105
|
+
const reopenedStore = await openStore(wikiDir, {
|
|
102
106
|
paraConfig: loadedConfig.userConfig ?? undefined,
|
|
103
107
|
secretsPath: loadedConfig.secretsPath ?? undefined,
|
|
104
108
|
backgroundEmbed: false,
|
|
105
109
|
});
|
|
110
|
+
if (sessionClosing) {
|
|
111
|
+
await closeStore(reopenedStore);
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
store = reopenedStore;
|
|
106
115
|
storeDisabled = false;
|
|
107
116
|
markContextDirty(); // rebuild context now that store works
|
|
108
117
|
return true;
|
|
@@ -148,21 +157,29 @@ export default async function piPara(pi) {
|
|
|
148
157
|
// Interactive sessions must NEVER wait on wiki initialization: store
|
|
149
158
|
// opens, git init, scope detection, and model-service setup have all
|
|
150
159
|
// intermittently stalled behind cross-process contention (locks, slow
|
|
151
|
-
// IO, network), blocking the whole TUI at "wiki: indexing...".
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
-
// Print/RPC one-shot runs still await
|
|
155
|
-
|
|
160
|
+
// IO, network), blocking the whole TUI at "wiki: indexing...". Keep the
|
|
161
|
+
// work in the background, but retain its promise: session_shutdown MUST
|
|
162
|
+
// await it before Node tears down native better-sqlite3 resources.
|
|
163
|
+
// Print/RPC one-shot runs still await because they may query then exit.
|
|
164
|
+
sessionClosing = false;
|
|
165
|
+
const pending = initializeSession(ctx);
|
|
166
|
+
initializationPromise = pending;
|
|
167
|
+
void pending.finally(() => {
|
|
168
|
+
if (initializationPromise === pending)
|
|
169
|
+
initializationPromise = null;
|
|
170
|
+
}).catch(() => { });
|
|
156
171
|
if (ctx.hasUI) {
|
|
157
|
-
void
|
|
158
|
-
|
|
159
|
-
|
|
172
|
+
void pending.catch(() => {
|
|
173
|
+
if (!sessionClosing) {
|
|
174
|
+
try {
|
|
175
|
+
ctx.ui.setStatus("pi-para", "wiki: init failed");
|
|
176
|
+
}
|
|
177
|
+
catch { /* ui gone */ }
|
|
160
178
|
}
|
|
161
|
-
catch { /* ui gone */ }
|
|
162
179
|
});
|
|
163
180
|
return;
|
|
164
181
|
}
|
|
165
|
-
await
|
|
182
|
+
await pending;
|
|
166
183
|
});
|
|
167
184
|
async function initializeSession(ctx) {
|
|
168
185
|
ctx.ui.setStatus("pi-para", "wiki: loading...");
|
|
@@ -170,23 +187,38 @@ export default async function piPara(pi) {
|
|
|
170
187
|
await initWiki(wikiDir);
|
|
171
188
|
}
|
|
172
189
|
catch (err) {
|
|
173
|
-
|
|
190
|
+
if (!sessionClosing) {
|
|
191
|
+
ctx.ui.notify(`Wiki init failed: ${err instanceof Error ? err.message : String(err)}`, "error");
|
|
192
|
+
}
|
|
174
193
|
}
|
|
194
|
+
if (sessionClosing)
|
|
195
|
+
return;
|
|
175
196
|
ctx.ui.setStatus("pi-para", "wiki: indexing...");
|
|
176
197
|
storeDisabled = false;
|
|
177
198
|
try {
|
|
178
|
-
|
|
199
|
+
const openedStore = await openStore(wikiDir, {
|
|
179
200
|
paraConfig: loadedConfig.userConfig ?? undefined,
|
|
180
201
|
secretsPath: loadedConfig.secretsPath ?? undefined,
|
|
181
202
|
backgroundEmbed: false,
|
|
182
203
|
});
|
|
204
|
+
if (sessionClosing) {
|
|
205
|
+
await closeStore(openedStore);
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
store = openedStore;
|
|
183
209
|
}
|
|
184
210
|
catch (err) {
|
|
185
211
|
store = null;
|
|
186
212
|
storeDisabled = true;
|
|
187
|
-
|
|
213
|
+
if (!sessionClosing) {
|
|
214
|
+
ctx.ui.notify(`Wiki search disabled: ${err instanceof Error ? err.message : String(err)}`, "warning");
|
|
215
|
+
}
|
|
188
216
|
}
|
|
217
|
+
if (sessionClosing)
|
|
218
|
+
return;
|
|
189
219
|
currentScope = await detectScope(ctx.cwd);
|
|
220
|
+
if (sessionClosing)
|
|
221
|
+
return;
|
|
190
222
|
const savedState = reconstructState(ctx);
|
|
191
223
|
if (savedState?.lastScope.source === "config") {
|
|
192
224
|
currentScope = savedState.lastScope;
|
|
@@ -225,6 +257,8 @@ export default async function piPara(pi) {
|
|
|
225
257
|
catch {
|
|
226
258
|
// Capture handler registration is best-effort; manual capture remains available.
|
|
227
259
|
}
|
|
260
|
+
if (sessionClosing)
|
|
261
|
+
return;
|
|
228
262
|
const embedEnabled = loadedConfig.userConfig?.qmd.embedEnabled !== false;
|
|
229
263
|
const schedulerEnabled = !printMode && schedulerConfig?.enabled !== false;
|
|
230
264
|
const scheduler = schedulerEnabled
|
|
@@ -250,8 +284,10 @@ export default async function piPara(pi) {
|
|
|
250
284
|
const startupDelayMs = Number.isFinite(envDelay) && envDelay >= 0 ? envDelay : 30_000;
|
|
251
285
|
startupMaintenanceTimer = setTimeout(() => {
|
|
252
286
|
startupMaintenanceTimer = null;
|
|
253
|
-
|
|
254
|
-
|
|
287
|
+
if (sessionClosing)
|
|
288
|
+
return;
|
|
289
|
+
const maintenance = (async () => {
|
|
290
|
+
if (embedEnabled && store && !sessionClosing) {
|
|
255
291
|
try {
|
|
256
292
|
scheduler.embedEnabled = true;
|
|
257
293
|
scheduler.enqueue("qmd-embed", {}, { dedupeKey: "qmd-embed", priority: 5 });
|
|
@@ -277,15 +313,27 @@ export default async function piPara(pi) {
|
|
|
277
313
|
// Tick failures are recorded in scheduler history.
|
|
278
314
|
}
|
|
279
315
|
})();
|
|
316
|
+
startupMaintenancePromise = maintenance;
|
|
317
|
+
void maintenance.finally(() => {
|
|
318
|
+
if (startupMaintenancePromise === maintenance)
|
|
319
|
+
startupMaintenancePromise = null;
|
|
320
|
+
}).catch(() => { });
|
|
280
321
|
}, startupDelayMs);
|
|
281
322
|
startupMaintenanceTimer.unref?.();
|
|
282
323
|
}
|
|
283
324
|
if (loadedConfig.userConfig?.webWiki.enabled && !printMode) {
|
|
284
325
|
ctx.ui.notify("webWiki configuration is ignored because Web Wiki was removed in 0.7.", "warning");
|
|
285
326
|
}
|
|
327
|
+
if (sessionClosing)
|
|
328
|
+
return;
|
|
286
329
|
ctx.ui.setStatus("pi-para", "wiki: ready");
|
|
287
|
-
if (!printMode)
|
|
288
|
-
setTimeout(() =>
|
|
330
|
+
if (!printMode) {
|
|
331
|
+
readyStatusTimer = setTimeout(() => {
|
|
332
|
+
readyStatusTimer = null;
|
|
333
|
+
if (!sessionClosing)
|
|
334
|
+
ctx.ui.setStatus("pi-para", undefined);
|
|
335
|
+
}, 3000);
|
|
336
|
+
}
|
|
289
337
|
}
|
|
290
338
|
// -- session_tree ----------------------------------------------------------
|
|
291
339
|
pi.on("session_tree", async (_event, ctx) => {
|
|
@@ -316,11 +364,34 @@ export default async function piPara(pi) {
|
|
|
316
364
|
});
|
|
317
365
|
// -- session_shutdown: register session for scheduler, close store ---------
|
|
318
366
|
pi.on("session_shutdown", async (_event, ctx) => {
|
|
319
|
-
// 0.
|
|
367
|
+
// 0. Own the complete initializer lifecycle. Returning while its native
|
|
368
|
+
// qmd/better-sqlite3 work is still in flight can destroy V8 first and
|
|
369
|
+
// crash in Statement::~Statement / RemoveEnvironmentCleanupHook.
|
|
370
|
+
sessionClosing = true;
|
|
320
371
|
if (startupMaintenanceTimer) {
|
|
321
372
|
clearTimeout(startupMaintenanceTimer);
|
|
322
373
|
startupMaintenanceTimer = null;
|
|
323
374
|
}
|
|
375
|
+
if (readyStatusTimer) {
|
|
376
|
+
clearTimeout(readyStatusTimer);
|
|
377
|
+
readyStatusTimer = null;
|
|
378
|
+
}
|
|
379
|
+
if (initializationPromise) {
|
|
380
|
+
try {
|
|
381
|
+
await initializationPromise;
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
// Initialization errors were already surfaced by the owning path.
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
if (startupMaintenancePromise) {
|
|
388
|
+
try {
|
|
389
|
+
await startupMaintenancePromise;
|
|
390
|
+
}
|
|
391
|
+
catch {
|
|
392
|
+
// Maintenance is best-effort, but must settle before native teardown.
|
|
393
|
+
}
|
|
394
|
+
}
|
|
324
395
|
// 1. Register session as completed (scheduler catch-up processes later)
|
|
325
396
|
const sessionFile = ctx.sessionManager.getSessionFile();
|
|
326
397
|
if (sessionFile) {
|
|
@@ -331,8 +402,8 @@ export default async function piPara(pi) {
|
|
|
331
402
|
// Non-fatal — startup catch-up can also discover sessions via filesystem scan
|
|
332
403
|
}
|
|
333
404
|
}
|
|
334
|
-
// 2. Stop scheduler
|
|
335
|
-
stopWikiScheduler(wikiDir);
|
|
405
|
+
// 2. Stop scheduler, await any in-flight SQLite work, then close the store.
|
|
406
|
+
await stopWikiScheduler(wikiDir);
|
|
336
407
|
if (store) {
|
|
337
408
|
try {
|
|
338
409
|
await closeStore(store);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export declare class WikiScheduler {
|
|
|
24
24
|
private running;
|
|
25
25
|
private stopped;
|
|
26
26
|
private closed;
|
|
27
|
+
private idleWaiters;
|
|
27
28
|
private readonly intervalMs;
|
|
28
29
|
private readonly enabled;
|
|
29
30
|
private readonly storeProvider;
|
|
@@ -33,6 +34,9 @@ export declare class WikiScheduler {
|
|
|
33
34
|
constructor(opts: WikiSchedulerOptions);
|
|
34
35
|
start(): void;
|
|
35
36
|
stop(): void;
|
|
37
|
+
/** Wait until an in-flight task releases its native SQLite resources. */
|
|
38
|
+
waitForIdle(): Promise<void>;
|
|
39
|
+
private resolveIdleWaiters;
|
|
36
40
|
private closeState;
|
|
37
41
|
enqueue(taskName: string, payload?: unknown, opts?: {
|
|
38
42
|
priority?: number;
|
|
@@ -63,7 +67,7 @@ export declare class WikiScheduler {
|
|
|
63
67
|
export declare function isCredentialEmbedError(message: string): boolean;
|
|
64
68
|
export declare function getWikiScheduler(opts: WikiSchedulerOptions): WikiScheduler;
|
|
65
69
|
export declare function startWikiScheduler(opts: WikiSchedulerOptions): WikiScheduler;
|
|
66
|
-
export declare function stopWikiScheduler(wikiDir: string, dbPath?: string): void
|
|
70
|
+
export declare function stopWikiScheduler(wikiDir: string, dbPath?: string): Promise<void>;
|
|
67
71
|
export declare function enqueueWikiMaintenance(wikiDir: string, store: QMDStore, markDirty: () => void, opts?: {
|
|
68
72
|
delayMs?: number;
|
|
69
73
|
dbPath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAChD;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAuC;IACvD,YAAY,EAAE,OAAO,CAAC;gBAEV,IAAI,EAAE,oBAAoB;IAgBtC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhG,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAChD;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAuC;IACvD,YAAY,EAAE,OAAO,CAAC;gBAEV,IAAI,EAAE,oBAAoB;IAgBtC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;IAUZ,yEAAyE;IACnE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAY,EAAE,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,IAAI,CAAA;KAAO,GAAG,MAAM;IAKlI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,IAAI;IAIhE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;YAoBf,OAAO;YAqBP,kBAAkB;IA0BhC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAkBnC;;;;;OAKG;YACW,WAAW;IAqCzB,2FAA2F;IAC3F,OAAO,CAAC,YAAY;CAUrB;AAaD,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/D;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAU1E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAI5E;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvF;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,IAAI,EACrB,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,MAAM,GAAG,IAAI,CA2Bf;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,MAAM,CAUR;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C"}
|
package/dist/scheduler/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export class WikiScheduler {
|
|
|
12
12
|
running = false;
|
|
13
13
|
stopped = false;
|
|
14
14
|
closed = false;
|
|
15
|
+
idleWaiters = [];
|
|
15
16
|
intervalMs;
|
|
16
17
|
enabled;
|
|
17
18
|
storeProvider;
|
|
@@ -47,8 +48,21 @@ export class WikiScheduler {
|
|
|
47
48
|
if (this.timer)
|
|
48
49
|
clearInterval(this.timer);
|
|
49
50
|
this.timer = null;
|
|
50
|
-
if (!this.running)
|
|
51
|
+
if (!this.running) {
|
|
51
52
|
this.closeState();
|
|
53
|
+
this.resolveIdleWaiters();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** Wait until an in-flight task releases its native SQLite resources. */
|
|
57
|
+
async waitForIdle() {
|
|
58
|
+
if (!this.running)
|
|
59
|
+
return;
|
|
60
|
+
await new Promise((resolve) => this.idleWaiters.push(resolve));
|
|
61
|
+
}
|
|
62
|
+
resolveIdleWaiters() {
|
|
63
|
+
const waiters = this.idleWaiters.splice(0);
|
|
64
|
+
for (const resolve of waiters)
|
|
65
|
+
resolve();
|
|
52
66
|
}
|
|
53
67
|
closeState() {
|
|
54
68
|
if (this.closed)
|
|
@@ -84,6 +98,7 @@ export class WikiScheduler {
|
|
|
84
98
|
this.running = false;
|
|
85
99
|
if (this.stopped)
|
|
86
100
|
this.closeState();
|
|
101
|
+
this.resolveIdleWaiters();
|
|
87
102
|
}
|
|
88
103
|
return processed;
|
|
89
104
|
}
|
|
@@ -253,7 +268,7 @@ export function startWikiScheduler(opts) {
|
|
|
253
268
|
scheduler.start();
|
|
254
269
|
return scheduler;
|
|
255
270
|
}
|
|
256
|
-
export function stopWikiScheduler(wikiDir, dbPath) {
|
|
271
|
+
export async function stopWikiScheduler(wikiDir, dbPath) {
|
|
257
272
|
const key = dbPath ?? getParaPaths({ wikiDir }).schedulerDbPath;
|
|
258
273
|
const timer = debounceTimers.get(key);
|
|
259
274
|
if (timer) {
|
|
@@ -265,6 +280,7 @@ export function stopWikiScheduler(wikiDir, dbPath) {
|
|
|
265
280
|
return;
|
|
266
281
|
scheduler.stop();
|
|
267
282
|
schedulers.delete(key);
|
|
283
|
+
await scheduler.waitForIdle();
|
|
268
284
|
}
|
|
269
285
|
export function enqueueWikiMaintenance(wikiDir, store, markDirty, opts = {}) {
|
|
270
286
|
const key = opts.dbPath ?? getParaPaths({ wikiDir }).schedulerDbPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduler/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-para",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.8",
|
|
4
4
|
"description": "PARA Knowledge Base Extension for pi — persistent, LLM-curated personal wiki",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -152,8 +152,8 @@
|
|
|
152
152
|
},
|
|
153
153
|
"dependencies": {
|
|
154
154
|
"@types/better-sqlite3": "^7.6.13",
|
|
155
|
-
"better-sqlite3": "
|
|
156
|
-
"qmd-engine": "
|
|
155
|
+
"better-sqlite3": "13.0.3",
|
|
156
|
+
"qmd-engine": "2.6.2",
|
|
157
157
|
"yaml": "^2.8.2"
|
|
158
158
|
},
|
|
159
159
|
"engines": {
|
package/src/index.ts
CHANGED
|
@@ -129,6 +129,10 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
129
129
|
let store: QMDStore | null = null;
|
|
130
130
|
let currentScope: ProjectScope | null = null;
|
|
131
131
|
let startupMaintenanceTimer: ReturnType<typeof setTimeout> | null = null;
|
|
132
|
+
let startupMaintenancePromise: Promise<void> | null = null;
|
|
133
|
+
let readyStatusTimer: ReturnType<typeof setTimeout> | null = null;
|
|
134
|
+
let initializationPromise: Promise<void> | null = null;
|
|
135
|
+
let sessionClosing = false;
|
|
132
136
|
let storeDisabled = false;
|
|
133
137
|
|
|
134
138
|
|
|
@@ -158,14 +162,19 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
158
162
|
// This handles cases where the db was temporarily locked or had transient errors.
|
|
159
163
|
let storeRetrying = false;
|
|
160
164
|
async function retryStoreOpen(): Promise<boolean> {
|
|
161
|
-
if (storeRetrying) return false;
|
|
165
|
+
if (storeRetrying || sessionClosing) return false;
|
|
162
166
|
storeRetrying = true;
|
|
163
167
|
try {
|
|
164
|
-
|
|
168
|
+
const reopenedStore = await openStore(wikiDir, {
|
|
165
169
|
paraConfig: loadedConfig.userConfig ?? undefined,
|
|
166
170
|
secretsPath: loadedConfig.secretsPath ?? undefined,
|
|
167
171
|
backgroundEmbed: false,
|
|
168
172
|
});
|
|
173
|
+
if (sessionClosing) {
|
|
174
|
+
await closeStore(reopenedStore);
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
store = reopenedStore;
|
|
169
178
|
storeDisabled = false;
|
|
170
179
|
markContextDirty(); // rebuild context now that store works
|
|
171
180
|
return true;
|
|
@@ -221,18 +230,26 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
221
230
|
// Interactive sessions must NEVER wait on wiki initialization: store
|
|
222
231
|
// opens, git init, scope detection, and model-service setup have all
|
|
223
232
|
// intermittently stalled behind cross-process contention (locks, slow
|
|
224
|
-
// IO, network), blocking the whole TUI at "wiki: indexing...".
|
|
225
|
-
//
|
|
226
|
-
//
|
|
227
|
-
// Print/RPC one-shot runs still await
|
|
228
|
-
|
|
233
|
+
// IO, network), blocking the whole TUI at "wiki: indexing...". Keep the
|
|
234
|
+
// work in the background, but retain its promise: session_shutdown MUST
|
|
235
|
+
// await it before Node tears down native better-sqlite3 resources.
|
|
236
|
+
// Print/RPC one-shot runs still await because they may query then exit.
|
|
237
|
+
sessionClosing = false;
|
|
238
|
+
const pending = initializeSession(ctx);
|
|
239
|
+
initializationPromise = pending;
|
|
240
|
+
void pending.finally(() => {
|
|
241
|
+
if (initializationPromise === pending) initializationPromise = null;
|
|
242
|
+
}).catch(() => { /* the owning path reports initialization failures */ });
|
|
243
|
+
|
|
229
244
|
if (ctx.hasUI) {
|
|
230
|
-
void
|
|
231
|
-
|
|
245
|
+
void pending.catch(() => {
|
|
246
|
+
if (!sessionClosing) {
|
|
247
|
+
try { ctx.ui.setStatus("pi-para", "wiki: init failed"); } catch { /* ui gone */ }
|
|
248
|
+
}
|
|
232
249
|
});
|
|
233
250
|
return;
|
|
234
251
|
}
|
|
235
|
-
await
|
|
252
|
+
await pending;
|
|
236
253
|
});
|
|
237
254
|
|
|
238
255
|
async function initializeSession(ctx: ExtensionContext): Promise<void> {
|
|
@@ -241,30 +258,42 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
241
258
|
try {
|
|
242
259
|
await initWiki(wikiDir);
|
|
243
260
|
} catch (err) {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
261
|
+
if (!sessionClosing) {
|
|
262
|
+
ctx.ui.notify(
|
|
263
|
+
`Wiki init failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
264
|
+
"error",
|
|
265
|
+
);
|
|
266
|
+
}
|
|
248
267
|
}
|
|
268
|
+
if (sessionClosing) return;
|
|
249
269
|
|
|
250
270
|
ctx.ui.setStatus("pi-para", "wiki: indexing...");
|
|
251
271
|
storeDisabled = false;
|
|
252
272
|
try {
|
|
253
|
-
|
|
273
|
+
const openedStore = await openStore(wikiDir, {
|
|
254
274
|
paraConfig: loadedConfig.userConfig ?? undefined,
|
|
255
275
|
secretsPath: loadedConfig.secretsPath ?? undefined,
|
|
256
276
|
backgroundEmbed: false,
|
|
257
277
|
});
|
|
278
|
+
if (sessionClosing) {
|
|
279
|
+
await closeStore(openedStore);
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
store = openedStore;
|
|
258
283
|
} catch (err) {
|
|
259
284
|
store = null;
|
|
260
285
|
storeDisabled = true;
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
286
|
+
if (!sessionClosing) {
|
|
287
|
+
ctx.ui.notify(
|
|
288
|
+
`Wiki search disabled: ${err instanceof Error ? err.message : String(err)}`,
|
|
289
|
+
"warning",
|
|
290
|
+
);
|
|
291
|
+
}
|
|
265
292
|
}
|
|
293
|
+
if (sessionClosing) return;
|
|
266
294
|
|
|
267
295
|
currentScope = await detectScope(ctx.cwd);
|
|
296
|
+
if (sessionClosing) return;
|
|
268
297
|
|
|
269
298
|
const savedState = reconstructState(ctx);
|
|
270
299
|
if (savedState?.lastScope.source === "config") {
|
|
@@ -305,6 +334,7 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
305
334
|
} catch {
|
|
306
335
|
// Capture handler registration is best-effort; manual capture remains available.
|
|
307
336
|
}
|
|
337
|
+
if (sessionClosing) return;
|
|
308
338
|
|
|
309
339
|
const embedEnabled = loadedConfig.userConfig?.qmd.embedEnabled !== false;
|
|
310
340
|
const schedulerEnabled = !printMode && schedulerConfig?.enabled !== false;
|
|
@@ -332,8 +362,9 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
332
362
|
const startupDelayMs = Number.isFinite(envDelay) && envDelay >= 0 ? envDelay : 30_000;
|
|
333
363
|
startupMaintenanceTimer = setTimeout(() => {
|
|
334
364
|
startupMaintenanceTimer = null;
|
|
335
|
-
|
|
336
|
-
|
|
365
|
+
if (sessionClosing) return;
|
|
366
|
+
const maintenance = (async () => {
|
|
367
|
+
if (embedEnabled && store && !sessionClosing) {
|
|
337
368
|
try {
|
|
338
369
|
scheduler.embedEnabled = true;
|
|
339
370
|
scheduler.enqueue("qmd-embed", {}, { dedupeKey: "qmd-embed", priority: 5 });
|
|
@@ -356,6 +387,10 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
356
387
|
// Tick failures are recorded in scheduler history.
|
|
357
388
|
}
|
|
358
389
|
})();
|
|
390
|
+
startupMaintenancePromise = maintenance;
|
|
391
|
+
void maintenance.finally(() => {
|
|
392
|
+
if (startupMaintenancePromise === maintenance) startupMaintenancePromise = null;
|
|
393
|
+
}).catch(() => { /* maintenance is best-effort */ });
|
|
359
394
|
}, startupDelayMs);
|
|
360
395
|
startupMaintenanceTimer.unref?.();
|
|
361
396
|
}
|
|
@@ -363,8 +398,14 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
363
398
|
if (loadedConfig.userConfig?.webWiki.enabled && !printMode) {
|
|
364
399
|
ctx.ui.notify("webWiki configuration is ignored because Web Wiki was removed in 0.7.", "warning");
|
|
365
400
|
}
|
|
401
|
+
if (sessionClosing) return;
|
|
366
402
|
ctx.ui.setStatus("pi-para", "wiki: ready");
|
|
367
|
-
if (!printMode)
|
|
403
|
+
if (!printMode) {
|
|
404
|
+
readyStatusTimer = setTimeout(() => {
|
|
405
|
+
readyStatusTimer = null;
|
|
406
|
+
if (!sessionClosing) ctx.ui.setStatus("pi-para", undefined);
|
|
407
|
+
}, 3000);
|
|
408
|
+
}
|
|
368
409
|
}
|
|
369
410
|
|
|
370
411
|
// -- session_tree ----------------------------------------------------------
|
|
@@ -399,11 +440,32 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
399
440
|
// -- session_shutdown: register session for scheduler, close store ---------
|
|
400
441
|
|
|
401
442
|
pi.on("session_shutdown", async (_event, ctx) => {
|
|
402
|
-
// 0.
|
|
443
|
+
// 0. Own the complete initializer lifecycle. Returning while its native
|
|
444
|
+
// qmd/better-sqlite3 work is still in flight can destroy V8 first and
|
|
445
|
+
// crash in Statement::~Statement / RemoveEnvironmentCleanupHook.
|
|
446
|
+
sessionClosing = true;
|
|
403
447
|
if (startupMaintenanceTimer) {
|
|
404
448
|
clearTimeout(startupMaintenanceTimer);
|
|
405
449
|
startupMaintenanceTimer = null;
|
|
406
450
|
}
|
|
451
|
+
if (readyStatusTimer) {
|
|
452
|
+
clearTimeout(readyStatusTimer);
|
|
453
|
+
readyStatusTimer = null;
|
|
454
|
+
}
|
|
455
|
+
if (initializationPromise) {
|
|
456
|
+
try {
|
|
457
|
+
await initializationPromise;
|
|
458
|
+
} catch {
|
|
459
|
+
// Initialization errors were already surfaced by the owning path.
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
if (startupMaintenancePromise) {
|
|
463
|
+
try {
|
|
464
|
+
await startupMaintenancePromise;
|
|
465
|
+
} catch {
|
|
466
|
+
// Maintenance is best-effort, but must settle before native teardown.
|
|
467
|
+
}
|
|
468
|
+
}
|
|
407
469
|
|
|
408
470
|
// 1. Register session as completed (scheduler catch-up processes later)
|
|
409
471
|
const sessionFile = ctx.sessionManager.getSessionFile();
|
|
@@ -415,8 +477,8 @@ export default async function piPara(pi: ExtensionAPI): Promise<void> {
|
|
|
415
477
|
}
|
|
416
478
|
}
|
|
417
479
|
|
|
418
|
-
// 2. Stop scheduler
|
|
419
|
-
stopWikiScheduler(wikiDir);
|
|
480
|
+
// 2. Stop scheduler, await any in-flight SQLite work, then close the store.
|
|
481
|
+
await stopWikiScheduler(wikiDir);
|
|
420
482
|
|
|
421
483
|
if (store) {
|
|
422
484
|
try {
|
package/src/scheduler/index.ts
CHANGED
|
@@ -32,6 +32,7 @@ export class WikiScheduler {
|
|
|
32
32
|
private running = false;
|
|
33
33
|
private stopped = false;
|
|
34
34
|
private closed = false;
|
|
35
|
+
private idleWaiters: Array<() => void> = [];
|
|
35
36
|
private readonly intervalMs: number;
|
|
36
37
|
private readonly enabled: boolean;
|
|
37
38
|
private readonly storeProvider: () => QMDStore | null;
|
|
@@ -68,7 +69,21 @@ export class WikiScheduler {
|
|
|
68
69
|
this.stopped = true;
|
|
69
70
|
if (this.timer) clearInterval(this.timer);
|
|
70
71
|
this.timer = null;
|
|
71
|
-
if (!this.running)
|
|
72
|
+
if (!this.running) {
|
|
73
|
+
this.closeState();
|
|
74
|
+
this.resolveIdleWaiters();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Wait until an in-flight task releases its native SQLite resources. */
|
|
79
|
+
async waitForIdle(): Promise<void> {
|
|
80
|
+
if (!this.running) return;
|
|
81
|
+
await new Promise<void>((resolve) => this.idleWaiters.push(resolve));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
private resolveIdleWaiters(): void {
|
|
85
|
+
const waiters = this.idleWaiters.splice(0);
|
|
86
|
+
for (const resolve of waiters) resolve();
|
|
72
87
|
}
|
|
73
88
|
|
|
74
89
|
private closeState(): void {
|
|
@@ -101,6 +116,7 @@ export class WikiScheduler {
|
|
|
101
116
|
} finally {
|
|
102
117
|
this.running = false;
|
|
103
118
|
if (this.stopped) this.closeState();
|
|
119
|
+
this.resolveIdleWaiters();
|
|
104
120
|
}
|
|
105
121
|
return processed;
|
|
106
122
|
}
|
|
@@ -268,7 +284,7 @@ export function startWikiScheduler(opts: WikiSchedulerOptions): WikiScheduler {
|
|
|
268
284
|
return scheduler;
|
|
269
285
|
}
|
|
270
286
|
|
|
271
|
-
export function stopWikiScheduler(wikiDir: string, dbPath?: string): void {
|
|
287
|
+
export async function stopWikiScheduler(wikiDir: string, dbPath?: string): Promise<void> {
|
|
272
288
|
const key = dbPath ?? getParaPaths({ wikiDir }).schedulerDbPath;
|
|
273
289
|
const timer = debounceTimers.get(key);
|
|
274
290
|
if (timer) {
|
|
@@ -279,6 +295,7 @@ export function stopWikiScheduler(wikiDir: string, dbPath?: string): void {
|
|
|
279
295
|
if (!scheduler) return;
|
|
280
296
|
scheduler.stop();
|
|
281
297
|
schedulers.delete(key);
|
|
298
|
+
await scheduler.waitForIdle();
|
|
282
299
|
}
|
|
283
300
|
|
|
284
301
|
export function enqueueWikiMaintenance(
|