@tekmidian/pai 0.32.0 → 0.32.2
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/{auto-route-BWGvvpcP.mjs → auto-route-C8xAfsds.mjs} +2 -2
- package/dist/{auto-route-BWGvvpcP.mjs.map → auto-route-C8xAfsds.mjs.map} +1 -1
- package/dist/cli/index.mjs +3 -3
- package/dist/cli/program.mjs +3 -3
- package/dist/daemon/index.mjs +6 -6
- package/dist/{daemon-iNuNMMKd.mjs → daemon-BhbX7XHt.mjs} +12 -12
- package/dist/{daemon-iNuNMMKd.mjs.map → daemon-BhbX7XHt.mjs.map} +1 -1
- package/dist/{detector-DExEQ5cW.mjs → detector-BU-bsDXs.mjs} +2 -2
- package/dist/{detector-DExEQ5cW.mjs.map → detector-BU-bsDXs.mjs.map} +1 -1
- package/dist/{factory-BydJSrZJ.mjs → factory-hmDHxTaJ.mjs} +3 -3
- package/dist/{factory-BydJSrZJ.mjs.map → factory-hmDHxTaJ.mjs.map} +1 -1
- package/dist/index.d.mts +0 -18
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{pick-DlsM0ppq.mjs → pick-BBb6PiKa.mjs} +9 -9
- package/dist/{pick-DlsM0ppq.mjs.map → pick-BBb6PiKa.mjs.map} +1 -1
- package/dist/{postgres-DTyxU4B1.mjs → postgres-5IpjMwo_.mjs} +26 -3
- package/dist/postgres-5IpjMwo_.mjs.map +1 -0
- package/dist/{search-CpTv1I24.mjs → search-C32zQ0V0.mjs} +18 -2
- package/dist/search-C32zQ0V0.mjs.map +1 -0
- package/dist/{sqlite--BBAyXLH.mjs → sqlite-Cs_PXpyt.mjs} +2 -2
- package/dist/{sqlite--BBAyXLH.mjs.map → sqlite-Cs_PXpyt.mjs.map} +1 -1
- package/dist/{tools-DMAQxlOk.mjs → tools-B3BP_zjZ.mjs} +6 -6
- package/dist/{tools-DMAQxlOk.mjs.map → tools-B3BP_zjZ.mjs.map} +1 -1
- package/dist/{work-queue-worker-BAgwmMDl.mjs → work-queue-worker-CGMXpO_4.mjs} +2 -2
- package/dist/{work-queue-worker-BAgwmMDl.mjs.map → work-queue-worker-CGMXpO_4.mjs.map} +1 -1
- package/docker/init.sql +181 -0
- package/package.json +2 -1
- package/dist/postgres-DTyxU4B1.mjs.map +0 -1
- package/dist/search-CpTv1I24.mjs.map +0 -1
|
@@ -26,7 +26,7 @@ async function autoRoute(registryDb, federation, cwd, context) {
|
|
|
26
26
|
const markerResult = findMarkerUpward(registryDb, target);
|
|
27
27
|
if (markerResult) return markerResult;
|
|
28
28
|
if (context && context.trim().length > 0) {
|
|
29
|
-
const { detectTopicShift } = await import("./detector-
|
|
29
|
+
const { detectTopicShift } = await import("./detector-BU-bsDXs.mjs").then((n) => n.n);
|
|
30
30
|
const topicResult = await detectTopicShift(registryDb, federation, {
|
|
31
31
|
context,
|
|
32
32
|
threshold: .5
|
|
@@ -83,4 +83,4 @@ function formatAutoRouteJson(result) {
|
|
|
83
83
|
|
|
84
84
|
//#endregion
|
|
85
85
|
export { autoRoute, formatAutoRouteJson };
|
|
86
|
-
//# sourceMappingURL=auto-route-
|
|
86
|
+
//# sourceMappingURL=auto-route-C8xAfsds.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-route-
|
|
1
|
+
{"version":3,"file":"auto-route-C8xAfsds.mjs","names":[],"sources":["../src/session/auto-route.ts"],"sourcesContent":["/**\n * Auto-route: automatic project routing suggestion on session start.\n *\n * Given a working directory (and optional conversation context), determine\n * which registered project the session belongs to.\n *\n * Strategy (in priority order):\n * 1. Path match — exact or parent-directory match in the project registry\n * 2. Marker walk — walk up from cwd looking for Notes/PAI.md, resolve slug\n * 3. Topic match — BM25 keyword search against memory (requires context text)\n *\n * The function is stateless and works with direct DB access (no daemon\n * required), making it fast and safe to call during session startup.\n */\n\nimport type { Database } from \"better-sqlite3\";\nimport type { StorageBackend } from \"../storage/interface.js\";\nimport { resolve, dirname } from \"node:path\";\nimport { existsSync } from \"node:fs\";\nimport { readPaiMarker } from \"../registry/pai-marker.js\";\nimport { detectProject } from \"../cli/commands/detect.js\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport type AutoRouteMethod = \"path\" | \"marker\" | \"topic\";\n\nexport interface AutoRouteResult {\n /** Project slug */\n slug: string;\n /** Human-readable project name */\n display_name: string;\n /** Absolute path to the project root */\n root_path: string;\n /** How the project was detected */\n method: AutoRouteMethod;\n /** Confidence [0,1]: 1.0 for path/marker matches, BM25 fraction for topic */\n confidence: number;\n}\n\n// ---------------------------------------------------------------------------\n// Core function\n// ---------------------------------------------------------------------------\n\n/**\n * Determine which project a session should be routed to.\n *\n * @param registryDb Open PAI registry database\n * @param federation Memory storage backend (needed only for topic fallback)\n * @param cwd Working directory to detect from (defaults to process.cwd())\n * @param context Optional conversation text for topic-based fallback\n * @returns Best project match, or null if nothing matched\n */\nexport async function autoRoute(\n registryDb: Database,\n federation: Database | StorageBackend,\n cwd?: string,\n context?: string\n): Promise<AutoRouteResult | null> {\n const target = resolve(cwd ?? process.cwd());\n\n // -------------------------------------------------------------------------\n // Strategy 1: Path match via registry\n // -------------------------------------------------------------------------\n\n const pathMatch = detectProject(registryDb, target);\n\n if (pathMatch) {\n return {\n slug: pathMatch.slug,\n display_name: pathMatch.display_name,\n root_path: pathMatch.root_path,\n method: \"path\",\n confidence: 1.0,\n };\n }\n\n // -------------------------------------------------------------------------\n // Strategy 2: PAI.md marker file walk\n //\n // Walk up from cwd, checking <dir>/Notes/PAI.md at each level.\n // Once found, resolve the slug against the registry to get full project info.\n // -------------------------------------------------------------------------\n\n const markerResult = findMarkerUpward(registryDb, target);\n if (markerResult) {\n return markerResult;\n }\n\n // -------------------------------------------------------------------------\n // Strategy 3: Topic detection (requires context text)\n // -------------------------------------------------------------------------\n\n if (context && context.trim().length > 0) {\n // Lazy import to avoid bundler pulling in daemon/index.mjs at module load time\n const { detectTopicShift } = await import(\"../topics/detector.js\");\n const topicResult = await detectTopicShift(registryDb, federation, {\n context,\n threshold: 0.5, // Lower threshold for initial routing (vs shift detection)\n });\n\n if (topicResult.suggestedProject && topicResult.confidence > 0) {\n // Look up the full project info from the registry\n const projectRow = registryDb\n .prepare(\n \"SELECT slug, display_name, root_path FROM projects WHERE slug = ? AND status != 'archived'\"\n )\n .get(topicResult.suggestedProject) as\n | { slug: string; display_name: string; root_path: string }\n | undefined;\n\n if (projectRow) {\n return {\n slug: projectRow.slug,\n display_name: projectRow.display_name,\n root_path: projectRow.root_path,\n method: \"topic\",\n confidence: topicResult.confidence,\n };\n }\n }\n }\n\n return null;\n}\n\n// ---------------------------------------------------------------------------\n// Marker walk helper\n// ---------------------------------------------------------------------------\n\n/**\n * Walk up the directory tree from `startDir`, checking each level for a\n * `Notes/PAI.md` file. If found, read the slug and look up the project.\n *\n * Stops at the filesystem root or after 20 levels (safety guard).\n */\nfunction findMarkerUpward(\n registryDb: Database,\n startDir: string\n): AutoRouteResult | null {\n let current = startDir;\n let depth = 0;\n\n while (depth < 20) {\n const markerPath = `${current}/Notes/PAI.md`;\n\n if (existsSync(markerPath)) {\n const marker = readPaiMarker(current);\n\n if (marker && marker.status !== \"archived\") {\n // Resolve slug to full project info in the registry\n const projectRow = registryDb\n .prepare(\n \"SELECT slug, display_name, root_path FROM projects WHERE slug = ? AND status != 'archived'\"\n )\n .get(marker.slug) as\n | { slug: string; display_name: string; root_path: string }\n | undefined;\n\n if (projectRow) {\n return {\n slug: projectRow.slug,\n display_name: projectRow.display_name,\n root_path: projectRow.root_path,\n method: \"marker\",\n confidence: 1.0,\n };\n }\n }\n }\n\n const parent = dirname(current);\n if (parent === current) break; // Reached filesystem root\n current = parent;\n depth++;\n }\n\n return null;\n}\n\n// ---------------------------------------------------------------------------\n// Format helpers\n// ---------------------------------------------------------------------------\n\n/**\n * Format an AutoRouteResult as a human-readable string for CLI output.\n */\nexport function formatAutoRoute(result: AutoRouteResult): string {\n const lines: string[] = [\n `slug: ${result.slug}`,\n `display_name: ${result.display_name}`,\n `root_path: ${result.root_path}`,\n `method: ${result.method}`,\n `confidence: ${(result.confidence * 100).toFixed(0)}%`,\n ];\n return lines.join(\"\\n\");\n}\n\n/**\n * Format an AutoRouteResult as JSON for machine consumption.\n */\nexport function formatAutoRouteJson(result: AutoRouteResult): string {\n return JSON.stringify(result, null, 2);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAsDA,eAAsB,UACpB,YACA,YACA,KACA,SACiC;CACjC,MAAM,SAAS,QAAQ,OAAO,QAAQ,KAAK,CAAC;CAM5C,MAAM,YAAY,cAAc,YAAY,OAAO;AAEnD,KAAI,UACF,QAAO;EACL,MAAM,UAAU;EAChB,cAAc,UAAU;EACxB,WAAW,UAAU;EACrB,QAAQ;EACR,YAAY;EACb;CAUH,MAAM,eAAe,iBAAiB,YAAY,OAAO;AACzD,KAAI,aACF,QAAO;AAOT,KAAI,WAAW,QAAQ,MAAM,CAAC,SAAS,GAAG;EAExC,MAAM,EAAE,qBAAqB,MAAM,OAAO;EAC1C,MAAM,cAAc,MAAM,iBAAiB,YAAY,YAAY;GACjE;GACA,WAAW;GACZ,CAAC;AAEF,MAAI,YAAY,oBAAoB,YAAY,aAAa,GAAG;GAE9D,MAAM,aAAa,WAChB,QACC,6FACD,CACA,IAAI,YAAY,iBAAiB;AAIpC,OAAI,WACF,QAAO;IACL,MAAM,WAAW;IACjB,cAAc,WAAW;IACzB,WAAW,WAAW;IACtB,QAAQ;IACR,YAAY,YAAY;IACzB;;;AAKP,QAAO;;;;;;;;AAaT,SAAS,iBACP,YACA,UACwB;CACxB,IAAI,UAAU;CACd,IAAI,QAAQ;AAEZ,QAAO,QAAQ,IAAI;AAGjB,MAAI,WAFe,GAAG,QAAQ,eAEJ,EAAE;GAC1B,MAAM,SAAS,cAAc,QAAQ;AAErC,OAAI,UAAU,OAAO,WAAW,YAAY;IAE1C,MAAM,aAAa,WAChB,QACC,6FACD,CACA,IAAI,OAAO,KAAK;AAInB,QAAI,WACF,QAAO;KACL,MAAM,WAAW;KACjB,cAAc,WAAW;KACzB,WAAW,WAAW;KACtB,QAAQ;KACR,YAAY;KACb;;;EAKP,MAAM,SAAS,QAAQ,QAAQ;AAC/B,MAAI,WAAW,QAAS;AACxB,YAAU;AACV;;AAGF,QAAO;;;;;AAwBT,SAAgB,oBAAoB,QAAiC;AACnE,QAAO,KAAK,UAAU,QAAQ,MAAM,EAAE"}
|
package/dist/cli/index.mjs
CHANGED
|
@@ -6,13 +6,13 @@ import "../db-CYmBWcjh.mjs";
|
|
|
6
6
|
import "../helpers-crDEr6S2.mjs";
|
|
7
7
|
import "../sync--BoxBBok.mjs";
|
|
8
8
|
import "../embeddings-Bn86ssxR.mjs";
|
|
9
|
-
import "../search-
|
|
10
|
-
import "../pick-
|
|
9
|
+
import "../search-C32zQ0V0.mjs";
|
|
10
|
+
import "../pick-BBb6PiKa.mjs";
|
|
11
11
|
import "../checkpoint-block-DYq9RmMU.mjs";
|
|
12
12
|
import "../indexer-AEcT8wHf.mjs";
|
|
13
13
|
import "../ipc-client-aVKVERjJ.mjs";
|
|
14
14
|
import "../config-CcdkNSWa.mjs";
|
|
15
|
-
import "../factory-
|
|
15
|
+
import "../factory-hmDHxTaJ.mjs";
|
|
16
16
|
import "../main-resolver-DjyUDJrv.mjs";
|
|
17
17
|
import { buildProgram } from "./program.mjs";
|
|
18
18
|
|
package/dist/cli/program.mjs
CHANGED
|
@@ -5,13 +5,13 @@ import "../db-CYmBWcjh.mjs";
|
|
|
5
5
|
import "../helpers-crDEr6S2.mjs";
|
|
6
6
|
import "../sync--BoxBBok.mjs";
|
|
7
7
|
import "../embeddings-Bn86ssxR.mjs";
|
|
8
|
-
import "../search-
|
|
9
|
-
import { A as registerProjectsCommands, C as registerRestoreCommands, D as registerIdentityCommands, E as registerMcpCommands, M as resolveIdentifier, O as registerMemoryCommands, S as registerSetupCommand, T as registerDaemonCommands, _ as registerUpdateCommand, a as cmdEnd, b as registerZettelCommands, c as cmdGoto, d as registerHelpCommand, f as registerDbCommands, g as registerNotifyCommands, h as registerTaskCommands, i as cmdPauseAll, j as findMovedPath, k as registerRegistryCommands, l as cmdPause, m as registerTopicCommands, n as cmdFind, o as registerSessionCleanupCommand, p as registerKgCommands, r as cmdClearNames, s as registerSessionCommands, t as cmdPick, u as cmdList, v as registerSkillCommands, w as registerBackupCommands, x as registerObsidianCommands, y as registerObservationCommands } from "../pick-
|
|
8
|
+
import "../search-C32zQ0V0.mjs";
|
|
9
|
+
import { A as registerProjectsCommands, C as registerRestoreCommands, D as registerIdentityCommands, E as registerMcpCommands, M as resolveIdentifier, O as registerMemoryCommands, S as registerSetupCommand, T as registerDaemonCommands, _ as registerUpdateCommand, a as cmdEnd, b as registerZettelCommands, c as cmdGoto, d as registerHelpCommand, f as registerDbCommands, g as registerNotifyCommands, h as registerTaskCommands, i as cmdPauseAll, j as findMovedPath, k as registerRegistryCommands, l as cmdPause, m as registerTopicCommands, n as cmdFind, o as registerSessionCleanupCommand, p as registerKgCommands, r as cmdClearNames, s as registerSessionCommands, t as cmdPick, u as cmdList, v as registerSkillCommands, w as registerBackupCommands, x as registerObsidianCommands, y as registerObservationCommands } from "../pick-BBb6PiKa.mjs";
|
|
10
10
|
import "../checkpoint-block-DYq9RmMU.mjs";
|
|
11
11
|
import "../indexer-AEcT8wHf.mjs";
|
|
12
12
|
import "../ipc-client-aVKVERjJ.mjs";
|
|
13
13
|
import "../config-CcdkNSWa.mjs";
|
|
14
|
-
import "../factory-
|
|
14
|
+
import "../factory-hmDHxTaJ.mjs";
|
|
15
15
|
import { t as cmdMain } from "../main-resolver-DjyUDJrv.mjs";
|
|
16
16
|
import { existsSync, readFileSync } from "node:fs";
|
|
17
17
|
import { basename, dirname, join } from "node:path";
|
package/dist/daemon/index.mjs
CHANGED
|
@@ -6,18 +6,18 @@ import "../db-CYmBWcjh.mjs";
|
|
|
6
6
|
import "../helpers-crDEr6S2.mjs";
|
|
7
7
|
import "../sync--BoxBBok.mjs";
|
|
8
8
|
import "../embeddings-Bn86ssxR.mjs";
|
|
9
|
-
import "../search-
|
|
9
|
+
import "../search-C32zQ0V0.mjs";
|
|
10
10
|
import "../checkpoint-block-DYq9RmMU.mjs";
|
|
11
11
|
import "../indexer-AEcT8wHf.mjs";
|
|
12
12
|
import { t as PaiClient } from "../ipc-client-aVKVERjJ.mjs";
|
|
13
13
|
import { i as ensureConfigDir, o as loadConfig } from "../config-CcdkNSWa.mjs";
|
|
14
|
-
import "../factory-
|
|
15
|
-
import { n as serve } from "../daemon-
|
|
14
|
+
import "../factory-hmDHxTaJ.mjs";
|
|
15
|
+
import { n as serve } from "../daemon-BhbX7XHt.mjs";
|
|
16
16
|
import "../state-DTvy-jRB.mjs";
|
|
17
17
|
import "../router-i9S19Usg.mjs";
|
|
18
|
-
import "../tools-
|
|
19
|
-
import "../detector-
|
|
20
|
-
import "../work-queue-worker-
|
|
18
|
+
import "../tools-B3BP_zjZ.mjs";
|
|
19
|
+
import "../detector-BU-bsDXs.mjs";
|
|
20
|
+
import "../work-queue-worker-CGMXpO_4.mjs";
|
|
21
21
|
import { Command } from "commander";
|
|
22
22
|
|
|
23
23
|
//#region src/daemon/index.ts
|
|
@@ -5,12 +5,12 @@ import { d as sha256 } from "./helpers-crDEr6S2.mjs";
|
|
|
5
5
|
import { n as indexAll } from "./sync--BoxBBok.mjs";
|
|
6
6
|
import { t as configureEmbeddingModel } from "./embeddings-Bn86ssxR.mjs";
|
|
7
7
|
import { l as DEFAULT_NOTIFICATION_CONFIG, n as CONFIG_FILE, t as CONFIG_DIR } from "./config-CcdkNSWa.mjs";
|
|
8
|
-
import { r as getBackendOutage, t as createStorageBackend } from "./factory-
|
|
8
|
+
import { r as getBackendOutage, t as createStorageBackend } from "./factory-hmDHxTaJ.mjs";
|
|
9
9
|
import { C as setStorageBackend, E as startTime, O as storageBackend, S as setStartTime, T as shutdownRequested, _ as setLastIndexTime, a as indexSchedulerTimer, b as setRegistryDb, c as lastVaultIndexTime, d as setDaemonConfig, f as setEmbedInProgress, g as setLastEmbedTime, h as setIndexSchedulerTimer, i as indexInProgress, k as vaultIndexInProgress, l as notificationConfig, m as setIndexInProgress, n as embedInProgress, o as lastEmbedTime, p as setEmbedSchedulerTimer, r as embedSchedulerTimer, s as lastIndexTime, t as daemonConfig, u as registryDb, v as setLastVaultIndexTime, w as setVaultIndexInProgress, x as setShutdownRequested, y as setNotificationConfig } from "./state-DTvy-jRB.mjs";
|
|
10
10
|
import { t as routeNotification } from "./router-i9S19Usg.mjs";
|
|
11
|
-
import { a as toolMemoryWakeup, c as toolSessionRoute, d as toolProjectInfo, f as toolProjectList, h as toolMemorySearch, i as toolMemoryTaxonomy, l as toolProjectDetect, m as toolMemoryGet, n as toolMemoryKgSearch, o as toolRegistrySearch, p as toolProjectTodo, r as toolMemoryFeedback, s as toolSessionList, u as toolProjectHealth } from "./tools-
|
|
12
|
-
import { t as detectTopicShift } from "./detector-
|
|
13
|
-
import { a as enqueue, n as startWorker, o as getStats, r as stopWorker, s as loadQueue, t as notifyNewWork } from "./work-queue-worker-
|
|
11
|
+
import { a as toolMemoryWakeup, c as toolSessionRoute, d as toolProjectInfo, f as toolProjectList, h as toolMemorySearch, i as toolMemoryTaxonomy, l as toolProjectDetect, m as toolMemoryGet, n as toolMemoryKgSearch, o as toolRegistrySearch, p as toolProjectTodo, r as toolMemoryFeedback, s as toolSessionList, u as toolProjectHealth } from "./tools-B3BP_zjZ.mjs";
|
|
12
|
+
import { t as detectTopicShift } from "./detector-BU-bsDXs.mjs";
|
|
13
|
+
import { a as enqueue, n as startWorker, o as getStats, r as stopWorker, s as loadQueue, t as notifyNewWork } from "./work-queue-worker-CGMXpO_4.mjs";
|
|
14
14
|
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
15
15
|
import { setPriority } from "node:os";
|
|
16
16
|
import { connect, createServer } from "node:net";
|
|
@@ -111,7 +111,7 @@ async function runIndex() {
|
|
|
111
111
|
try {
|
|
112
112
|
process.stderr.write("[pai-daemon] Starting scheduled index run...\n");
|
|
113
113
|
if (storageBackend.backendType === "sqlite") {
|
|
114
|
-
const { SQLiteBackend } = await import("./sqlite
|
|
114
|
+
const { SQLiteBackend } = await import("./sqlite-Cs_PXpyt.mjs");
|
|
115
115
|
if (storageBackend instanceof SQLiteBackend) {
|
|
116
116
|
const { projects, result } = await indexAll(storageBackend.getRawDb(), registryDb);
|
|
117
117
|
const elapsed = Date.now() - t0;
|
|
@@ -210,7 +210,7 @@ async function runEmbed() {
|
|
|
210
210
|
const count = await embedChunksWithBackend(storageBackend, () => shutdownRequested, projectNames, { maxMillis: 24e4 });
|
|
211
211
|
let vaultEmbedCount = 0;
|
|
212
212
|
if (daemonConfig.vaultPath) try {
|
|
213
|
-
const { SQLiteBackend } = await import("./sqlite
|
|
213
|
+
const { SQLiteBackend } = await import("./sqlite-Cs_PXpyt.mjs");
|
|
214
214
|
const { openFederation } = await import("./db-CYmBWcjh.mjs").then((n) => n.t);
|
|
215
215
|
const federationDb = openFederation();
|
|
216
216
|
const vaultSqliteBackend = new SQLiteBackend(federationDb);
|
|
@@ -265,12 +265,12 @@ const REGISTRY_SCAN_STARTUP_DELAY_MS = 1e4;
|
|
|
265
265
|
function startRegistryScanScheduler() {
|
|
266
266
|
process.stderr.write("[pai-daemon] Registry scan scheduler: every 30min (first in 10s)\n");
|
|
267
267
|
setTimeout(() => {
|
|
268
|
-
import("./work-queue-worker-
|
|
268
|
+
import("./work-queue-worker-CGMXpO_4.mjs").then((n) => n.i).then(({ enqueueRegistryScan }) => enqueueRegistryScan()).catch((e) => {
|
|
269
269
|
process.stderr.write(`[pai-daemon] Startup registry scan error: ${e}\n`);
|
|
270
270
|
});
|
|
271
271
|
}, REGISTRY_SCAN_STARTUP_DELAY_MS);
|
|
272
272
|
const timer = setInterval(() => {
|
|
273
|
-
import("./work-queue-worker-
|
|
273
|
+
import("./work-queue-worker-CGMXpO_4.mjs").then((n) => n.i).then(({ enqueueRegistryScan }) => enqueueRegistryScan()).catch((e) => {
|
|
274
274
|
process.stderr.write(`[pai-daemon] Scheduled registry scan error: ${e}\n`);
|
|
275
275
|
});
|
|
276
276
|
}, REGISTRY_SCAN_INTERVAL_MS);
|
|
@@ -580,7 +580,7 @@ async function dispatchTool(method, params) {
|
|
|
580
580
|
case "zettel_themes":
|
|
581
581
|
case "zettel_god_notes":
|
|
582
582
|
case "zettel_communities": {
|
|
583
|
-
const { toolZettelExplore, toolZettelHealth, toolZettelSurprise, toolZettelSuggest, toolZettelConverse, toolZettelThemes, toolZettelGodNotes, toolZettelCommunities } = await import("./tools-
|
|
583
|
+
const { toolZettelExplore, toolZettelHealth, toolZettelSurprise, toolZettelSuggest, toolZettelConverse, toolZettelThemes, toolZettelGodNotes, toolZettelCommunities } = await import("./tools-B3BP_zjZ.mjs").then((n) => n.t);
|
|
584
584
|
switch (method) {
|
|
585
585
|
case "zettel_explore": return toolZettelExplore(storageBackend, p);
|
|
586
586
|
case "zettel_health": return toolZettelHealth(storageBackend, p);
|
|
@@ -622,7 +622,7 @@ async function dispatchTool(method, params) {
|
|
|
622
622
|
case "kg_query":
|
|
623
623
|
case "kg_invalidate":
|
|
624
624
|
case "kg_contradictions": {
|
|
625
|
-
const { toolKgAdd, toolKgQuery, toolKgInvalidate, toolKgContradictions } = await import("./tools-
|
|
625
|
+
const { toolKgAdd, toolKgQuery, toolKgInvalidate, toolKgContradictions } = await import("./tools-B3BP_zjZ.mjs").then((n) => n.t);
|
|
626
626
|
const pgPool = storageBackend.getPool?.() ?? null;
|
|
627
627
|
if (!pgPool) throw new Error(`${method} requires a Postgres storage backend`);
|
|
628
628
|
switch (method) {
|
|
@@ -634,7 +634,7 @@ async function dispatchTool(method, params) {
|
|
|
634
634
|
break;
|
|
635
635
|
}
|
|
636
636
|
case "memory_tunnels": {
|
|
637
|
-
const { toolMemoryTunnels } = await import("./tools-
|
|
637
|
+
const { toolMemoryTunnels } = await import("./tools-B3BP_zjZ.mjs").then((n) => n.t);
|
|
638
638
|
return toolMemoryTunnels(registryDb, storageBackend, p);
|
|
639
639
|
}
|
|
640
640
|
case "memory_feedback": {
|
|
@@ -1353,4 +1353,4 @@ var daemon_exports = /* @__PURE__ */ __exportAll({ serve: () => serve });
|
|
|
1353
1353
|
|
|
1354
1354
|
//#endregion
|
|
1355
1355
|
export { serve as n, daemon_exports as t };
|
|
1356
|
-
//# sourceMappingURL=daemon-
|
|
1356
|
+
//# sourceMappingURL=daemon-BhbX7XHt.mjs.map
|