@tekmidian/pai 0.66.2 → 0.66.3
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/dist/{aibroker-client-CHEEvJZW.mjs → aibroker-client-Ck3p3k_-.mjs} +1 -1
- package/dist/{aibroker-client-Dfv7j1Od.mjs → aibroker-client-WCZi_tn-.mjs} +2 -2
- package/dist/{aibroker-client-Dfv7j1Od.mjs.map → aibroker-client-WCZi_tn-.mjs.map} +1 -1
- package/dist/{chain-D5876UQX.mjs → chain-Fz4NLm4D.mjs} +3 -3
- package/dist/{chain-D5876UQX.mjs.map → chain-Fz4NLm4D.mjs.map} +1 -1
- package/dist/cli/index.mjs +13 -13
- package/dist/cli/program.mjs +13 -13
- package/dist/{config-DKIA7wgF.mjs → config-CnsDMETf.mjs} +1 -1
- package/dist/{config-C-LiGlop.mjs → config-Ddc4DIPk.mjs} +5 -3
- package/dist/config-Ddc4DIPk.mjs.map +1 -0
- package/dist/{context-handover-cache-9PGvXRIw.mjs → context-handover-cache-DcPEW6vf.mjs} +244 -10
- package/dist/context-handover-cache-DcPEW6vf.mjs.map +1 -0
- package/dist/daemon/index.mjs +11 -11
- package/dist/{daemon-BUgNvMUh.mjs → daemon-Bl8TpHdM.mjs} +37 -18
- package/dist/daemon-Bl8TpHdM.mjs.map +1 -0
- package/dist/daemon-ZhHU6D0i.mjs +18 -0
- package/dist/daemon-mcp/index.mjs +9 -9
- package/dist/{embeddings-CEBGrzwu.mjs → embeddings-D0WOQpYR.mjs} +1 -1
- package/dist/{embeddings-DOLZnT1X.mjs → embeddings-DMVzpvRZ.mjs} +18 -9
- package/dist/embeddings-DMVzpvRZ.mjs.map +1 -0
- package/dist/{factory-Ypf8r0fK.mjs → factory-BUnZgnKW.mjs} +5 -5
- package/dist/{factory-Ypf8r0fK.mjs.map → factory-BUnZgnKW.mjs.map} +1 -1
- package/dist/{factory-DrBg24UT.mjs → factory-CrVlo2hY.mjs} +4 -4
- package/dist/{fallback-D51R4shY.mjs → fallback-awOmq_9A.mjs} +4 -4
- package/dist/{fallback-D51R4shY.mjs.map → fallback-awOmq_9A.mjs.map} +1 -1
- package/dist/hooks/block-sleep-poll.mjs +6 -5
- package/dist/hooks/block-sleep-poll.mjs.map +3 -3
- package/dist/hooks/context-compression-hook.mjs +1 -0
- package/dist/hooks/context-compression-hook.mjs.map +2 -2
- package/dist/hooks/load-project-context.mjs +6 -5
- package/dist/hooks/load-project-context.mjs.map +3 -3
- package/dist/hooks/post-compact-inject.mjs +6 -5
- package/dist/hooks/post-compact-inject.mjs.map +3 -3
- package/dist/hooks/route-agents-to-worker.mjs +6 -5
- package/dist/hooks/route-agents-to-worker.mjs.map +3 -3
- package/dist/hooks/security-validator.mjs +1 -0
- package/dist/hooks/security-validator.mjs.map +2 -2
- package/dist/hooks/whisper-rules.mjs +1 -0
- package/dist/hooks/whisper-rules.mjs.map +2 -2
- package/dist/hooks/worker-guard.mjs +6 -5
- package/dist/hooks/worker-guard.mjs.map +3 -3
- package/dist/hooks/worker-proxy.mjs +6 -5
- package/dist/hooks/worker-proxy.mjs.map +3 -3
- package/dist/hooks/worker-status-line.mjs +6 -5
- package/dist/hooks/worker-status-line.mjs.map +3 -3
- package/dist/hooks/worker-supervision.mjs +6 -5
- package/dist/hooks/worker-supervision.mjs.map +3 -3
- package/dist/{ipc-client-BLYX51nG.mjs → ipc-client-DkxRay-o.mjs} +2 -2
- package/dist/{ipc-client-BLYX51nG.mjs.map → ipc-client-DkxRay-o.mjs.map} +1 -1
- package/dist/{main-resolver-kVkMJZUD.mjs → main-resolver-CVGPICy-.mjs} +6 -6
- package/dist/{main-resolver-kVkMJZUD.mjs.map → main-resolver-CVGPICy-.mjs.map} +1 -1
- package/dist/main-resolver-DDShdDBm.mjs +7 -0
- package/dist/{pai-home-Cm9rcJgX.mjs → pai-home-UncxWxlX.mjs} +1 -1
- package/dist/{pai-home-Cm9rcJgX.mjs.map → pai-home-UncxWxlX.mjs.map} +1 -1
- package/dist/{planner-D5yt0EfA.mjs → planner-GdiYe2FO.mjs} +8 -8
- package/dist/{planner-D5yt0EfA.mjs.map → planner-GdiYe2FO.mjs.map} +1 -1
- package/dist/{postgres-BmLr0MUm.mjs → postgres-DKyiCA5V.mjs} +2 -2
- package/dist/{postgres-D3xc2RB4.mjs → postgres-H85VSYHI.mjs} +2 -2
- package/dist/{postgres-D3xc2RB4.mjs.map → postgres-H85VSYHI.mjs.map} +1 -1
- package/dist/{program-DIXRtAFy.mjs → program-D3MSfx86.mjs} +117 -82
- package/dist/program-D3MSfx86.mjs.map +1 -0
- package/dist/{query-feedback-B7FYE4JR.mjs → query-feedback-BPdapXKd.mjs} +2 -2
- package/dist/{query-feedback-B7FYE4JR.mjs.map → query-feedback-BPdapXKd.mjs.map} +1 -1
- package/dist/{run-CLYTOm0x.mjs → run-D9YbWsnL.mjs} +5 -5
- package/dist/{run-CLYTOm0x.mjs.map → run-D9YbWsnL.mjs.map} +1 -1
- package/dist/{run-env-Bnmf6bRI.mjs → run-env-CQRnxNht.mjs} +3 -3
- package/dist/{run-env-Bnmf6bRI.mjs.map → run-env-CQRnxNht.mjs.map} +1 -1
- package/dist/{runtime-paths-D3FKAm69.mjs → runtime-paths-Bw3Jk8qJ.mjs} +4 -2
- package/dist/runtime-paths-Bw3Jk8qJ.mjs.map +1 -0
- package/dist/{zettelkasten-BhZMvmoK.mjs → zettelkasten-BRIaHzFm.mjs} +2 -2
- package/dist/{zettelkasten-BhZMvmoK.mjs.map → zettelkasten-BRIaHzFm.mjs.map} +1 -1
- package/dist/{zettelkasten-BwV1pluL.mjs → zettelkasten-G0-ZTybr.mjs} +3 -3
- package/docs/commands/memory.md +2 -0
- package/package.json +1 -1
- package/dist/config-C-LiGlop.mjs.map +0 -1
- package/dist/context-handover-cache-9PGvXRIw.mjs.map +0 -1
- package/dist/daemon-BUgNvMUh.mjs.map +0 -1
- package/dist/daemon-DL0eglMJ.mjs +0 -18
- package/dist/embeddings-DOLZnT1X.mjs.map +0 -1
- package/dist/main-resolver-BYgP86C1.mjs +0 -7
- package/dist/program-DIXRtAFy.mjs.map +0 -1
- package/dist/runtime-paths-D3FKAm69.mjs.map +0 -1
package/dist/daemon/index.mjs
CHANGED
|
@@ -3,19 +3,19 @@ import "../utils-DddRwMsG.mjs";
|
|
|
3
3
|
import "../migrate-Bq0esMOa.mjs";
|
|
4
4
|
import "../helpers-CZsi_49C.mjs";
|
|
5
5
|
import "../reranker-3lnggwgq.mjs";
|
|
6
|
-
import "../postgres-
|
|
7
|
-
import "../factory-
|
|
8
|
-
import "../embeddings-
|
|
6
|
+
import "../postgres-H85VSYHI.mjs";
|
|
7
|
+
import "../factory-BUnZgnKW.mjs";
|
|
8
|
+
import "../embeddings-DMVzpvRZ.mjs";
|
|
9
9
|
import "../router-BaTbc9VX.mjs";
|
|
10
|
-
import { a as ensureConfigDir, s as loadConfig } from "../config-
|
|
11
|
-
import "../context-handover-cache-
|
|
12
|
-
import "../run-env-
|
|
13
|
-
import "../run-
|
|
14
|
-
import { t as PaiClient } from "../ipc-client-
|
|
15
|
-
import "../aibroker-client-
|
|
10
|
+
import { a as ensureConfigDir, s as loadConfig } from "../config-Ddc4DIPk.mjs";
|
|
11
|
+
import "../context-handover-cache-DcPEW6vf.mjs";
|
|
12
|
+
import "../run-env-CQRnxNht.mjs";
|
|
13
|
+
import "../run-D9YbWsnL.mjs";
|
|
14
|
+
import { t as PaiClient } from "../ipc-client-DkxRay-o.mjs";
|
|
15
|
+
import "../aibroker-client-WCZi_tn-.mjs";
|
|
16
16
|
import { t as dropItermBundleId } from "../env-DiolswKQ.mjs";
|
|
17
|
-
import { t as serve } from "../daemon-
|
|
18
|
-
import "../zettelkasten-
|
|
17
|
+
import { t as serve } from "../daemon-Bl8TpHdM.mjs";
|
|
18
|
+
import "../zettelkasten-BRIaHzFm.mjs";
|
|
19
19
|
import { Command } from "commander";
|
|
20
20
|
|
|
21
21
|
//#region src/daemon/index.ts
|
|
@@ -2,18 +2,18 @@ import { c as yieldToEventLoop, f as fileContentHash, l as buildOutline, n as ch
|
|
|
2
2
|
import { n as TITLE_STOP_WORDS, t as STOP_WORDS } from "./stop-words-DtxaTWU_.mjs";
|
|
3
3
|
import { i as populateSlugs, t as applyRecencyBoost } from "./search-CNAGTiJP.mjs";
|
|
4
4
|
import { n as rerankResults } from "./reranker-3lnggwgq.mjs";
|
|
5
|
-
import { n as embedChunksWithBackend } from "./postgres-
|
|
6
|
-
import { d as getBackendOutage, n as createRegistryBackend, r as createStorageBackend } from "./factory-
|
|
7
|
-
import { i as generateEmbedding, n as cosineSimilarity$1, r as deserializeEmbedding, t as configureEmbeddingModel } from "./embeddings-
|
|
5
|
+
import { n as embedChunksWithBackend } from "./postgres-H85VSYHI.mjs";
|
|
6
|
+
import { d as getBackendOutage, n as createRegistryBackend, r as createStorageBackend } from "./factory-BUnZgnKW.mjs";
|
|
7
|
+
import { i as generateEmbedding, n as cosineSimilarity$1, r as deserializeEmbedding, t as configureEmbeddingModel } from "./embeddings-DMVzpvRZ.mjs";
|
|
8
8
|
import { t as routeNotification } from "./router-BaTbc9VX.mjs";
|
|
9
|
-
import { S as DEFAULT_NOTIFICATION_CONFIG, d as readMainConfigRaw, f as writeMainConfigRaw } from "./config-
|
|
10
|
-
import { $ as
|
|
11
|
-
import { D as readWorkersSection } from "./run-env-
|
|
12
|
-
import { F as appendLedger, G as loadStatus, J as nowStamp, K as loadStatuses, S as itermForClaudeSession, U as isChatPane, dt as ledgerPath, n as runWorker, pt as workersLogDir, ut as eventsPath, z as alive } from "./run-
|
|
13
|
-
import { r as saveQueryResult } from "./query-feedback-
|
|
14
|
-
import { i as sendToSession } from "./aibroker-client-
|
|
9
|
+
import { S as DEFAULT_NOTIFICATION_CONFIG, d as readMainConfigRaw, f as writeMainConfigRaw } from "./config-Ddc4DIPk.mjs";
|
|
10
|
+
import { $ as shutdownRequested, A as indexInProgress, B as setEmbedInProgress, C as handleSessionSummary, D as daemonConfig, E as cacheKeepaliveTimer, F as notificationConfig, G as setLastIndexTime, H as setIndexInProgress, I as passFailures, It as formatDetectionJson, J as setRegistryBackend, K as setLastVaultIndexTime, L as registryBackend, M as lastEmbedTime, N as lastIndexTime, O as embedInProgress, P as lastVaultIndexTime, Pt as detectProject, Q as setVaultIndexInProgress, R as setCacheKeepaliveTimer, S as getGitContext, T as spawnSummarizer, Tt as performScan, U as setIndexSchedulerTimer, V as setEmbedSchedulerTimer, W as setLastEmbedTime, X as setStartTime, Y as setShutdownRequested, Z as setStorageBackend, _ as markCompleted, _t as buildWakeupContext, at as updateTodoContinue, b as contentToText$2, c as removeDaemonPidfile, d as cleanup, dt as addWorkToSessionNote, et as startTime, f as dequeue, ft as appendCheckpoint, g as loadQueue, gt as findNotesDir, h as hasPendingOrProcessingOfType, ht as archiveSessionFilesToSessionsDir, i as runSessionKeepaliveTick, it as sessionIdFromTranscript, j as indexSchedulerTimer, k as embedSchedulerTimer, m as getStats, mt as getCurrentNotePath, n as writeContextHandoverCache, nt as vaultIndexInProgress, p as enqueue, pt as finalizeSessionNote, q as setNotificationConfig, t as readContextHandoverCache, tt as storageBackend, u as writeDaemonPidfile, v as markFailed, x as findLatestJsonl, xt as runPassChild, yt as PassSpawnError, z as setDaemonConfig } from "./context-handover-cache-DcPEW6vf.mjs";
|
|
11
|
+
import { D as readWorkersSection } from "./run-env-CQRnxNht.mjs";
|
|
12
|
+
import { F as appendLedger, G as loadStatus, J as nowStamp, K as loadStatuses, S as itermForClaudeSession, U as isChatPane, dt as ledgerPath, n as runWorker, pt as workersLogDir, ut as eventsPath, z as alive } from "./run-D9YbWsnL.mjs";
|
|
13
|
+
import { r as saveQueryResult } from "./query-feedback-BPdapXKd.mjs";
|
|
14
|
+
import { i as sendToSession } from "./aibroker-client-WCZi_tn-.mjs";
|
|
15
15
|
import { n as formatAutoRouteJson, r as detectTopicShift, t as autoRoute } from "./auto-route-BnizyALK.mjs";
|
|
16
|
-
import { a as zettelThemes, c as zettelExplore, i as zettelHealth, n as zettelGodNotes, o as zettelConverse, r as zettelSuggest, s as zettelSurprise, t as zettelCommunities } from "./zettelkasten-
|
|
16
|
+
import { a as zettelThemes, c as zettelExplore, i as zettelHealth, n as zettelGodNotes, o as zettelConverse, r as zettelSuggest, s as zettelSurprise, t as zettelCommunities } from "./zettelkasten-BRIaHzFm.mjs";
|
|
17
17
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
18
18
|
import { setPriority } from "node:os";
|
|
19
19
|
import { basename, dirname, isAbsolute, join, normalize, relative, resolve } from "node:path";
|
|
@@ -1715,6 +1715,21 @@ function failPass(name, e, retry) {
|
|
|
1715
1715
|
const t = setTimeout(() => void retry().catch(() => {}), delay);
|
|
1716
1716
|
if (t.unref) t.unref();
|
|
1717
1717
|
}
|
|
1718
|
+
/**
|
|
1719
|
+
* Run a heavy pass at background priority in a child process (passPriority
|
|
1720
|
+
* "background"), else in-process. Falls back in-process, with a warning, only
|
|
1721
|
+
* when the child cannot be spawned; a child that ran and failed is a failure.
|
|
1722
|
+
*/
|
|
1723
|
+
async function runPassPrioritised(name, inProcess) {
|
|
1724
|
+
if (daemonConfig.passPriority !== "background") return inProcess();
|
|
1725
|
+
try {
|
|
1726
|
+
return await runPassChild(name);
|
|
1727
|
+
} catch (e) {
|
|
1728
|
+
if (!(e instanceof PassSpawnError)) throw e;
|
|
1729
|
+
process.stderr.write(`[pai-daemon] ${name} pass: ${e.message}; running in-process at normal priority\n`);
|
|
1730
|
+
return inProcess();
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1718
1733
|
/** Minimum interval between vault index runs (30 minutes). */
|
|
1719
1734
|
const VAULT_INDEX_MIN_INTERVAL_MS = 1800 * 1e3;
|
|
1720
1735
|
/**
|
|
@@ -1734,7 +1749,7 @@ async function runIndex() {
|
|
|
1734
1749
|
const t0 = Date.now();
|
|
1735
1750
|
try {
|
|
1736
1751
|
process.stderr.write("[pai-daemon] Starting scheduled index run...\n");
|
|
1737
|
-
const { projects, result } = await storageBackend.indexAll(registryBackend);
|
|
1752
|
+
const { projects, result } = await runPassPrioritised("index", () => storageBackend.indexAll(registryBackend));
|
|
1738
1753
|
const elapsed = Date.now() - t0;
|
|
1739
1754
|
setLastIndexTime(Date.now());
|
|
1740
1755
|
passFailures.delete("index");
|
|
@@ -1839,12 +1854,14 @@ async function runEmbed() {
|
|
|
1839
1854
|
const t0 = Date.now();
|
|
1840
1855
|
try {
|
|
1841
1856
|
process.stderr.write("[pai-daemon] Starting scheduled embed pass...\n");
|
|
1842
|
-
const
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1857
|
+
const { count } = await runPassPrioritised("embed", async () => {
|
|
1858
|
+
const projectNames = /* @__PURE__ */ new Map();
|
|
1859
|
+
try {
|
|
1860
|
+
const rows = await registryBackend.listProjects({ status: "active" });
|
|
1861
|
+
for (const r of rows) projectNames.set(r.id, r.slug);
|
|
1862
|
+
} catch {}
|
|
1863
|
+
return { count: await embedChunksWithBackend(storageBackend, () => shutdownRequested, projectNames, { maxMillis: 24e4 }) };
|
|
1864
|
+
});
|
|
1848
1865
|
const elapsed = Date.now() - t0;
|
|
1849
1866
|
setLastEmbedTime(Date.now());
|
|
1850
1867
|
passFailures.delete("embed");
|
|
@@ -5013,8 +5030,10 @@ async function serve(config) {
|
|
|
5013
5030
|
try {
|
|
5014
5031
|
unlinkSync(config.socketPath);
|
|
5015
5032
|
} catch {}
|
|
5033
|
+
removeDaemonPidfile();
|
|
5016
5034
|
process.exit(0);
|
|
5017
5035
|
};
|
|
5036
|
+
writeDaemonPidfile();
|
|
5018
5037
|
process.on("SIGINT", () => {
|
|
5019
5038
|
shutdown("SIGINT").catch(() => process.exit(0));
|
|
5020
5039
|
});
|
|
@@ -5026,4 +5045,4 @@ async function serve(config) {
|
|
|
5026
5045
|
|
|
5027
5046
|
//#endregion
|
|
5028
5047
|
export { serve as t };
|
|
5029
|
-
//# sourceMappingURL=daemon-
|
|
5048
|
+
//# sourceMappingURL=daemon-Bl8TpHdM.mjs.map
|