@hasna/search 0.0.9 → 0.0.10
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/cli/index.js
CHANGED
|
@@ -7411,7 +7411,7 @@ var init_pg_migrate = __esm(() => {
|
|
|
7411
7411
|
var require_package = __commonJS((exports, module) => {
|
|
7412
7412
|
module.exports = {
|
|
7413
7413
|
name: "@hasna/search",
|
|
7414
|
-
version: "0.0.
|
|
7414
|
+
version: "0.0.10",
|
|
7415
7415
|
description: "Unified search \u2014 local file index (find files by name/path/content/regex in ms, trigram FTS) + 12 web providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
|
|
7416
7416
|
type: "module",
|
|
7417
7417
|
main: "dist/index.js",
|
|
@@ -54,4 +54,9 @@ export declare function indexAllRoots(opts?: {
|
|
|
54
54
|
export declare function refreshStaleRoots(staleMinutes: number, db?: Database): IndexStats[];
|
|
55
55
|
/** Refresh stale roots according to the user's config (called before local searches). */
|
|
56
56
|
export declare function autoRefreshStaleRoots(db?: Database): IndexStats[];
|
|
57
|
+
/**
|
|
58
|
+
* Keep the index warm from long-running processes (search-serve, search-mcp)
|
|
59
|
+
* so interactive `find` calls rarely pay the stale-refresh cost themselves.
|
|
60
|
+
*/
|
|
61
|
+
export declare function startBackgroundRefresh(): ReturnType<typeof setInterval>;
|
|
57
62
|
//# sourceMappingURL=indexer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../../src/lib/local/indexer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AA0CD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,EAAE,CAIpD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAWpE;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAInD;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,EACjG,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,CA4CX;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAiBnE;AAYD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,EAC9B,EAAE,CAAC,EAAE,QAAQ,GACZ,UAAU,CA6GZ;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,CAEzF;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,CAoBnF;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,CAIjE"}
|
|
1
|
+
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../../src/lib/local/indexer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAe3C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AA0CD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,EAAE,CAIpD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAWpE;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAInD;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,EACjG,EAAE,CAAC,EAAE,QAAQ,GACZ,SAAS,CA4CX;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAiBnE;AAYD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,EAC9B,EAAE,CAAC,EAAE,QAAQ,GACZ,UAAU,CA6GZ;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,CAEzF;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,CAoBnF;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,CAIjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,CAAC,OAAO,WAAW,CAAC,CAWvE"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -11644,7 +11644,7 @@ var require_lib2 = __commonJS((exports, module) => {
|
|
|
11644
11644
|
var require_package = __commonJS((exports, module) => {
|
|
11645
11645
|
module.exports = {
|
|
11646
11646
|
name: "@hasna/search",
|
|
11647
|
-
version: "0.0.
|
|
11647
|
+
version: "0.0.10",
|
|
11648
11648
|
description: "Unified search \u2014 local file index (find files by name/path/content/regex in ms, trigram FTS) + 12 web providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
|
|
11649
11649
|
type: "module",
|
|
11650
11650
|
main: "dist/index.js",
|
|
@@ -26098,6 +26098,18 @@ function autoRefreshStaleRoots(db) {
|
|
|
26098
26098
|
return [];
|
|
26099
26099
|
return refreshStaleRoots(config2.indexStaleMinutes, db);
|
|
26100
26100
|
}
|
|
26101
|
+
function startBackgroundRefresh() {
|
|
26102
|
+
const minutes = Math.max(1, getConfig().indexStaleMinutes);
|
|
26103
|
+
const timer = setInterval(() => {
|
|
26104
|
+
try {
|
|
26105
|
+
autoRefreshStaleRoots();
|
|
26106
|
+
} catch (err) {
|
|
26107
|
+
console.error("Index refresh failed:", err);
|
|
26108
|
+
}
|
|
26109
|
+
}, minutes * 60000);
|
|
26110
|
+
timer.unref?.();
|
|
26111
|
+
return timer;
|
|
26112
|
+
}
|
|
26101
26113
|
|
|
26102
26114
|
// src/lib/local/query.ts
|
|
26103
26115
|
import { existsSync as existsSync2, readFileSync as readFileSync4 } from "fs";
|
|
@@ -29537,6 +29549,7 @@ if (handleCliFlags(argv)) {
|
|
|
29537
29549
|
process.exit(0);
|
|
29538
29550
|
}
|
|
29539
29551
|
async function main() {
|
|
29552
|
+
startBackgroundRefresh();
|
|
29540
29553
|
if (isHttpMode(argv)) {
|
|
29541
29554
|
startMcpHttpServer({ port: resolveMcpHttpPort(argv) });
|
|
29542
29555
|
return;
|
package/dist/server/index.js
CHANGED
|
@@ -11644,7 +11644,7 @@ var require_lib2 = __commonJS((exports, module) => {
|
|
|
11644
11644
|
var require_package = __commonJS((exports, module) => {
|
|
11645
11645
|
module.exports = {
|
|
11646
11646
|
name: "@hasna/search",
|
|
11647
|
-
version: "0.0.
|
|
11647
|
+
version: "0.0.10",
|
|
11648
11648
|
description: "Unified search \u2014 local file index (find files by name/path/content/regex in ms, trigram FTS) + 12 web providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
|
|
11649
11649
|
type: "module",
|
|
11650
11650
|
main: "dist/index.js",
|
|
@@ -17112,6 +17112,18 @@ function autoRefreshStaleRoots(db) {
|
|
|
17112
17112
|
return [];
|
|
17113
17113
|
return refreshStaleRoots(config.indexStaleMinutes, db);
|
|
17114
17114
|
}
|
|
17115
|
+
function startBackgroundRefresh() {
|
|
17116
|
+
const minutes = Math.max(1, getConfig().indexStaleMinutes);
|
|
17117
|
+
const timer = setInterval(() => {
|
|
17118
|
+
try {
|
|
17119
|
+
autoRefreshStaleRoots();
|
|
17120
|
+
} catch (err) {
|
|
17121
|
+
console.error("Index refresh failed:", err);
|
|
17122
|
+
}
|
|
17123
|
+
}, minutes * 60000);
|
|
17124
|
+
timer.unref?.();
|
|
17125
|
+
return timer;
|
|
17126
|
+
}
|
|
17115
17127
|
|
|
17116
17128
|
// src/lib/local/query.ts
|
|
17117
17129
|
import { existsSync as existsSync2, readFileSync as readFileSync4 } from "fs";
|
|
@@ -29284,14 +29296,7 @@ function startServer(port) {
|
|
|
29284
29296
|
}
|
|
29285
29297
|
}
|
|
29286
29298
|
});
|
|
29287
|
-
|
|
29288
|
-
setInterval(() => {
|
|
29289
|
-
try {
|
|
29290
|
-
autoRefreshStaleRoots();
|
|
29291
|
-
} catch (err2) {
|
|
29292
|
-
console.error("Index refresh failed:", err2);
|
|
29293
|
-
}
|
|
29294
|
-
}, refreshMinutes * 60000).unref?.();
|
|
29299
|
+
startBackgroundRefresh();
|
|
29295
29300
|
console.log(`open-search server running at http://localhost:${port}`);
|
|
29296
29301
|
}
|
|
29297
29302
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/server/serve.ts"],"names":[],"mappings":"AAuFA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/server/serve.ts"],"names":[],"mappings":"AAuFA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAmT9C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/search",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"description": "Unified search — local file index (find files by name/path/content/regex in ms, trigram FTS) + 12 web providers (Google, SerpAPI, Exa, Perplexity, Twitter, Reddit, YouTube, Brave, Bing, Hacker News, GitHub, arXiv) + YouTube transcription. CLI + MCP + REST API + Dashboard.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|