gnosys 4.0.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/LICENSE +21 -0
- package/README.md +1387 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3753 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2267 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/archive.d.ts +95 -0
- package/dist/lib/archive.d.ts.map +1 -0
- package/dist/lib/archive.js +311 -0
- package/dist/lib/archive.js.map +1 -0
- package/dist/lib/ask.d.ts +77 -0
- package/dist/lib/ask.d.ts.map +1 -0
- package/dist/lib/ask.js +316 -0
- package/dist/lib/ask.js.map +1 -0
- package/dist/lib/audit.d.ts +47 -0
- package/dist/lib/audit.d.ts.map +1 -0
- package/dist/lib/audit.js +136 -0
- package/dist/lib/audit.js.map +1 -0
- package/dist/lib/bootstrap.d.ts +56 -0
- package/dist/lib/bootstrap.d.ts.map +1 -0
- package/dist/lib/bootstrap.js +163 -0
- package/dist/lib/bootstrap.js.map +1 -0
- package/dist/lib/config.d.ts +239 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +371 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/dashboard.d.ts +81 -0
- package/dist/lib/dashboard.d.ts.map +1 -0
- package/dist/lib/dashboard.js +314 -0
- package/dist/lib/dashboard.js.map +1 -0
- package/dist/lib/db.d.ts +182 -0
- package/dist/lib/db.d.ts.map +1 -0
- package/dist/lib/db.js +620 -0
- package/dist/lib/db.js.map +1 -0
- package/dist/lib/dbSearch.d.ts +65 -0
- package/dist/lib/dbSearch.d.ts.map +1 -0
- package/dist/lib/dbSearch.js +239 -0
- package/dist/lib/dbSearch.js.map +1 -0
- package/dist/lib/dbWrite.d.ts +56 -0
- package/dist/lib/dbWrite.d.ts.map +1 -0
- package/dist/lib/dbWrite.js +171 -0
- package/dist/lib/dbWrite.js.map +1 -0
- package/dist/lib/dream.d.ts +170 -0
- package/dist/lib/dream.d.ts.map +1 -0
- package/dist/lib/dream.js +706 -0
- package/dist/lib/dream.js.map +1 -0
- package/dist/lib/embeddings.d.ts +84 -0
- package/dist/lib/embeddings.d.ts.map +1 -0
- package/dist/lib/embeddings.js +226 -0
- package/dist/lib/embeddings.js.map +1 -0
- package/dist/lib/export.d.ts +92 -0
- package/dist/lib/export.d.ts.map +1 -0
- package/dist/lib/export.js +362 -0
- package/dist/lib/export.js.map +1 -0
- package/dist/lib/federated.d.ts +113 -0
- package/dist/lib/federated.d.ts.map +1 -0
- package/dist/lib/federated.js +346 -0
- package/dist/lib/federated.js.map +1 -0
- package/dist/lib/graph.d.ts +50 -0
- package/dist/lib/graph.d.ts.map +1 -0
- package/dist/lib/graph.js +118 -0
- package/dist/lib/graph.js.map +1 -0
- package/dist/lib/history.d.ts +39 -0
- package/dist/lib/history.d.ts.map +1 -0
- package/dist/lib/history.js +112 -0
- package/dist/lib/history.js.map +1 -0
- package/dist/lib/hybridSearch.d.ts +80 -0
- package/dist/lib/hybridSearch.d.ts.map +1 -0
- package/dist/lib/hybridSearch.js +296 -0
- package/dist/lib/hybridSearch.js.map +1 -0
- package/dist/lib/import.d.ts +52 -0
- package/dist/lib/import.d.ts.map +1 -0
- package/dist/lib/import.js +365 -0
- package/dist/lib/import.js.map +1 -0
- package/dist/lib/ingest.d.ts +51 -0
- package/dist/lib/ingest.d.ts.map +1 -0
- package/dist/lib/ingest.js +144 -0
- package/dist/lib/ingest.js.map +1 -0
- package/dist/lib/lensing.d.ts +35 -0
- package/dist/lib/lensing.d.ts.map +1 -0
- package/dist/lib/lensing.js +85 -0
- package/dist/lib/lensing.js.map +1 -0
- package/dist/lib/llm.d.ts +84 -0
- package/dist/lib/llm.d.ts.map +1 -0
- package/dist/lib/llm.js +386 -0
- package/dist/lib/llm.js.map +1 -0
- package/dist/lib/lock.d.ts +28 -0
- package/dist/lib/lock.d.ts.map +1 -0
- package/dist/lib/lock.js +145 -0
- package/dist/lib/lock.js.map +1 -0
- package/dist/lib/maintenance.d.ts +124 -0
- package/dist/lib/maintenance.d.ts.map +1 -0
- package/dist/lib/maintenance.js +587 -0
- package/dist/lib/maintenance.js.map +1 -0
- package/dist/lib/migrate.d.ts +19 -0
- package/dist/lib/migrate.d.ts.map +1 -0
- package/dist/lib/migrate.js +260 -0
- package/dist/lib/migrate.js.map +1 -0
- package/dist/lib/preferences.d.ts +49 -0
- package/dist/lib/preferences.d.ts.map +1 -0
- package/dist/lib/preferences.js +149 -0
- package/dist/lib/preferences.js.map +1 -0
- package/dist/lib/projectIdentity.d.ts +66 -0
- package/dist/lib/projectIdentity.d.ts.map +1 -0
- package/dist/lib/projectIdentity.js +148 -0
- package/dist/lib/projectIdentity.js.map +1 -0
- package/dist/lib/recall.d.ts +82 -0
- package/dist/lib/recall.d.ts.map +1 -0
- package/dist/lib/recall.js +289 -0
- package/dist/lib/recall.js.map +1 -0
- package/dist/lib/resolver.d.ts +116 -0
- package/dist/lib/resolver.d.ts.map +1 -0
- package/dist/lib/resolver.js +372 -0
- package/dist/lib/resolver.js.map +1 -0
- package/dist/lib/retry.d.ts +24 -0
- package/dist/lib/retry.d.ts.map +1 -0
- package/dist/lib/retry.js +60 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/rulesGen.d.ts +51 -0
- package/dist/lib/rulesGen.d.ts.map +1 -0
- package/dist/lib/rulesGen.js +167 -0
- package/dist/lib/rulesGen.js.map +1 -0
- package/dist/lib/search.d.ts +51 -0
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/lib/search.js +190 -0
- package/dist/lib/search.js.map +1 -0
- package/dist/lib/staticSearch.d.ts +70 -0
- package/dist/lib/staticSearch.d.ts.map +1 -0
- package/dist/lib/staticSearch.js +162 -0
- package/dist/lib/staticSearch.js.map +1 -0
- package/dist/lib/store.d.ts +79 -0
- package/dist/lib/store.d.ts.map +1 -0
- package/dist/lib/store.js +227 -0
- package/dist/lib/store.js.map +1 -0
- package/dist/lib/structuredIngest.d.ts +37 -0
- package/dist/lib/structuredIngest.d.ts.map +1 -0
- package/dist/lib/structuredIngest.js +208 -0
- package/dist/lib/structuredIngest.js.map +1 -0
- package/dist/lib/tags.d.ts +26 -0
- package/dist/lib/tags.d.ts.map +1 -0
- package/dist/lib/tags.js +109 -0
- package/dist/lib/tags.js.map +1 -0
- package/dist/lib/timeline.d.ts +34 -0
- package/dist/lib/timeline.d.ts.map +1 -0
- package/dist/lib/timeline.js +116 -0
- package/dist/lib/timeline.js.map +1 -0
- package/dist/lib/trace.d.ts +42 -0
- package/dist/lib/trace.d.ts.map +1 -0
- package/dist/lib/trace.js +338 -0
- package/dist/lib/trace.js.map +1 -0
- package/dist/lib/webIndex.d.ts +28 -0
- package/dist/lib/webIndex.d.ts.map +1 -0
- package/dist/lib/webIndex.js +208 -0
- package/dist/lib/webIndex.js.map +1 -0
- package/dist/lib/webIngest.d.ts +51 -0
- package/dist/lib/webIngest.d.ts.map +1 -0
- package/dist/lib/webIngest.js +533 -0
- package/dist/lib/webIngest.js.map +1 -0
- package/dist/lib/wikilinks.d.ts +63 -0
- package/dist/lib/wikilinks.d.ts.map +1 -0
- package/dist/lib/wikilinks.js +146 -0
- package/dist/lib/wikilinks.js.map +1 -0
- package/dist/sandbox/client.d.ts +82 -0
- package/dist/sandbox/client.d.ts.map +1 -0
- package/dist/sandbox/client.js +128 -0
- package/dist/sandbox/client.js.map +1 -0
- package/dist/sandbox/helper-template.d.ts +14 -0
- package/dist/sandbox/helper-template.d.ts.map +1 -0
- package/dist/sandbox/helper-template.js +285 -0
- package/dist/sandbox/helper-template.js.map +1 -0
- package/dist/sandbox/index.d.ts +10 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +10 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/sandbox/manager.d.ts +40 -0
- package/dist/sandbox/manager.d.ts.map +1 -0
- package/dist/sandbox/manager.js +220 -0
- package/dist/sandbox/manager.js.map +1 -0
- package/dist/sandbox/server.d.ts +44 -0
- package/dist/sandbox/server.d.ts.map +1 -0
- package/dist/sandbox/server.js +661 -0
- package/dist/sandbox/server.js.map +1 -0
- package/package.json +103 -0
- package/prompts/synthesize.md +21 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAU,MAAM,YAAY,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB;IACrB,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC;IAC5C,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACrE,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kCAAkC;IAClC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAAM,EAAgB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBnB;AAuCD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,GACxB;IAAE,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoC3D;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA8E1B"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gnosys Bootstrap — Batch-ingest existing documents into the memory store.
|
|
3
|
+
*
|
|
4
|
+
* Scans a directory for markdown/text files and creates memories from them.
|
|
5
|
+
* Supports both raw import (no LLM) and enriched import (LLM structures content).
|
|
6
|
+
*/
|
|
7
|
+
import fs from "fs/promises";
|
|
8
|
+
import path from "path";
|
|
9
|
+
import matter from "gray-matter";
|
|
10
|
+
import { glob } from "glob";
|
|
11
|
+
/**
|
|
12
|
+
* Scan a directory and discover importable files.
|
|
13
|
+
*/
|
|
14
|
+
export async function discoverFiles(sourceDir, patterns = ["**/*.md"]) {
|
|
15
|
+
const resolvedDir = path.resolve(sourceDir);
|
|
16
|
+
const files = [];
|
|
17
|
+
for (const pattern of patterns) {
|
|
18
|
+
const matches = await glob(pattern, {
|
|
19
|
+
cwd: resolvedDir,
|
|
20
|
+
nodir: true,
|
|
21
|
+
absolute: false,
|
|
22
|
+
});
|
|
23
|
+
for (const m of matches) {
|
|
24
|
+
if (!files.includes(m)) {
|
|
25
|
+
files.push(m);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return files.sort();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Extract a title from file content or filename.
|
|
33
|
+
*/
|
|
34
|
+
function extractTitle(content, filePath) {
|
|
35
|
+
// Try to find a markdown H1
|
|
36
|
+
const h1Match = content.match(/^#\s+(.+)$/m);
|
|
37
|
+
if (h1Match)
|
|
38
|
+
return h1Match[1].trim();
|
|
39
|
+
// Fall back to filename
|
|
40
|
+
const basename = path.basename(filePath, path.extname(filePath));
|
|
41
|
+
return basename
|
|
42
|
+
.replace(/[-_]+/g, " ")
|
|
43
|
+
.replace(/\b\w/g, (c) => c.toUpperCase());
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Determine category from file path structure.
|
|
47
|
+
* If the file is in a subdirectory, use that as the category.
|
|
48
|
+
*/
|
|
49
|
+
function inferCategory(relativePath, defaultCategory) {
|
|
50
|
+
const dir = path.dirname(relativePath);
|
|
51
|
+
if (dir === "." || dir === "")
|
|
52
|
+
return defaultCategory;
|
|
53
|
+
// Use the first directory level as category
|
|
54
|
+
return dir.split("/")[0].replace(/[^a-z0-9-]/gi, "-").toLowerCase();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a slug from a title for use as a filename.
|
|
58
|
+
*/
|
|
59
|
+
function titleToSlug(title) {
|
|
60
|
+
return title
|
|
61
|
+
.toLowerCase()
|
|
62
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
63
|
+
.replace(/^-|-$/g, "")
|
|
64
|
+
.substring(0, 60);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Parse a single file and prepare it for import.
|
|
68
|
+
*/
|
|
69
|
+
export function parseFileForImport(content, relativePath, options) {
|
|
70
|
+
const defaultCategory = options.defaultCategory || "imported";
|
|
71
|
+
const defaultAuthor = options.defaultAuthor || "human";
|
|
72
|
+
const defaultAuthority = options.defaultAuthority || "imported";
|
|
73
|
+
const defaultConfidence = options.defaultConfidence ?? 0.7;
|
|
74
|
+
// Check if file already has frontmatter
|
|
75
|
+
const parsed = matter(content);
|
|
76
|
+
const existingFm = parsed.data;
|
|
77
|
+
const body = parsed.content.trim();
|
|
78
|
+
const title = (options.preserveFrontmatter && existingFm.title)
|
|
79
|
+
? existingFm.title
|
|
80
|
+
: extractTitle(body || content, relativePath);
|
|
81
|
+
const category = (options.preserveFrontmatter && existingFm.category)
|
|
82
|
+
? existingFm.category
|
|
83
|
+
: inferCategory(relativePath, defaultCategory);
|
|
84
|
+
const today = new Date().toISOString().split("T")[0];
|
|
85
|
+
const frontmatter = {
|
|
86
|
+
title,
|
|
87
|
+
category,
|
|
88
|
+
tags: (options.preserveFrontmatter && existingFm.tags) ? existingFm.tags : { domain: [], type: ["imported"] },
|
|
89
|
+
relevance: (options.preserveFrontmatter && existingFm.relevance) ? existingFm.relevance : "",
|
|
90
|
+
author: (options.preserveFrontmatter && existingFm.author) ? existingFm.author : defaultAuthor,
|
|
91
|
+
authority: (options.preserveFrontmatter && existingFm.authority) ? existingFm.authority : defaultAuthority,
|
|
92
|
+
confidence: (options.preserveFrontmatter && existingFm.confidence !== undefined) ? existingFm.confidence : defaultConfidence,
|
|
93
|
+
created: (options.preserveFrontmatter && existingFm.created) ? existingFm.created : today,
|
|
94
|
+
modified: today,
|
|
95
|
+
status: (options.preserveFrontmatter && existingFm.status) ? existingFm.status : "active",
|
|
96
|
+
supersedes: null,
|
|
97
|
+
};
|
|
98
|
+
return { frontmatter, body };
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Bootstrap: batch-import files from a directory into a Gnosys store.
|
|
102
|
+
*/
|
|
103
|
+
export async function bootstrap(store, options) {
|
|
104
|
+
const result = {
|
|
105
|
+
imported: [],
|
|
106
|
+
skipped: [],
|
|
107
|
+
failed: [],
|
|
108
|
+
totalScanned: 0,
|
|
109
|
+
};
|
|
110
|
+
// Discover files
|
|
111
|
+
const files = await discoverFiles(options.sourceDir, options.patterns);
|
|
112
|
+
result.totalScanned = files.length;
|
|
113
|
+
if (files.length === 0)
|
|
114
|
+
return result;
|
|
115
|
+
// Get existing memories for dedup
|
|
116
|
+
const existingMemories = await store.getAllMemories();
|
|
117
|
+
const existingTitles = new Set(existingMemories.map((m) => m.frontmatter.title.toLowerCase()));
|
|
118
|
+
const resolvedDir = path.resolve(options.sourceDir);
|
|
119
|
+
for (const file of files) {
|
|
120
|
+
try {
|
|
121
|
+
const fullPath = path.join(resolvedDir, file);
|
|
122
|
+
const content = await fs.readFile(fullPath, "utf-8");
|
|
123
|
+
const { frontmatter, body } = parseFileForImport(content, file, options);
|
|
124
|
+
// Check if already exists
|
|
125
|
+
if (options.skipExisting && existingTitles.has((frontmatter.title || "").toLowerCase())) {
|
|
126
|
+
result.skipped.push(file);
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (options.dryRun) {
|
|
130
|
+
result.imported.push(file);
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
// Generate ID and write
|
|
134
|
+
const id = await store.generateId(frontmatter.category || "imported");
|
|
135
|
+
const slug = titleToSlug(frontmatter.title || path.basename(file, ".md"));
|
|
136
|
+
const fullFrontmatter = {
|
|
137
|
+
id,
|
|
138
|
+
title: frontmatter.title || "Untitled",
|
|
139
|
+
category: frontmatter.category || "imported",
|
|
140
|
+
tags: frontmatter.tags || { domain: [], type: ["imported"] },
|
|
141
|
+
relevance: frontmatter.relevance || "",
|
|
142
|
+
author: frontmatter.author || "human",
|
|
143
|
+
authority: frontmatter.authority || "imported",
|
|
144
|
+
confidence: frontmatter.confidence ?? 0.7,
|
|
145
|
+
created: frontmatter.created || new Date().toISOString().split("T")[0],
|
|
146
|
+
modified: frontmatter.modified || new Date().toISOString().split("T")[0],
|
|
147
|
+
status: frontmatter.status || "active",
|
|
148
|
+
supersedes: null,
|
|
149
|
+
};
|
|
150
|
+
const fullContent = body.startsWith("#") ? body : `# ${frontmatter.title}\n\n${body}`;
|
|
151
|
+
await store.writeMemory(fullFrontmatter.category, `${slug}.md`, fullFrontmatter, fullContent);
|
|
152
|
+
result.imported.push(file);
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
result.failed.push({
|
|
156
|
+
path: file,
|
|
157
|
+
error: err instanceof Error ? err.message : String(err),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gnosys Configuration — Loads and validates gnosys.json config files.
|
|
3
|
+
* Uses Zod for schema validation with sensible defaults.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
declare const LLMProviderEnum: z.ZodEnum<{
|
|
7
|
+
anthropic: "anthropic";
|
|
8
|
+
ollama: "ollama";
|
|
9
|
+
groq: "groq";
|
|
10
|
+
openai: "openai";
|
|
11
|
+
lmstudio: "lmstudio";
|
|
12
|
+
}>;
|
|
13
|
+
export type LLMProviderName = z.infer<typeof LLMProviderEnum>;
|
|
14
|
+
declare const DreamConfigSchema: z.ZodObject<{
|
|
15
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
16
|
+
idleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
17
|
+
maxRuntimeMinutes: z.ZodDefault<z.ZodNumber>;
|
|
18
|
+
provider: z.ZodDefault<z.ZodEnum<{
|
|
19
|
+
anthropic: "anthropic";
|
|
20
|
+
ollama: "ollama";
|
|
21
|
+
groq: "groq";
|
|
22
|
+
openai: "openai";
|
|
23
|
+
lmstudio: "lmstudio";
|
|
24
|
+
}>>;
|
|
25
|
+
model: z.ZodOptional<z.ZodString>;
|
|
26
|
+
selfCritique: z.ZodDefault<z.ZodBoolean>;
|
|
27
|
+
generateSummaries: z.ZodDefault<z.ZodBoolean>;
|
|
28
|
+
discoverRelationships: z.ZodDefault<z.ZodBoolean>;
|
|
29
|
+
minMemories: z.ZodDefault<z.ZodNumber>;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
export type DreamConfig = z.infer<typeof DreamConfigSchema>;
|
|
32
|
+
declare const RecallConfigSchema: z.ZodObject<{
|
|
33
|
+
aggressive: z.ZodDefault<z.ZodBoolean>;
|
|
34
|
+
maxMemories: z.ZodDefault<z.ZodNumber>;
|
|
35
|
+
minRelevance: z.ZodDefault<z.ZodNumber>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export type RecallConfig = z.infer<typeof RecallConfigSchema>;
|
|
38
|
+
declare const WebConfigSchema: z.ZodObject<{
|
|
39
|
+
source: z.ZodDefault<z.ZodEnum<{
|
|
40
|
+
sitemap: "sitemap";
|
|
41
|
+
directory: "directory";
|
|
42
|
+
urls: "urls";
|
|
43
|
+
}>>;
|
|
44
|
+
sitemapUrl: z.ZodOptional<z.ZodString>;
|
|
45
|
+
contentDir: z.ZodOptional<z.ZodString>;
|
|
46
|
+
urls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
|
+
outputDir: z.ZodDefault<z.ZodString>;
|
|
48
|
+
exclude: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
49
|
+
categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
50
|
+
llmEnrich: z.ZodDefault<z.ZodBoolean>;
|
|
51
|
+
prune: z.ZodDefault<z.ZodBoolean>;
|
|
52
|
+
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
53
|
+
crawlDelayMs: z.ZodDefault<z.ZodNumber>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export type WebConfig = z.infer<typeof WebConfigSchema>;
|
|
56
|
+
export declare const GnosysConfigSchema: z.ZodObject<{
|
|
57
|
+
llm: z.ZodDefault<z.ZodObject<{
|
|
58
|
+
defaultProvider: z.ZodDefault<z.ZodEnum<{
|
|
59
|
+
anthropic: "anthropic";
|
|
60
|
+
ollama: "ollama";
|
|
61
|
+
groq: "groq";
|
|
62
|
+
openai: "openai";
|
|
63
|
+
lmstudio: "lmstudio";
|
|
64
|
+
}>>;
|
|
65
|
+
anthropic: z.ZodDefault<z.ZodObject<{
|
|
66
|
+
model: z.ZodDefault<z.ZodString>;
|
|
67
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
68
|
+
}, z.core.$strip>>;
|
|
69
|
+
ollama: z.ZodDefault<z.ZodObject<{
|
|
70
|
+
model: z.ZodDefault<z.ZodString>;
|
|
71
|
+
baseUrl: z.ZodDefault<z.ZodString>;
|
|
72
|
+
}, z.core.$strip>>;
|
|
73
|
+
groq: z.ZodDefault<z.ZodObject<{
|
|
74
|
+
model: z.ZodDefault<z.ZodString>;
|
|
75
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
76
|
+
}, z.core.$strip>>;
|
|
77
|
+
openai: z.ZodDefault<z.ZodObject<{
|
|
78
|
+
model: z.ZodDefault<z.ZodString>;
|
|
79
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
80
|
+
baseUrl: z.ZodDefault<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
lmstudio: z.ZodDefault<z.ZodObject<{
|
|
83
|
+
model: z.ZodDefault<z.ZodString>;
|
|
84
|
+
baseUrl: z.ZodDefault<z.ZodString>;
|
|
85
|
+
}, z.core.$strip>>;
|
|
86
|
+
}, z.core.$strip>>;
|
|
87
|
+
taskModels: z.ZodDefault<z.ZodObject<{
|
|
88
|
+
structuring: z.ZodOptional<z.ZodObject<{
|
|
89
|
+
provider: z.ZodEnum<{
|
|
90
|
+
anthropic: "anthropic";
|
|
91
|
+
ollama: "ollama";
|
|
92
|
+
groq: "groq";
|
|
93
|
+
openai: "openai";
|
|
94
|
+
lmstudio: "lmstudio";
|
|
95
|
+
}>;
|
|
96
|
+
model: z.ZodString;
|
|
97
|
+
}, z.core.$strip>>;
|
|
98
|
+
synthesis: z.ZodOptional<z.ZodObject<{
|
|
99
|
+
provider: z.ZodEnum<{
|
|
100
|
+
anthropic: "anthropic";
|
|
101
|
+
ollama: "ollama";
|
|
102
|
+
groq: "groq";
|
|
103
|
+
openai: "openai";
|
|
104
|
+
lmstudio: "lmstudio";
|
|
105
|
+
}>;
|
|
106
|
+
model: z.ZodString;
|
|
107
|
+
}, z.core.$strip>>;
|
|
108
|
+
}, z.core.$strip>>;
|
|
109
|
+
defaultLLMProvider: z.ZodOptional<z.ZodEnum<{
|
|
110
|
+
anthropic: "anthropic";
|
|
111
|
+
ollama: "ollama";
|
|
112
|
+
groq: "groq";
|
|
113
|
+
openai: "openai";
|
|
114
|
+
}>>;
|
|
115
|
+
defaultModel: z.ZodOptional<z.ZodString>;
|
|
116
|
+
bulkIngestionBatchSize: z.ZodDefault<z.ZodNumber>;
|
|
117
|
+
importConcurrency: z.ZodDefault<z.ZodNumber>;
|
|
118
|
+
autoCommit: z.ZodDefault<z.ZodBoolean>;
|
|
119
|
+
llmRetryAttempts: z.ZodDefault<z.ZodNumber>;
|
|
120
|
+
llmRetryBaseDelayMs: z.ZodDefault<z.ZodNumber>;
|
|
121
|
+
defaultAuthor: z.ZodDefault<z.ZodEnum<{
|
|
122
|
+
human: "human";
|
|
123
|
+
ai: "ai";
|
|
124
|
+
"human+ai": "human+ai";
|
|
125
|
+
}>>;
|
|
126
|
+
defaultAuthority: z.ZodDefault<z.ZodEnum<{
|
|
127
|
+
declared: "declared";
|
|
128
|
+
observed: "observed";
|
|
129
|
+
imported: "imported";
|
|
130
|
+
inferred: "inferred";
|
|
131
|
+
}>>;
|
|
132
|
+
defaultConfidence: z.ZodDefault<z.ZodNumber>;
|
|
133
|
+
storePath: z.ZodOptional<z.ZodString>;
|
|
134
|
+
archive: z.ZodDefault<z.ZodObject<{
|
|
135
|
+
maxActiveDays: z.ZodDefault<z.ZodNumber>;
|
|
136
|
+
minConfidence: z.ZodDefault<z.ZodNumber>;
|
|
137
|
+
}, z.core.$strip>>;
|
|
138
|
+
recall: z.ZodDefault<z.ZodObject<{
|
|
139
|
+
aggressive: z.ZodDefault<z.ZodBoolean>;
|
|
140
|
+
maxMemories: z.ZodDefault<z.ZodNumber>;
|
|
141
|
+
minRelevance: z.ZodDefault<z.ZodNumber>;
|
|
142
|
+
}, z.core.$strip>>;
|
|
143
|
+
dream: z.ZodDefault<z.ZodObject<{
|
|
144
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
145
|
+
idleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
146
|
+
maxRuntimeMinutes: z.ZodDefault<z.ZodNumber>;
|
|
147
|
+
provider: z.ZodDefault<z.ZodEnum<{
|
|
148
|
+
anthropic: "anthropic";
|
|
149
|
+
ollama: "ollama";
|
|
150
|
+
groq: "groq";
|
|
151
|
+
openai: "openai";
|
|
152
|
+
lmstudio: "lmstudio";
|
|
153
|
+
}>>;
|
|
154
|
+
model: z.ZodOptional<z.ZodString>;
|
|
155
|
+
selfCritique: z.ZodDefault<z.ZodBoolean>;
|
|
156
|
+
generateSummaries: z.ZodDefault<z.ZodBoolean>;
|
|
157
|
+
discoverRelationships: z.ZodDefault<z.ZodBoolean>;
|
|
158
|
+
minMemories: z.ZodDefault<z.ZodNumber>;
|
|
159
|
+
}, z.core.$strip>>;
|
|
160
|
+
web: z.ZodOptional<z.ZodObject<{
|
|
161
|
+
source: z.ZodDefault<z.ZodEnum<{
|
|
162
|
+
sitemap: "sitemap";
|
|
163
|
+
directory: "directory";
|
|
164
|
+
urls: "urls";
|
|
165
|
+
}>>;
|
|
166
|
+
sitemapUrl: z.ZodOptional<z.ZodString>;
|
|
167
|
+
contentDir: z.ZodOptional<z.ZodString>;
|
|
168
|
+
urls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
169
|
+
outputDir: z.ZodDefault<z.ZodString>;
|
|
170
|
+
exclude: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
171
|
+
categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
172
|
+
llmEnrich: z.ZodDefault<z.ZodBoolean>;
|
|
173
|
+
prune: z.ZodDefault<z.ZodBoolean>;
|
|
174
|
+
concurrency: z.ZodDefault<z.ZodNumber>;
|
|
175
|
+
crawlDelayMs: z.ZodDefault<z.ZodNumber>;
|
|
176
|
+
}, z.core.$strip>>;
|
|
177
|
+
}, z.core.$strip>;
|
|
178
|
+
export type GnosysConfig = z.infer<typeof GnosysConfigSchema>;
|
|
179
|
+
export declare const DEFAULT_CONFIG: GnosysConfig;
|
|
180
|
+
/**
|
|
181
|
+
* Resolve the effective LLM provider and model for a given task.
|
|
182
|
+
* Priority: taskModels override > llm config > legacy fields > defaults.
|
|
183
|
+
*/
|
|
184
|
+
export declare function resolveTaskModel(config: GnosysConfig, task: "structuring" | "synthesis"): {
|
|
185
|
+
provider: LLMProviderName;
|
|
186
|
+
model: string;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Get the configured model for a specific provider.
|
|
190
|
+
*/
|
|
191
|
+
export declare function getProviderModel(config: GnosysConfig, provider: LLMProviderName): string;
|
|
192
|
+
/**
|
|
193
|
+
* Get the Groq API key, checking config first then env var.
|
|
194
|
+
*/
|
|
195
|
+
export declare function getGroqApiKey(config: GnosysConfig): string | undefined;
|
|
196
|
+
/**
|
|
197
|
+
* Get the OpenAI API key, checking config first then env var.
|
|
198
|
+
*/
|
|
199
|
+
export declare function getOpenAIApiKey(config: GnosysConfig): string | undefined;
|
|
200
|
+
/**
|
|
201
|
+
* Get the OpenAI base URL from config.
|
|
202
|
+
*/
|
|
203
|
+
export declare function getOpenAIBaseUrl(config: GnosysConfig): string;
|
|
204
|
+
/**
|
|
205
|
+
* Get the LM Studio base URL from config.
|
|
206
|
+
*/
|
|
207
|
+
export declare function getLMStudioBaseUrl(config: GnosysConfig): string;
|
|
208
|
+
/**
|
|
209
|
+
* Get the Anthropic API key, checking config first then env var.
|
|
210
|
+
*/
|
|
211
|
+
export declare function getAnthropicApiKey(config: GnosysConfig): string | undefined;
|
|
212
|
+
/**
|
|
213
|
+
* Get the Ollama base URL from config.
|
|
214
|
+
*/
|
|
215
|
+
export declare function getOllamaBaseUrl(config: GnosysConfig): string;
|
|
216
|
+
/**
|
|
217
|
+
* Load gnosys.json from a .gnosys directory.
|
|
218
|
+
* Returns defaults if no config file exists.
|
|
219
|
+
* Throws on invalid config with descriptive error messages.
|
|
220
|
+
*/
|
|
221
|
+
export declare function loadConfig(storePath: string): Promise<GnosysConfig>;
|
|
222
|
+
/**
|
|
223
|
+
* Write a gnosys.json config file to a .gnosys directory.
|
|
224
|
+
*/
|
|
225
|
+
export declare function writeConfig(storePath: string, config: Partial<GnosysConfig>): Promise<void>;
|
|
226
|
+
/**
|
|
227
|
+
* Update specific fields in gnosys.json without overwriting the whole file.
|
|
228
|
+
*/
|
|
229
|
+
export declare function updateConfig(storePath: string, updates: Record<string, unknown>): Promise<GnosysConfig>;
|
|
230
|
+
/**
|
|
231
|
+
* Generate a default gnosys.json with the new llm config structure.
|
|
232
|
+
*/
|
|
233
|
+
export declare function generateConfigTemplate(): string;
|
|
234
|
+
/**
|
|
235
|
+
* All supported provider names.
|
|
236
|
+
*/
|
|
237
|
+
export declare const ALL_PROVIDERS: LLMProviderName[];
|
|
238
|
+
export {};
|
|
239
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,eAAe;;;;;;EAAgE,CAAC;AACtF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AA0D9D,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;iBAmBrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,QAAA,MAAM,kBAAkB;;;;iBAOtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;iBA2BnB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8E7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,cAAc,EAAE,YAA2C,CAAC;AAIzE;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,aAAa,GAAG,WAAW,GAChC;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAc9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CASxF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAExE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAE3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE7D;AAqCD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA+BzE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,YAAY,CAAC,CAOvB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CA2C/C;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,EAA0D,CAAC"}
|