brainbank 0.1.3 → 0.1.5
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 +84 -1107
- package/assets/architecture.png +0 -0
- package/bin/brainbank +8 -1
- package/bin/brainbank-mcp +19 -0
- package/dist/chunk-3UIWA32X.js +3341 -0
- package/dist/chunk-3UIWA32X.js.map +1 -0
- package/dist/chunk-3YBCD6DI.js +117 -0
- package/dist/chunk-3YBCD6DI.js.map +1 -0
- package/dist/chunk-DAGVUEXL.js +258 -0
- package/dist/chunk-DAGVUEXL.js.map +1 -0
- package/dist/chunk-DMFMTOHF.js +123 -0
- package/dist/chunk-DMFMTOHF.js.map +1 -0
- package/dist/chunk-FQYKWB2Q.js +136 -0
- package/dist/chunk-FQYKWB2Q.js.map +1 -0
- package/dist/chunk-IMJJ2VEM.js +74 -0
- package/dist/chunk-IMJJ2VEM.js.map +1 -0
- package/dist/chunk-M744PCJQ.js +43 -0
- package/dist/chunk-M744PCJQ.js.map +1 -0
- package/dist/chunk-NNDY7P2R.js +211 -0
- package/dist/chunk-NNDY7P2R.js.map +1 -0
- package/dist/chunk-O3J6ZIXK.js +82 -0
- package/dist/chunk-O3J6ZIXK.js.map +1 -0
- package/dist/chunk-RDQYDLYZ.js +69 -0
- package/dist/chunk-RDQYDLYZ.js.map +1 -0
- package/dist/chunk-WCQVDF3K.js +14 -0
- package/dist/cli.js +2713 -325
- package/dist/cli.js.map +1 -1
- package/dist/haiku-pruner-5KVT5AI2.js +8 -0
- package/dist/http-server-2ZQ6I43B.js +9 -0
- package/dist/index.d.ts +1886 -626
- package/dist/index.js +319 -46
- package/dist/index.js.map +1 -1
- package/dist/local-embedding-NZQTILGV.js +8 -0
- package/dist/mcp.d.ts +2 -0
- package/dist/mcp.js +333 -0
- package/dist/mcp.js.map +1 -0
- package/dist/openai-embedding-ZP5TSUJG.js +8 -0
- package/dist/perplexity-context-embedding-GI5PHE6X.js +9 -0
- package/dist/perplexity-context-embedding-GI5PHE6X.js.map +1 -0
- package/dist/perplexity-embedding-KZRYGJRC.js +10 -0
- package/dist/perplexity-embedding-KZRYGJRC.js.map +1 -0
- package/dist/plugin-IKQ6IRSJ.js +32 -0
- package/dist/plugin-IKQ6IRSJ.js.map +1 -0
- package/dist/resolve-ASGLBNUC.js +10 -0
- package/dist/resolve-ASGLBNUC.js.map +1 -0
- package/dist/stats-tui-AD3AMYGV.js +1904 -0
- package/dist/stats-tui-AD3AMYGV.js.map +1 -0
- package/package.json +38 -53
- package/src/brainbank.ts +617 -0
- package/src/cli/commands/collection.ts +77 -0
- package/src/cli/commands/context.ts +59 -0
- package/src/cli/commands/daemon.ts +100 -0
- package/src/cli/commands/docs.ts +71 -0
- package/src/cli/commands/files.ts +69 -0
- package/src/cli/commands/help.ts +82 -0
- package/src/cli/commands/index.ts +478 -0
- package/src/cli/commands/kv.ts +140 -0
- package/src/cli/commands/mcp-export.ts +273 -0
- package/src/cli/commands/mcp.ts +6 -0
- package/src/cli/commands/query.ts +167 -0
- package/src/cli/commands/reembed.ts +30 -0
- package/src/cli/commands/reindex.ts +40 -0
- package/src/cli/commands/scan.ts +336 -0
- package/src/cli/commands/search.ts +203 -0
- package/src/cli/commands/stats.ts +68 -0
- package/src/cli/commands/status.ts +47 -0
- package/src/cli/commands/watch.ts +47 -0
- package/src/cli/factory/brain-context.ts +43 -0
- package/src/cli/factory/builtin-registration.ts +87 -0
- package/src/cli/factory/config-loader.ts +77 -0
- package/src/cli/factory/index.ts +69 -0
- package/src/cli/factory/plugin-loader.ts +324 -0
- package/src/cli/index.ts +76 -0
- package/src/cli/server-client.ts +186 -0
- package/src/cli/tui/index-tui.tsx +667 -0
- package/src/cli/tui/stats-data.ts +523 -0
- package/src/cli/tui/stats-search.ts +262 -0
- package/src/cli/tui/stats-tui.tsx +1465 -0
- package/src/cli/tui/tree-scanner.ts +650 -0
- package/src/cli/utils.ts +137 -0
- package/src/config.ts +48 -0
- package/src/constants.ts +21 -0
- package/src/db/adapter.ts +112 -0
- package/src/db/metadata.ts +130 -0
- package/src/db/migrations.ts +66 -0
- package/src/db/sqlite-adapter.ts +218 -0
- package/src/db/tracker.ts +91 -0
- package/src/engine/index-api.ts +81 -0
- package/src/engine/reembed.ts +206 -0
- package/src/engine/search-api.ts +218 -0
- package/src/index.ts +150 -0
- package/src/lib/fts.ts +57 -0
- package/src/lib/languages.ts +179 -0
- package/src/lib/logger.ts +126 -0
- package/src/lib/math.ts +87 -0
- package/src/lib/provider-key.ts +20 -0
- package/src/lib/prune.ts +72 -0
- package/src/lib/rrf.ts +133 -0
- package/src/lib/write-lock.ts +108 -0
- package/src/mcp/mcp-server.ts +192 -0
- package/src/mcp/workspace-factory.ts +68 -0
- package/src/mcp/workspace-pool.ts +224 -0
- package/src/plugin.ts +381 -0
- package/src/providers/embeddings/embedding-worker-thread.ts +95 -0
- package/src/providers/embeddings/embedding-worker.ts +141 -0
- package/src/providers/embeddings/local-embedding.ts +115 -0
- package/src/providers/embeddings/openai-embedding.ts +167 -0
- package/src/providers/embeddings/perplexity-context-embedding.ts +195 -0
- package/src/providers/embeddings/perplexity-embedding.ts +165 -0
- package/src/providers/embeddings/resolve.ts +34 -0
- package/src/providers/pruners/haiku-expander.ts +178 -0
- package/src/providers/pruners/haiku-pruner.ts +263 -0
- package/src/providers/vector/hnsw-index.ts +174 -0
- package/src/providers/vector/hnsw-loader.ts +129 -0
- package/src/search/bm25-boost.ts +76 -0
- package/src/search/context-builder.ts +209 -0
- package/src/search/keyword/composite-bm25-search.ts +47 -0
- package/src/search/query-decomposer.ts +124 -0
- package/src/search/types.ts +37 -0
- package/src/search/vector/composite-vector-search.ts +105 -0
- package/src/search/vector/mmr.ts +64 -0
- package/src/services/collection.ts +384 -0
- package/src/services/daemon.ts +87 -0
- package/src/services/http-server.ts +344 -0
- package/src/services/kv-service.ts +64 -0
- package/src/services/plugin-registry.ts +77 -0
- package/src/services/watch.ts +340 -0
- package/src/services/webhook-server.ts +100 -0
- package/src/types.ts +509 -0
- package/dist/chunk-2P3EGY6S.js +0 -37
- package/dist/chunk-2P3EGY6S.js.map +0 -1
- package/dist/chunk-3GAIDXRW.js +0 -105
- package/dist/chunk-3GAIDXRW.js.map +0 -1
- package/dist/chunk-4ZKBQ33J.js +0 -56
- package/dist/chunk-4ZKBQ33J.js.map +0 -1
- package/dist/chunk-7QVYU63E.js +0 -7
- package/dist/chunk-GOUBW7UA.js +0 -373
- package/dist/chunk-GOUBW7UA.js.map +0 -1
- package/dist/chunk-MJ3Y24H6.js +0 -185
- package/dist/chunk-MJ3Y24H6.js.map +0 -1
- package/dist/chunk-N6ZMBFDE.js +0 -224
- package/dist/chunk-N6ZMBFDE.js.map +0 -1
- package/dist/chunk-RAEBYV75.js +0 -709
- package/dist/chunk-RAEBYV75.js.map +0 -1
- package/dist/chunk-TW5NTYYZ.js +0 -2066
- package/dist/chunk-TW5NTYYZ.js.map +0 -1
- package/dist/chunk-Z5SU54HP.js +0 -171
- package/dist/chunk-Z5SU54HP.js.map +0 -1
- package/dist/code.d.ts +0 -31
- package/dist/code.js +0 -8
- package/dist/docs.d.ts +0 -19
- package/dist/docs.js +0 -8
- package/dist/git.d.ts +0 -31
- package/dist/git.js +0 -8
- package/dist/memory.d.ts +0 -19
- package/dist/memory.js +0 -146
- package/dist/memory.js.map +0 -1
- package/dist/notes.d.ts +0 -19
- package/dist/notes.js +0 -57
- package/dist/notes.js.map +0 -1
- package/dist/openai-PCTYLOWI.js +0 -8
- package/dist/types-Da_zLLOl.d.ts +0 -474
- /package/dist/{chunk-7QVYU63E.js.map → chunk-WCQVDF3K.js.map} +0 -0
- /package/dist/{code.js.map → haiku-pruner-5KVT5AI2.js.map} +0 -0
- /package/dist/{docs.js.map → http-server-2ZQ6I43B.js.map} +0 -0
- /package/dist/{git.js.map → local-embedding-NZQTILGV.js.map} +0 -0
- /package/dist/{openai-PCTYLOWI.js.map → openai-embedding-ZP5TSUJG.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/providers/embeddings/local-embedding.ts"],"sourcesContent":["/**\n * BrainBank — Local Embedding Provider\n * \n * Uses @xenova/transformers with all-MiniLM-L6-v2 (384 dims, WASM).\n * Downloads ~23MB on first use, cached locally.\n * No external API calls — runs entirely in-process.\n */\n\nimport type { EmbeddingProvider } from '@/types.ts';\n\n/** Minimal interface for @xenova/transformers pipeline results. */\ninterface XenovaPipelineOutput {\n data: Float32Array;\n}\n\n/** Callable pipeline returned by @xenova/transformers. */\ninterface XenovaPipeline {\n (texts: string | string[], options: { pooling: string; normalize: boolean }): Promise<XenovaPipelineOutput>;\n}\n\n/** Configuration environment of @xenova/transformers. */\ninterface XenovaEnv {\n cacheDir: string;\n allowLocalModels: boolean;\n}\n\n/** Shape of the @xenova/transformers module used here. */\ninterface XenovaModule {\n pipeline(task: string, model: string, options?: { quantized?: boolean }): Promise<XenovaPipeline>;\n env: XenovaEnv;\n}\n\nexport class LocalEmbedding implements EmbeddingProvider {\n readonly dims: number = 384;\n\n private _pipeline: XenovaPipeline | null = null;\n private _modelName: string;\n private _cacheDir: string;\n\n constructor(options: { model?: string; cacheDir?: string } = {}) {\n this._modelName = options.model ?? 'Xenova/all-MiniLM-L6-v2';\n this._cacheDir = options.cacheDir ?? '.model-cache';\n }\n\n private _pipelinePromise: Promise<XenovaPipeline> | null = null;\n\n /**\n * Lazy-load the transformer pipeline.\n * Singleton — created once and reused.\n * Promise-deduped to prevent concurrent downloads.\n */\n private async _getPipeline(): Promise<XenovaPipeline> {\n if (this._pipeline) return this._pipeline;\n if (this._pipelinePromise) return this._pipelinePromise;\n\n this._pipelinePromise = (async () => {\n const mod = await import(/* webpackIgnore: true */ '@xenova/transformers' as string) as XenovaModule;\n const { pipeline, env } = mod;\n env.cacheDir = this._cacheDir;\n env.allowLocalModels = true;\n\n this._pipeline = await pipeline('feature-extraction', this._modelName, {\n quantized: true,\n });\n\n return this._pipeline!;\n })();\n\n try {\n return await this._pipelinePromise;\n } finally {\n this._pipelinePromise = null;\n }\n }\n\n /**\n * Embed a single text string.\n * Returns a normalized Float32Array of length 384.\n */\n async embed(text: string): Promise<Float32Array> {\n const pipe = await this._getPipeline();\n const output = await pipe(text, { pooling: 'mean', normalize: true });\n return output.data as Float32Array;\n }\n\n /**\n * Embed multiple texts using real batch processing.\n * Chunks into groups of BATCH_SIZE to balance throughput vs memory.\n */\n async embedBatch(texts: string[]): Promise<Float32Array[]> {\n if (texts.length === 0) return [];\n\n const BATCH_SIZE = 32;\n const pipe = await this._getPipeline();\n const results: Float32Array[] = [];\n\n for (let i = 0; i < texts.length; i += BATCH_SIZE) {\n const batch = texts.slice(i, i + BATCH_SIZE);\n const output = await pipe(batch, { pooling: 'mean', normalize: true });\n\n // output.data is a flat Float32Array — must copy, not view,\n // because the pipeline may reuse the underlying buffer\n for (let j = 0; j < batch.length; j++) {\n const start = j * this.dims;\n results.push(output.data.slice(start, start + this.dims) as Float32Array);\n }\n }\n\n return results;\n }\n\n async close(): Promise<void> {\n this._pipeline = null;\n }\n}\n"],"mappings":";;;;;AAgCO,IAAM,iBAAN,MAAkD;AAAA,EAhCzD,OAgCyD;AAAA;AAAA;AAAA,EAC5C,OAAe;AAAA,EAEhB,YAAmC;AAAA,EACnC;AAAA,EACA;AAAA,EAER,YAAY,UAAiD,CAAC,GAAG;AAC7D,SAAK,aAAa,QAAQ,SAAS;AACnC,SAAK,YAAY,QAAQ,YAAY;AAAA,EACzC;AAAA,EAEQ,mBAAmD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3D,MAAc,eAAwC;AAClD,QAAI,KAAK,UAAW,QAAO,KAAK;AAChC,QAAI,KAAK,iBAAkB,QAAO,KAAK;AAEvC,SAAK,oBAAoB,YAAY;AACjC,YAAM,MAAM,MAAM;AAAA;AAAA,QAAiC;AAAA,MAAgC;AACnF,YAAM,EAAE,UAAU,IAAI,IAAI;AAC1B,UAAI,WAAW,KAAK;AACpB,UAAI,mBAAmB;AAEvB,WAAK,YAAY,MAAM,SAAS,sBAAsB,KAAK,YAAY;AAAA,QACnE,WAAW;AAAA,MACf,CAAC;AAED,aAAO,KAAK;AAAA,IAChB,GAAG;AAEH,QAAI;AACA,aAAO,MAAM,KAAK;AAAA,IACtB,UAAE;AACE,WAAK,mBAAmB;AAAA,IAC5B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,MAAM,MAAqC;AAC7C,UAAM,OAAO,MAAM,KAAK,aAAa;AACrC,UAAM,SAAS,MAAM,KAAK,MAAM,EAAE,SAAS,QAAQ,WAAW,KAAK,CAAC;AACpE,WAAO,OAAO;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,WAAW,OAA0C;AACvD,QAAI,MAAM,WAAW,EAAG,QAAO,CAAC;AAEhC,UAAM,aAAa;AACnB,UAAM,OAAO,MAAM,KAAK,aAAa;AACrC,UAAM,UAA0B,CAAC;AAEjC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,YAAY;AAC/C,YAAM,QAAQ,MAAM,MAAM,GAAG,IAAI,UAAU;AAC3C,YAAM,SAAS,MAAM,KAAK,OAAO,EAAE,SAAS,QAAQ,WAAW,KAAK,CAAC;AAIrE,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACnC,cAAM,QAAQ,IAAI,KAAK;AACvB,gBAAQ,KAAK,OAAO,KAAK,MAAM,OAAO,QAAQ,KAAK,IAAI,CAAiB;AAAA,MAC5E;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAuB;AACzB,SAAK,YAAY;AAAA,EACrB;AACJ;","names":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__name
|
|
3
|
+
} from "./chunk-WCQVDF3K.js";
|
|
4
|
+
|
|
5
|
+
// src/services/daemon.ts
|
|
6
|
+
import * as fs from "fs";
|
|
7
|
+
import * as path from "path";
|
|
8
|
+
import * as os from "os";
|
|
9
|
+
var DEFAULT_PORT = 8181;
|
|
10
|
+
function cacheDir() {
|
|
11
|
+
return path.join(os.homedir(), ".cache", "brainbank");
|
|
12
|
+
}
|
|
13
|
+
__name(cacheDir, "cacheDir");
|
|
14
|
+
function pidPath() {
|
|
15
|
+
return path.join(cacheDir(), "server.pid");
|
|
16
|
+
}
|
|
17
|
+
__name(pidPath, "pidPath");
|
|
18
|
+
function writePid(pid, port) {
|
|
19
|
+
const dir = cacheDir();
|
|
20
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
21
|
+
fs.writeFileSync(pidPath(), JSON.stringify({ pid, port }));
|
|
22
|
+
}
|
|
23
|
+
__name(writePid, "writePid");
|
|
24
|
+
function readPid() {
|
|
25
|
+
try {
|
|
26
|
+
const raw = fs.readFileSync(pidPath(), "utf8");
|
|
27
|
+
const info = JSON.parse(raw);
|
|
28
|
+
if (typeof info.pid !== "number" || typeof info.port !== "number") return null;
|
|
29
|
+
return info;
|
|
30
|
+
} catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
__name(readPid, "readPid");
|
|
35
|
+
function removePid() {
|
|
36
|
+
try {
|
|
37
|
+
fs.unlinkSync(pidPath());
|
|
38
|
+
} catch {
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
__name(removePid, "removePid");
|
|
42
|
+
function isServerRunning() {
|
|
43
|
+
const info = readPid();
|
|
44
|
+
if (!info) return null;
|
|
45
|
+
try {
|
|
46
|
+
process.kill(info.pid, 0);
|
|
47
|
+
return info;
|
|
48
|
+
} catch {
|
|
49
|
+
removePid();
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
__name(isServerRunning, "isServerRunning");
|
|
54
|
+
function getServerUrl() {
|
|
55
|
+
const info = isServerRunning();
|
|
56
|
+
if (!info) return null;
|
|
57
|
+
return `http://localhost:${info.port}`;
|
|
58
|
+
}
|
|
59
|
+
__name(getServerUrl, "getServerUrl");
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
DEFAULT_PORT,
|
|
63
|
+
writePid,
|
|
64
|
+
readPid,
|
|
65
|
+
removePid,
|
|
66
|
+
isServerRunning,
|
|
67
|
+
getServerUrl
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=chunk-RDQYDLYZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/services/daemon.ts"],"sourcesContent":["/**\n * Daemon — PID file management for the BrainBank HTTP server.\n *\n * PID file: ~/.cache/brainbank/server.pid\n * Format: JSON { pid: number, port: number }\n *\n * Used by:\n * - `brainbank daemon` to write PID on start\n * - `brainbank daemon stop` to find and kill the daemon\n * - `brainbank status` to report server state\n * - CLI commands to detect running server for delegation\n */\n\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport * as os from 'node:os';\n\nexport const DEFAULT_PORT = 8181;\n\ninterface PidInfo {\n pid: number;\n port: number;\n}\n\n/** Directory for PID file and other cache data. */\nfunction cacheDir(): string {\n return path.join(os.homedir(), '.cache', 'brainbank');\n}\n\n/** Full path to the PID file. */\nfunction pidPath(): string {\n return path.join(cacheDir(), 'server.pid');\n}\n\n/** Write the PID file after server starts. */\nexport function writePid(pid: number, port: number): void {\n const dir = cacheDir();\n fs.mkdirSync(dir, { recursive: true });\n fs.writeFileSync(pidPath(), JSON.stringify({ pid, port } as PidInfo));\n}\n\n/** Read PID info from file. Returns null if missing or malformed. */\nexport function readPid(): PidInfo | null {\n try {\n const raw = fs.readFileSync(pidPath(), 'utf8');\n const info = JSON.parse(raw) as PidInfo;\n if (typeof info.pid !== 'number' || typeof info.port !== 'number') return null;\n return info;\n } catch {\n return null;\n }\n}\n\n/** Remove the PID file. */\nexport function removePid(): void {\n try {\n fs.unlinkSync(pidPath());\n } catch {\n // File doesn't exist — safe to ignore\n }\n}\n\n/**\n * Check if the server process is still alive.\n * Uses `kill(pid, 0)` which doesn't actually send a signal —\n * it just checks whether the process exists.\n */\nexport function isServerRunning(): PidInfo | null {\n const info = readPid();\n if (!info) return null;\n\n try {\n process.kill(info.pid, 0);\n return info;\n } catch {\n // Process not running — stale PID file\n removePid();\n return null;\n }\n}\n\n/** Get the server URL if running, or null. */\nexport function getServerUrl(): string | null {\n const info = isServerRunning();\n if (!info) return null;\n return `http://localhost:${info.port}`;\n}\n"],"mappings":";;;;;AAaA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,QAAQ;AAEb,IAAM,eAAe;AAQ5B,SAAS,WAAmB;AACxB,SAAY,UAAQ,WAAQ,GAAG,UAAU,WAAW;AACxD;AAFS;AAKT,SAAS,UAAkB;AACvB,SAAY,UAAK,SAAS,GAAG,YAAY;AAC7C;AAFS;AAKF,SAAS,SAAS,KAAa,MAAoB;AACtD,QAAM,MAAM,SAAS;AACrB,EAAG,aAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AACrC,EAAG,iBAAc,QAAQ,GAAG,KAAK,UAAU,EAAE,KAAK,KAAK,CAAY,CAAC;AACxE;AAJgB;AAOT,SAAS,UAA0B;AACtC,MAAI;AACA,UAAM,MAAS,gBAAa,QAAQ,GAAG,MAAM;AAC7C,UAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,QAAI,OAAO,KAAK,QAAQ,YAAY,OAAO,KAAK,SAAS,SAAU,QAAO;AAC1E,WAAO;AAAA,EACX,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AATgB;AAYT,SAAS,YAAkB;AAC9B,MAAI;AACA,IAAG,cAAW,QAAQ,CAAC;AAAA,EAC3B,QAAQ;AAAA,EAER;AACJ;AANgB;AAaT,SAAS,kBAAkC;AAC9C,QAAM,OAAO,QAAQ;AACrB,MAAI,CAAC,KAAM,QAAO;AAElB,MAAI;AACA,YAAQ,KAAK,KAAK,KAAK,CAAC;AACxB,WAAO;AAAA,EACX,QAAQ;AAEJ,cAAU;AACV,WAAO;AAAA,EACX;AACJ;AAZgB;AAeT,SAAS,eAA8B;AAC1C,QAAM,OAAO,gBAAgB;AAC7B,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,oBAAoB,KAAK,IAAI;AACxC;AAJgB;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
4
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
5
|
+
}) : x)(function(x) {
|
|
6
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
7
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
__name,
|
|
12
|
+
__require
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=chunk-WCQVDF3K.js.map
|