@hasna/search 0.0.7 → 0.0.9
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/README.md +68 -7
- package/dist/cli/index.js +10483 -12908
- package/dist/cli/local.d.ts +3 -0
- package/dist/cli/local.d.ts.map +1 -0
- package/dist/cli/storage.d.ts +3 -0
- package/dist/cli/storage.d.ts.map +1 -0
- package/dist/db/database.d.ts +1 -0
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/index-db.d.ts +6 -0
- package/dist/db/index-db.d.ts.map +1 -0
- package/dist/db/index-migrations.d.ts +3 -0
- package/dist/db/index-migrations.d.ts.map +1 -0
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/pg-migrate.d.ts +8 -0
- package/dist/db/pg-migrate.d.ts.map +1 -0
- package/dist/db/pg-migrations.d.ts +1 -1
- package/dist/db/providers.d.ts.map +1 -1
- package/dist/db/remote-storage.d.ts +12 -0
- package/dist/db/remote-storage.d.ts.map +1 -0
- package/dist/db/storage-config.d.ts +26 -0
- package/dist/db/storage-config.d.ts.map +1 -0
- package/dist/db/storage-sync.d.ts +35 -0
- package/dist/db/storage-sync.d.ts.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6850 -8733
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/dedup.d.ts.map +1 -1
- package/dist/lib/local/find.d.ts +38 -0
- package/dist/lib/local/find.d.ts.map +1 -0
- package/dist/lib/local/ignore.d.ts +38 -0
- package/dist/lib/local/ignore.d.ts.map +1 -0
- package/dist/lib/local/indexer.d.ts +57 -0
- package/dist/lib/local/indexer.d.ts.map +1 -0
- package/dist/lib/local/query.d.ts +60 -0
- package/dist/lib/local/query.d.ts.map +1 -0
- package/dist/lib/local/regex.d.ts +26 -0
- package/dist/lib/local/regex.d.ts.map +1 -0
- package/dist/lib/local/walker.d.ts +30 -0
- package/dist/lib/local/walker.d.ts.map +1 -0
- package/dist/lib/providers/content.d.ts +9 -0
- package/dist/lib/providers/content.d.ts.map +1 -0
- package/dist/lib/providers/files.d.ts +9 -0
- package/dist/lib/providers/files.d.ts.map +1 -0
- package/dist/lib/providers/index.d.ts.map +1 -1
- package/dist/lib/search.d.ts.map +1 -1
- package/dist/mcp/index.js +7520 -10144
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/storage-tools.d.ts +3 -0
- package/dist/mcp/storage-tools.d.ts.map +1 -0
- package/dist/server/index.js +13965 -16510
- package/dist/server/serve.d.ts.map +1 -1
- package/dist/storage.d.ts +7 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +5584 -0
- package/dist/types/index.d.ts +10 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +18 -5
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export declare const PROVIDER_NAMES: readonly ["google", "serpapi", "exa", "perplexity", "brave", "bing", "twitter", "reddit", "youtube", "hackernews", "github", "arxiv"];
|
|
2
|
+
export declare const PROVIDER_NAMES: readonly ["google", "serpapi", "exa", "perplexity", "brave", "bing", "twitter", "reddit", "youtube", "hackernews", "github", "arxiv", "files", "content"];
|
|
3
3
|
export type SearchProviderName = (typeof PROVIDER_NAMES)[number];
|
|
4
|
-
export declare const SearchProviderNameSchema: z.ZodEnum<["google", "serpapi", "exa", "perplexity", "brave", "bing", "twitter", "reddit", "youtube", "hackernews", "github", "arxiv"]>;
|
|
4
|
+
export declare const SearchProviderNameSchema: z.ZodEnum<["google", "serpapi", "exa", "perplexity", "brave", "bing", "twitter", "reddit", "youtube", "hackernews", "github", "arxiv", "files", "content"]>;
|
|
5
|
+
/** Providers that search the local file index instead of the web. */
|
|
6
|
+
export declare const LOCAL_PROVIDER_NAMES: ReadonlySet<SearchProviderName>;
|
|
5
7
|
export declare const EXPORT_FORMATS: readonly ["json", "csv", "md"];
|
|
6
8
|
export type ExportFormat = (typeof EXPORT_FORMATS)[number];
|
|
7
9
|
export declare const ExportFormatSchema: z.ZodEnum<["json", "csv", "md"]>;
|
|
@@ -113,6 +115,12 @@ export interface SearchConfig {
|
|
|
113
115
|
};
|
|
114
116
|
dedup: boolean;
|
|
115
117
|
maxConcurrent: number;
|
|
118
|
+
/** Re-index roots older than this many minutes before serving local results. */
|
|
119
|
+
indexStaleMinutes: number;
|
|
120
|
+
/** Automatically refresh stale index roots on local searches. */
|
|
121
|
+
indexAutoRefresh: boolean;
|
|
122
|
+
/** Persist local (files/content) results into search history. */
|
|
123
|
+
recordLocalResults: boolean;
|
|
116
124
|
}
|
|
117
125
|
export declare const DEFAULT_CONFIG: SearchConfig;
|
|
118
126
|
export interface UnifiedSearchResponse {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/search",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Unified search
|
|
3
|
+
"version": "0.0.9",
|
|
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",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./storage": {
|
|
19
|
+
"types": "./dist/storage.d.ts",
|
|
20
|
+
"import": "./dist/storage.js"
|
|
17
21
|
}
|
|
18
22
|
},
|
|
19
23
|
"files": [
|
|
@@ -22,8 +26,9 @@
|
|
|
22
26
|
"README.md"
|
|
23
27
|
],
|
|
24
28
|
"scripts": {
|
|
25
|
-
"
|
|
26
|
-
"build
|
|
29
|
+
"clean": "rm -rf dist",
|
|
30
|
+
"build": "bun run clean && cd dashboard && bun run build && cd .. && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk && bun build src/mcp/index.ts --outdir dist/mcp --target bun && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/index.ts src/storage.ts --outdir dist --target bun && tsc --emitDeclarationOnly --outDir dist",
|
|
31
|
+
"build:no-dashboard": "bun run clean && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk && bun build src/mcp/index.ts --outdir dist/mcp --target bun && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/index.ts src/storage.ts --outdir dist --target bun && tsc --emitDeclarationOnly --outDir dist",
|
|
27
32
|
"typecheck": "tsc --noEmit",
|
|
28
33
|
"test": "bun test",
|
|
29
34
|
"dev:cli": "bun run src/cli/index.tsx",
|
|
@@ -34,6 +39,13 @@
|
|
|
34
39
|
},
|
|
35
40
|
"keywords": [
|
|
36
41
|
"search",
|
|
42
|
+
"local-search",
|
|
43
|
+
"file-search",
|
|
44
|
+
"code-search",
|
|
45
|
+
"grep",
|
|
46
|
+
"trigram",
|
|
47
|
+
"fts5",
|
|
48
|
+
"indexing",
|
|
37
49
|
"meta-search",
|
|
38
50
|
"aggregator",
|
|
39
51
|
"google",
|
|
@@ -71,16 +83,17 @@
|
|
|
71
83
|
"author": "Andrei Hasna <andrei@hasna.com>",
|
|
72
84
|
"license": "Apache-2.0",
|
|
73
85
|
"dependencies": {
|
|
74
|
-
"@hasna/cloud": "^0.1.24",
|
|
75
86
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
76
87
|
"chalk": "^5.4.1",
|
|
77
88
|
"commander": "^13.1.0",
|
|
78
89
|
"ink": "^5.2.0",
|
|
90
|
+
"pg": "^8.13.3",
|
|
79
91
|
"react": "^18.3.1",
|
|
80
92
|
"zod": "^3.24.2"
|
|
81
93
|
},
|
|
82
94
|
"devDependencies": {
|
|
83
95
|
"@types/bun": "^1.2.4",
|
|
96
|
+
"@types/pg": "^8.11.11",
|
|
84
97
|
"@types/react": "^18.3.18",
|
|
85
98
|
"typescript": "^5.7.3"
|
|
86
99
|
}
|