@jcode.labs/mimir 0.2.1 → 0.4.0
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/CHANGELOG.md +47 -0
- package/CONTRIBUTING.md +28 -0
- package/README.md +307 -32
- package/SECURITY-HARDENING.md +194 -0
- package/SECURITY.md +21 -0
- package/dist/access-log.d.ts +10 -0
- package/dist/access-log.d.ts.map +1 -0
- package/dist/access-log.js +29 -0
- package/dist/access-log.js.map +1 -0
- package/dist/chunking.d.ts.map +1 -1
- package/dist/chunking.js +6 -3
- package/dist/chunking.js.map +1 -1
- package/dist/cli.js +151 -5
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +83 -20
- package/dist/config.js.map +1 -1
- package/dist/defaults.d.ts +11 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +31 -0
- package/dist/defaults.js.map +1 -0
- package/dist/destroy.d.ts +3 -0
- package/dist/destroy.d.ts.map +1 -0
- package/dist/destroy.js +16 -0
- package/dist/destroy.js.map +1 -0
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +85 -9
- package/dist/embeddings.js.map +1 -1
- package/dist/files.d.ts +2 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +40 -3
- package/dist/files.js.map +1 -1
- package/dist/gitignore.d.ts +1 -1
- package/dist/gitignore.d.ts.map +1 -1
- package/dist/gitignore.js +8 -7
- package/dist/gitignore.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/ingest.d.ts.map +1 -1
- package/dist/ingest.js +14 -2
- package/dist/ingest.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +4 -15
- package/dist/init.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +27 -15
- package/dist/mcp.js.map +1 -1
- package/dist/parsing.d.ts.map +1 -1
- package/dist/parsing.js +138 -0
- package/dist/parsing.js.map +1 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +28 -20
- package/dist/query.js.map +1 -1
- package/dist/redaction.d.ts +7 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +63 -0
- package/dist/redaction.js.map +1 -0
- package/dist/security.d.ts +3 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +84 -0
- package/dist/security.js.map +1 -0
- package/dist/skill.d.ts +2 -1
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +24 -9
- package/dist/skill.js.map +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +2 -1
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +68 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/examples/sovereign-rag-demo/.kb/config.json +22 -0
- package/examples/sovereign-rag-demo/.kb/sources.txt +2 -0
- package/examples/sovereign-rag-demo/README.md +80 -0
- package/examples/sovereign-rag-demo/raw/dataset-inventory.csv +5 -0
- package/examples/sovereign-rag-demo/raw/incident-timeline.jsonl +4 -0
- package/examples/sovereign-rag-demo/raw/operations-brief.md +16 -0
- package/examples/sovereign-rag-demo/raw/review-notes.evidence +11 -0
- package/examples/sovereign-rag-demo/raw/security-policy.yaml +14 -0
- package/package.json +28 -25
- package/skills/mimir/SKILL.md +77 -6
- package/skills/mimir-audio-summary/SKILL.md +134 -0
- package/skills/mimir-audio-summary/forge-voice.sh +153 -0
- package/skills/mimir-audio-summary/split-lines.py +13 -0
- package/skills/mimir-audio-summary/xtts-voice.py +46 -0
package/dist/config.js
CHANGED
|
@@ -2,19 +2,39 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
import { CONFIG_PATH, DEFAULT_CONFIG } from "./defaults.js";
|
|
6
|
+
const embeddingProviderSchema = z.enum(["local-hash", "transformers"]);
|
|
5
7
|
const rawConfigSchema = z.object({
|
|
6
|
-
rawDir: z.string().default(
|
|
7
|
-
storageDir: z.string().default(
|
|
8
|
-
sourcesFile: z.string().default(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
rawDir: z.string().default(DEFAULT_CONFIG.rawDir),
|
|
9
|
+
storageDir: z.string().default(DEFAULT_CONFIG.storageDir),
|
|
10
|
+
sourcesFile: z.string().default(DEFAULT_CONFIG.sourcesFile),
|
|
11
|
+
accessLogPath: z.string().default(DEFAULT_CONFIG.accessLogPath),
|
|
12
|
+
embeddingModelPath: z.string().default(DEFAULT_CONFIG.embeddingModelPath),
|
|
13
|
+
tableName: z.string().default(DEFAULT_CONFIG.tableName),
|
|
14
|
+
embeddingProvider: embeddingProviderSchema.default(DEFAULT_CONFIG.embeddingProvider),
|
|
15
|
+
embeddingModel: z.string().default(DEFAULT_CONFIG.embeddingModel),
|
|
16
|
+
transformersAllowRemoteModels: z.boolean().default(DEFAULT_CONFIG.transformersAllowRemoteModels),
|
|
17
|
+
redaction: z
|
|
18
|
+
.object({
|
|
19
|
+
enabled: z.boolean().default(DEFAULT_CONFIG.redaction.enabled),
|
|
20
|
+
builtIn: z.boolean().default(DEFAULT_CONFIG.redaction.builtIn),
|
|
21
|
+
patterns: z
|
|
22
|
+
.array(z.object({
|
|
23
|
+
name: z.string().min(1),
|
|
24
|
+
pattern: z.string().min(1),
|
|
25
|
+
flags: z.string().optional(),
|
|
26
|
+
replacement: z.string().optional(),
|
|
27
|
+
}))
|
|
28
|
+
.default(DEFAULT_CONFIG.redaction.patterns),
|
|
29
|
+
})
|
|
30
|
+
.default(DEFAULT_CONFIG.redaction),
|
|
31
|
+
accessLog: z.boolean().default(DEFAULT_CONFIG.accessLog),
|
|
32
|
+
mcpMaxTopK: z.number().int().positive().default(DEFAULT_CONFIG.mcpMaxTopK),
|
|
33
|
+
topK: z.number().int().positive().default(DEFAULT_CONFIG.topK),
|
|
34
|
+
chunkSize: z.number().int().positive().default(DEFAULT_CONFIG.chunkSize),
|
|
35
|
+
chunkOverlap: z.number().int().nonnegative().default(DEFAULT_CONFIG.chunkOverlap),
|
|
36
|
+
includeExtensions: z.array(z.string().min(1)).default(DEFAULT_CONFIG.includeExtensions),
|
|
16
37
|
});
|
|
17
|
-
const CONFIG_PATH = ".kb/config.json";
|
|
18
38
|
export function findProjectRoot(start = process.cwd()) {
|
|
19
39
|
let current = path.resolve(start);
|
|
20
40
|
while (true) {
|
|
@@ -31,9 +51,7 @@ export function findProjectRoot(start = process.cwd()) {
|
|
|
31
51
|
export async function loadConfig(start = process.cwd()) {
|
|
32
52
|
const projectRoot = findProjectRoot(start);
|
|
33
53
|
const configFile = path.join(projectRoot, CONFIG_PATH);
|
|
34
|
-
const raw = existsSync(configFile)
|
|
35
|
-
? JSON.parse(await readFile(configFile, "utf8"))
|
|
36
|
-
: {};
|
|
54
|
+
const raw = existsSync(configFile) ? JSON.parse(await readFile(configFile, "utf8")) : {};
|
|
37
55
|
const parsed = rawConfigSchema.parse(raw);
|
|
38
56
|
const withEnv = applyEnv(parsed);
|
|
39
57
|
if (withEnv.chunkOverlap >= withEnv.chunkSize) {
|
|
@@ -44,13 +62,19 @@ export async function loadConfig(start = process.cwd()) {
|
|
|
44
62
|
rawDir: resolveFromRoot(projectRoot, withEnv.rawDir),
|
|
45
63
|
storageDir: resolveFromRoot(projectRoot, withEnv.storageDir),
|
|
46
64
|
sourcesFile: resolveFromRoot(projectRoot, withEnv.sourcesFile),
|
|
65
|
+
accessLogPath: resolveFromRoot(projectRoot, withEnv.accessLogPath),
|
|
66
|
+
embeddingModelPath: resolveFromRoot(projectRoot, withEnv.embeddingModelPath),
|
|
47
67
|
tableName: withEnv.tableName,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
68
|
+
embeddingProvider: withEnv.embeddingProvider,
|
|
69
|
+
embeddingModel: withEnv.embeddingModel,
|
|
70
|
+
transformersAllowRemoteModels: withEnv.transformersAllowRemoteModels,
|
|
71
|
+
redaction: withEnv.redaction,
|
|
72
|
+
accessLog: withEnv.accessLog,
|
|
73
|
+
mcpMaxTopK: withEnv.mcpMaxTopK,
|
|
51
74
|
topK: withEnv.topK,
|
|
52
75
|
chunkSize: withEnv.chunkSize,
|
|
53
76
|
chunkOverlap: withEnv.chunkOverlap,
|
|
77
|
+
includeExtensions: normalizeExtensions(withEnv.includeExtensions),
|
|
54
78
|
};
|
|
55
79
|
}
|
|
56
80
|
function resolveFromRoot(projectRoot, input) {
|
|
@@ -62,14 +86,46 @@ function applyEnv(config) {
|
|
|
62
86
|
rawDir: process.env.KB_RAW_DIR ?? config.rawDir,
|
|
63
87
|
storageDir: process.env.KB_STORAGE_DIR ?? config.storageDir,
|
|
64
88
|
sourcesFile: process.env.KB_SOURCES_FILE ?? config.sourcesFile,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
89
|
+
accessLogPath: process.env.KB_ACCESS_LOG_PATH ?? config.accessLogPath,
|
|
90
|
+
embeddingProvider: readEmbeddingProviderEnv("KB_EMBEDDING_PROVIDER", config.embeddingProvider),
|
|
91
|
+
embeddingModel: process.env.KB_EMBEDDING_MODEL ?? config.embeddingModel,
|
|
92
|
+
embeddingModelPath: process.env.KB_EMBEDDING_MODEL_PATH ?? config.embeddingModelPath,
|
|
93
|
+
transformersAllowRemoteModels: readBooleanEnv("KB_TRANSFORMERS_ALLOW_REMOTE_MODELS", config.transformersAllowRemoteModels),
|
|
94
|
+
redaction: {
|
|
95
|
+
...config.redaction,
|
|
96
|
+
enabled: readBooleanEnv("KB_REDACTION_ENABLED", config.redaction.enabled),
|
|
97
|
+
builtIn: readBooleanEnv("KB_REDACTION_BUILT_IN", config.redaction.builtIn),
|
|
98
|
+
},
|
|
99
|
+
accessLog: readBooleanEnv("KB_ACCESS_LOG", config.accessLog),
|
|
100
|
+
mcpMaxTopK: readPositiveIntEnv("KB_MCP_MAX_TOP_K", config.mcpMaxTopK),
|
|
68
101
|
topK: readPositiveIntEnv("KB_TOP_K", config.topK),
|
|
69
102
|
chunkSize: readPositiveIntEnv("KB_CHUNK_SIZE", config.chunkSize),
|
|
70
103
|
chunkOverlap: readNonNegativeIntEnv("KB_CHUNK_OVERLAP", config.chunkOverlap),
|
|
104
|
+
includeExtensions: readExtensionsEnv("KB_INCLUDE_EXTENSIONS", config.includeExtensions),
|
|
71
105
|
};
|
|
72
106
|
}
|
|
107
|
+
function normalizeExtensions(extensions) {
|
|
108
|
+
return [
|
|
109
|
+
...new Set(extensions
|
|
110
|
+
.map((extension) => extension.trim().toLowerCase())
|
|
111
|
+
.filter(Boolean)
|
|
112
|
+
.map((extension) => (extension.startsWith(".") ? extension : `.${extension}`))),
|
|
113
|
+
].sort();
|
|
114
|
+
}
|
|
115
|
+
function readEmbeddingProviderEnv(name, fallback) {
|
|
116
|
+
const parsed = embeddingProviderSchema.safeParse(process.env[name]);
|
|
117
|
+
return parsed.success ? parsed.data : fallback;
|
|
118
|
+
}
|
|
119
|
+
function readBooleanEnv(name, fallback) {
|
|
120
|
+
const raw = process.env[name]?.toLowerCase();
|
|
121
|
+
if (raw === "1" || raw === "true" || raw === "yes") {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
if (raw === "0" || raw === "false" || raw === "no") {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
return fallback;
|
|
128
|
+
}
|
|
73
129
|
function readPositiveIntEnv(name, fallback) {
|
|
74
130
|
const raw = process.env[name];
|
|
75
131
|
if (!raw) {
|
|
@@ -86,4 +142,11 @@ function readNonNegativeIntEnv(name, fallback) {
|
|
|
86
142
|
const value = Number.parseInt(raw, 10);
|
|
87
143
|
return Number.isInteger(value) && value >= 0 ? value : fallback;
|
|
88
144
|
}
|
|
145
|
+
function readExtensionsEnv(name, fallback) {
|
|
146
|
+
const raw = process.env[name];
|
|
147
|
+
if (!raw) {
|
|
148
|
+
return fallback;
|
|
149
|
+
}
|
|
150
|
+
return raw.split(",");
|
|
151
|
+
}
|
|
89
152
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Config } from "./types.js";
|
|
2
|
+
export declare const KB_DIR = ".kb";
|
|
3
|
+
export declare const MIMIR_DIR = ".mimir";
|
|
4
|
+
export declare const PRIVATE_DIR = "private";
|
|
5
|
+
export declare const CONFIG_PATH = ".kb/config.json";
|
|
6
|
+
export declare const DEFAULT_SKILL_TARGET_DIR = ".mimir/skills";
|
|
7
|
+
export declare const KB_GITIGNORE_ENTRY = ".kb/";
|
|
8
|
+
export declare const MIMIR_GITIGNORE_ENTRY = ".mimir/";
|
|
9
|
+
export declare const PRIVATE_GITIGNORE_ENTRY = "private/**";
|
|
10
|
+
export declare const DEFAULT_CONFIG: Omit<Config, "projectRoot">;
|
|
11
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,eAAO,MAAM,SAAS,WAAW,CAAA;AACjC,eAAO,MAAM,WAAW,YAAY,CAAA;AACpC,eAAO,MAAM,WAAW,oBAA0B,CAAA;AAClD,eAAO,MAAM,wBAAwB,kBAAwB,CAAA;AAE7D,eAAO,MAAM,kBAAkB,SAAe,CAAA;AAC9C,eAAO,MAAM,qBAAqB,YAAkB,CAAA;AACpD,eAAO,MAAM,uBAAuB,eAAsB,CAAA;AAE1D,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAqBtD,CAAA"}
|
package/dist/defaults.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const KB_DIR = ".kb";
|
|
2
|
+
export const MIMIR_DIR = ".mimir";
|
|
3
|
+
export const PRIVATE_DIR = "private";
|
|
4
|
+
export const CONFIG_PATH = `${KB_DIR}/config.json`;
|
|
5
|
+
export const DEFAULT_SKILL_TARGET_DIR = `${MIMIR_DIR}/skills`;
|
|
6
|
+
export const KB_GITIGNORE_ENTRY = `${KB_DIR}/`;
|
|
7
|
+
export const MIMIR_GITIGNORE_ENTRY = `${MIMIR_DIR}/`;
|
|
8
|
+
export const PRIVATE_GITIGNORE_ENTRY = `${PRIVATE_DIR}/**`;
|
|
9
|
+
export const DEFAULT_CONFIG = {
|
|
10
|
+
rawDir: PRIVATE_DIR,
|
|
11
|
+
storageDir: `${KB_DIR}/storage`,
|
|
12
|
+
sourcesFile: `${KB_DIR}/sources.txt`,
|
|
13
|
+
accessLogPath: `${KB_DIR}/access.log`,
|
|
14
|
+
embeddingModelPath: `${MIMIR_DIR}/models`,
|
|
15
|
+
tableName: "chunks",
|
|
16
|
+
embeddingProvider: "local-hash",
|
|
17
|
+
embeddingModel: "mixedbread-ai/mxbai-embed-xsmall-v1",
|
|
18
|
+
transformersAllowRemoteModels: false,
|
|
19
|
+
redaction: {
|
|
20
|
+
enabled: true,
|
|
21
|
+
builtIn: true,
|
|
22
|
+
patterns: [],
|
|
23
|
+
},
|
|
24
|
+
accessLog: true,
|
|
25
|
+
mcpMaxTopK: 10,
|
|
26
|
+
topK: 5,
|
|
27
|
+
chunkSize: 1200,
|
|
28
|
+
chunkOverlap: 150,
|
|
29
|
+
includeExtensions: [],
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAA;AAC3B,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAA;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAA;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,MAAM,cAAc,CAAA;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,SAAS,SAAS,CAAA;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,MAAM,GAAG,CAAA;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,GAAG,CAAA;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,WAAW,KAAK,CAAA;AAE1D,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,GAAG,MAAM,UAAU;IAC/B,WAAW,EAAE,GAAG,MAAM,cAAc;IACpC,aAAa,EAAE,GAAG,MAAM,aAAa;IACrC,kBAAkB,EAAE,GAAG,SAAS,SAAS;IACzC,SAAS,EAAE,QAAQ;IACnB,iBAAiB,EAAE,YAAY;IAC/B,cAAc,EAAE,qCAAqC;IACrD,6BAA6B,EAAE,KAAK;IACpC,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;KACb;IACD,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,GAAG;IACjB,iBAAiB,EAAE,EAAE;CACtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../src/destroy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,wBAAsB,YAAY,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYnF"}
|
package/dist/destroy.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { rm } from "node:fs/promises";
|
|
3
|
+
import { recordAccess } from "./access-log.js";
|
|
4
|
+
import { loadConfig } from "./config.js";
|
|
5
|
+
export async function destroyIndex(cwd = process.cwd()) {
|
|
6
|
+
const config = await loadConfig(cwd);
|
|
7
|
+
const existed = existsSync(config.storageDir);
|
|
8
|
+
await recordAccess(config, { action: "destroy-index" });
|
|
9
|
+
await rm(config.storageDir, { recursive: true, force: true });
|
|
10
|
+
return {
|
|
11
|
+
storageDir: config.storageDir,
|
|
12
|
+
removed: existed,
|
|
13
|
+
note: "Generated index removed. For forensic deletion guarantees, keep .kb/ on an encrypted volume and rotate/destroy the volume key.",
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=destroy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../src/destroy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAE7C,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;IACvD,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAE7D,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,gIAAgI;KACvI,CAAA;AACH,CAAC"}
|
package/dist/embeddings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAYxC,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAUrF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM/E"}
|
package/dist/embeddings.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
const LOCAL_HASH_DIMENSIONS = 384;
|
|
3
|
+
const LONG_TOKEN_MIN_LENGTH = 6;
|
|
4
|
+
const LONG_TOKEN_WEIGHT = 1.4;
|
|
5
|
+
const transformersPipelines = new Map();
|
|
2
6
|
export async function embedTexts(texts, config) {
|
|
3
7
|
if (texts.length === 0) {
|
|
4
8
|
return [];
|
|
5
9
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
model: config.embedModel,
|
|
9
|
-
input: texts,
|
|
10
|
-
});
|
|
11
|
-
if (!response.embeddings || response.embeddings.length !== texts.length) {
|
|
12
|
-
throw new Error(`Expected ${texts.length} embeddings, received ${response.embeddings?.length ?? 0}.`);
|
|
10
|
+
if (config.embeddingProvider === "local-hash") {
|
|
11
|
+
return texts.map(localHashEmbedding);
|
|
13
12
|
}
|
|
14
|
-
return
|
|
13
|
+
return embedWithTransformers(texts, config);
|
|
15
14
|
}
|
|
16
15
|
export async function embedText(text, config) {
|
|
17
16
|
const [embedding] = await embedTexts([text], config);
|
|
@@ -20,4 +19,81 @@ export async function embedText(text, config) {
|
|
|
20
19
|
}
|
|
21
20
|
return embedding;
|
|
22
21
|
}
|
|
22
|
+
async function embedWithTransformers(texts, config) {
|
|
23
|
+
const extractor = await transformersExtractor(config);
|
|
24
|
+
const output = await extractor(texts, { pooling: "mean", normalize: true });
|
|
25
|
+
const rows = tensorToEmbeddingRows(output);
|
|
26
|
+
if (rows.length !== texts.length) {
|
|
27
|
+
throw new Error(`Expected ${texts.length} embeddings, received ${rows.length}.`);
|
|
28
|
+
}
|
|
29
|
+
return rows;
|
|
30
|
+
}
|
|
31
|
+
async function transformersExtractor(config) {
|
|
32
|
+
const key = [
|
|
33
|
+
config.embeddingModel,
|
|
34
|
+
config.embeddingModelPath,
|
|
35
|
+
String(config.transformersAllowRemoteModels),
|
|
36
|
+
].join("\n");
|
|
37
|
+
const cached = transformersPipelines.get(key);
|
|
38
|
+
if (cached) {
|
|
39
|
+
return cached;
|
|
40
|
+
}
|
|
41
|
+
const transformers = await import("@huggingface/transformers");
|
|
42
|
+
transformers.env.localModelPath = config.embeddingModelPath;
|
|
43
|
+
transformers.env.cacheDir = config.embeddingModelPath;
|
|
44
|
+
transformers.env.allowRemoteModels = config.transformersAllowRemoteModels;
|
|
45
|
+
const extractor = (await transformers.pipeline("feature-extraction", config.embeddingModel));
|
|
46
|
+
transformersPipelines.set(key, extractor);
|
|
47
|
+
return extractor;
|
|
48
|
+
}
|
|
49
|
+
function localHashEmbedding(text) {
|
|
50
|
+
const vector = Array.from({ length: LOCAL_HASH_DIMENSIONS }, () => 0);
|
|
51
|
+
const tokens = tokenize(text);
|
|
52
|
+
for (const token of tokens) {
|
|
53
|
+
const hash = createHash("sha256").update(token).digest();
|
|
54
|
+
const index = hash.readUInt32BE(0) % LOCAL_HASH_DIMENSIONS;
|
|
55
|
+
const sign = (hash.at(4) ?? 0) % 2 === 0 ? 1 : -1;
|
|
56
|
+
vector[index] = (vector[index] ?? 0) + sign * tokenWeight(token);
|
|
57
|
+
}
|
|
58
|
+
const magnitude = Math.sqrt(vector.reduce((sum, value) => sum + value * value, 0));
|
|
59
|
+
if (magnitude === 0) {
|
|
60
|
+
return vector;
|
|
61
|
+
}
|
|
62
|
+
return vector.map((value) => value / magnitude);
|
|
63
|
+
}
|
|
64
|
+
function tokenize(text) {
|
|
65
|
+
return (text
|
|
66
|
+
.toLowerCase()
|
|
67
|
+
.normalize("NFKD")
|
|
68
|
+
.replace(/\p{Diacritic}/gu, "")
|
|
69
|
+
.match(/[\p{L}\p{N}]{2,}/gu) ?? []);
|
|
70
|
+
}
|
|
71
|
+
function tokenWeight(token) {
|
|
72
|
+
return token.length >= LONG_TOKEN_MIN_LENGTH ? LONG_TOKEN_WEIGHT : 1;
|
|
73
|
+
}
|
|
74
|
+
function tensorToEmbeddingRows(output) {
|
|
75
|
+
if (!hasToList(output)) {
|
|
76
|
+
throw new Error("Transformers embedding output does not expose tolist().");
|
|
77
|
+
}
|
|
78
|
+
const value = output.tolist();
|
|
79
|
+
if (isNumberMatrix(value)) {
|
|
80
|
+
return value;
|
|
81
|
+
}
|
|
82
|
+
if (isNumberArray(value)) {
|
|
83
|
+
return [value];
|
|
84
|
+
}
|
|
85
|
+
throw new Error("Transformers embedding output is not a numeric vector matrix.");
|
|
86
|
+
}
|
|
87
|
+
function hasToList(value) {
|
|
88
|
+
return (typeof value === "object" &&
|
|
89
|
+
value !== null &&
|
|
90
|
+
"tolist" in value &&
|
|
91
|
+
typeof value.tolist === "function");
|
|
92
|
+
}
|
|
93
|
+
function isNumberArray(value) {
|
|
94
|
+
return Array.isArray(value) && value.every((item) => typeof item === "number");
|
|
95
|
+
}
|
|
96
|
+
function isNumberMatrix(value) {
|
|
97
|
+
return Array.isArray(value) && value.every(isNumberArray);
|
|
98
|
+
}
|
|
23
99
|
//# sourceMappingURL=embeddings.js.map
|
package/dist/embeddings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../src/embeddings.ts"],"names":[],"mappings":"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"}
|
package/dist/files.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Config, SourceFile } from "./types.js";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const DEFAULT_SUPPORTED_EXTENSIONS: Set<string>;
|
|
3
3
|
export declare function listSourceFiles(config: Config): Promise<SourceFile[]>;
|
|
4
|
+
export declare function supportedExtensions(config: Config): Set<string>;
|
|
4
5
|
//# sourceMappingURL=files.d.ts.map
|
package/dist/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEpD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEpD,eAAO,MAAM,4BAA4B,aA+CvC,CAAA;AAEF,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAuC3E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/D"}
|
package/dist/files.js
CHANGED
|
@@ -3,17 +3,51 @@ import { existsSync } from "node:fs";
|
|
|
3
3
|
import { readFile, stat } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import fg from "fast-glob";
|
|
6
|
-
export const
|
|
6
|
+
export const DEFAULT_SUPPORTED_EXTENSIONS = new Set([
|
|
7
|
+
".atom",
|
|
8
|
+
".c",
|
|
9
|
+
".cfg",
|
|
10
|
+
".conf",
|
|
11
|
+
".cpp",
|
|
12
|
+
".cs",
|
|
13
|
+
".css",
|
|
7
14
|
".csv",
|
|
15
|
+
".docx",
|
|
16
|
+
".go",
|
|
17
|
+
".h",
|
|
8
18
|
".htm",
|
|
9
19
|
".html",
|
|
20
|
+
".ini",
|
|
21
|
+
".java",
|
|
22
|
+
".js",
|
|
10
23
|
".json",
|
|
24
|
+
".jsonl",
|
|
25
|
+
".jsx",
|
|
26
|
+
".log",
|
|
11
27
|
".md",
|
|
12
28
|
".mdx",
|
|
29
|
+
".ndjson",
|
|
30
|
+
".odp",
|
|
31
|
+
".ods",
|
|
32
|
+
".odt",
|
|
13
33
|
".pdf",
|
|
34
|
+
".php",
|
|
35
|
+
".pptx",
|
|
36
|
+
".properties",
|
|
37
|
+
".py",
|
|
38
|
+
".rb",
|
|
39
|
+
".rs",
|
|
40
|
+
".rss",
|
|
41
|
+
".rtf",
|
|
42
|
+
".sql",
|
|
14
43
|
".text",
|
|
44
|
+
".toml",
|
|
45
|
+
".ts",
|
|
15
46
|
".tsv",
|
|
47
|
+
".tsx",
|
|
16
48
|
".txt",
|
|
49
|
+
".xml",
|
|
50
|
+
".xlsx",
|
|
17
51
|
".yaml",
|
|
18
52
|
".yml",
|
|
19
53
|
]);
|
|
@@ -30,11 +64,11 @@ export async function listSourceFiles(config) {
|
|
|
30
64
|
onlyFiles: true,
|
|
31
65
|
dot: false,
|
|
32
66
|
followSymbolicLinks: false,
|
|
33
|
-
ignore: ["**/.git/**", "**/node_modules/**", "**/.kb
|
|
67
|
+
ignore: ["**/.git/**", "**/node_modules/**", "**/.kb/**", "**/.mimir/**"],
|
|
34
68
|
});
|
|
35
69
|
for (const absolutePath of entries) {
|
|
36
70
|
const extension = path.extname(absolutePath).toLowerCase();
|
|
37
|
-
if (!
|
|
71
|
+
if (!supportedExtensions(config).has(extension)) {
|
|
38
72
|
continue;
|
|
39
73
|
}
|
|
40
74
|
const info = await stat(absolutePath);
|
|
@@ -52,6 +86,9 @@ export async function listSourceFiles(config) {
|
|
|
52
86
|
}
|
|
53
87
|
return [...files.values()].sort((a, b) => a.relativePath.localeCompare(b.relativePath));
|
|
54
88
|
}
|
|
89
|
+
export function supportedExtensions(config) {
|
|
90
|
+
return new Set([...DEFAULT_SUPPORTED_EXTENSIONS, ...config.includeExtensions]);
|
|
91
|
+
}
|
|
55
92
|
async function sourceRoots(config) {
|
|
56
93
|
const roots = [config.rawDir];
|
|
57
94
|
if (!existsSync(config.sourcesFile)) {
|
package/dist/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,WAAW,CAAA;AAG1B,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
|
package/dist/gitignore.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const MIMIR_GITIGNORE_ENTRIES:
|
|
1
|
+
export declare const MIMIR_GITIGNORE_ENTRIES: string[];
|
|
2
2
|
export declare function ensureMimirGitignore(cwd?: string): Promise<boolean>;
|
|
3
3
|
//# sourceMappingURL=gitignore.d.ts.map
|
package/dist/gitignore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,UAQnC,CAAA;AAED,wBAAsB,oBAAoB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBhF"}
|
package/dist/gitignore.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
2
|
import { readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
|
+
import { KB_GITIGNORE_ENTRY, MIMIR_GITIGNORE_ENTRY, PRIVATE_DIR, PRIVATE_GITIGNORE_ENTRY, } from "./defaults.js";
|
|
4
5
|
export const MIMIR_GITIGNORE_ENTRIES = [
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
KB_GITIGNORE_ENTRY,
|
|
7
|
+
MIMIR_GITIGNORE_ENTRY,
|
|
8
|
+
PRIVATE_GITIGNORE_ENTRY,
|
|
9
|
+
`!${PRIVATE_DIR}/`,
|
|
10
|
+
`!${PRIVATE_DIR}/README.md`,
|
|
11
|
+
`!${PRIVATE_DIR}/**/`,
|
|
12
|
+
`!${PRIVATE_DIR}/**/.gitkeep`,
|
|
12
13
|
];
|
|
13
14
|
export async function ensureMimirGitignore(cwd = process.cwd()) {
|
|
14
15
|
const root = path.resolve(cwd);
|
package/dist/gitignore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../src/gitignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,uBAAuB,GACxB,MAAM,eAAe,CAAA;AAEtB,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,kBAAkB;IAClB,qBAAqB;IACrB,uBAAuB;IACvB,IAAI,WAAW,GAAG;IAClB,IAAI,WAAW,YAAY;IAC3B,IAAI,WAAW,MAAM;IACrB,IAAI,WAAW,cAAc;CAC9B,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtF,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,OAAO;SACJ,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CACnB,CAAA;IACD,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAE1F,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACvF,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,cAAc,CAAC;SACtE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IAChC,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;IAEzD,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5C,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export { loadConfig } from "./config.js";
|
|
2
|
+
export { destroyIndex } from "./destroy.js";
|
|
2
3
|
export { audit, ingest } from "./ingest.js";
|
|
3
4
|
export { initProject } from "./init.js";
|
|
4
5
|
export { serveMcp } from "./mcp.js";
|
|
5
6
|
export { ask, search } from "./query.js";
|
|
7
|
+
export { redactText } from "./redaction.js";
|
|
8
|
+
export { securityAudit } from "./security.js";
|
|
6
9
|
export { bundledSkillPath, installSkill } from "./skill.js";
|
|
7
|
-
export type { AskResult, AuditReport, Config, IngestResult, SearchResult, } from "./types.js";
|
|
10
|
+
export type { AskResult, AuditReport, Config, DestroyIndexResult, IngestResult, SearchResult, SecurityAuditReport, } from "./types.js";
|
|
8
11
|
export { VERSION } from "./version.js";
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC3D,YAAY,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,YAAY,EACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC3D,YAAY,EACV,SAAS,EACT,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
export { loadConfig } from "./config.js";
|
|
2
|
+
export { destroyIndex } from "./destroy.js";
|
|
2
3
|
export { audit, ingest } from "./ingest.js";
|
|
3
4
|
export { initProject } from "./init.js";
|
|
4
5
|
export { serveMcp } from "./mcp.js";
|
|
5
6
|
export { ask, search } from "./query.js";
|
|
7
|
+
export { redactText } from "./redaction.js";
|
|
8
|
+
export { securityAudit } from "./security.js";
|
|
6
9
|
export { bundledSkillPath, installSkill } from "./skill.js";
|
|
7
10
|
export { VERSION } from "./version.js";
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAU3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/ingest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../src/ingest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../src/ingest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,YAAY,EAIb,MAAM,YAAY,CAAA;AAKnB,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CA4D/E;AAED,wBAAsB,KAAK,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAoCrE"}
|