gnosys 5.6.0 → 5.7.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.
Files changed (53) hide show
  1. package/dist/cli.js +736 -401
  2. package/dist/cli.js.map +1 -1
  3. package/dist/lib/audit.d.ts +13 -0
  4. package/dist/lib/audit.d.ts.map +1 -1
  5. package/dist/lib/audit.js +42 -0
  6. package/dist/lib/audit.js.map +1 -1
  7. package/dist/lib/chat/llmTurn.d.ts +20 -2
  8. package/dist/lib/chat/llmTurn.d.ts.map +1 -1
  9. package/dist/lib/chat/llmTurn.js +58 -16
  10. package/dist/lib/chat/llmTurn.js.map +1 -1
  11. package/dist/lib/chat/render.d.ts.map +1 -1
  12. package/dist/lib/chat/render.js +18 -0
  13. package/dist/lib/chat/render.js.map +1 -1
  14. package/dist/lib/chat/toolFence.d.ts +54 -0
  15. package/dist/lib/chat/toolFence.d.ts.map +1 -0
  16. package/dist/lib/chat/toolFence.js +90 -0
  17. package/dist/lib/chat/toolFence.js.map +1 -0
  18. package/dist/lib/chat/tools.d.ts +48 -0
  19. package/dist/lib/chat/tools.d.ts.map +1 -0
  20. package/dist/lib/chat/tools.js +338 -0
  21. package/dist/lib/chat/tools.js.map +1 -0
  22. package/dist/lib/db.d.ts +38 -0
  23. package/dist/lib/db.d.ts.map +1 -1
  24. package/dist/lib/db.js +118 -26
  25. package/dist/lib/db.js.map +1 -1
  26. package/dist/lib/remote.d.ts +23 -0
  27. package/dist/lib/remote.d.ts.map +1 -1
  28. package/dist/lib/remote.js +88 -0
  29. package/dist/lib/remote.js.map +1 -1
  30. package/dist/lib/remoteWizard.d.ts.map +1 -1
  31. package/dist/lib/remoteWizard.js +13 -17
  32. package/dist/lib/remoteWizard.js.map +1 -1
  33. package/dist/lib/setup/sections/ides.d.ts +20 -0
  34. package/dist/lib/setup/sections/ides.d.ts.map +1 -0
  35. package/dist/lib/setup/sections/ides.js +124 -0
  36. package/dist/lib/setup/sections/ides.js.map +1 -0
  37. package/dist/lib/setup/sections/preferences.d.ts +30 -0
  38. package/dist/lib/setup/sections/preferences.d.ts.map +1 -0
  39. package/dist/lib/setup/sections/preferences.js +128 -0
  40. package/dist/lib/setup/sections/preferences.js.map +1 -0
  41. package/dist/lib/setup/sections/routing.d.ts +21 -0
  42. package/dist/lib/setup/sections/routing.d.ts.map +1 -0
  43. package/dist/lib/setup/sections/routing.js +160 -0
  44. package/dist/lib/setup/sections/routing.js.map +1 -0
  45. package/dist/lib/setup/summary.d.ts +42 -0
  46. package/dist/lib/setup/summary.d.ts.map +1 -0
  47. package/dist/lib/setup/summary.js +206 -0
  48. package/dist/lib/setup/summary.js.map +1 -0
  49. package/dist/lib/timeline.d.ts +7 -0
  50. package/dist/lib/timeline.d.ts.map +1 -1
  51. package/dist/lib/timeline.js +19 -5
  52. package/dist/lib/timeline.js.map +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Chat-side tool catalog.
3
+ *
4
+ * The LLM in `gnosys chat` can call gnosys functions directly via a fenced
5
+ * protocol (gnosys-tool). Each tool is a small read-only query into the
6
+ * central DB; the result is injected back into the conversation as a system
7
+ * turn before the LLM's next response.
8
+ *
9
+ * Why a fenced protocol instead of native tool_use APIs:
10
+ * - Provider-agnostic: works with Anthropic, OpenAI, Groq, Ollama, LM Studio,
11
+ * and anything that streams plain text. Same approach as gnosys-choose.
12
+ * - Same in-process function calls the MCP server uses internally — no MCP
13
+ * roundtrip, no schema duplication.
14
+ * - The model can chain tool calls naturally (call list_projects, then
15
+ * briefing on a name) because each tool result is a normal turn.
16
+ *
17
+ * Format the model emits:
18
+ *
19
+ * ```gnosys-tool
20
+ * tool: list_projects
21
+ * ```
22
+ *
23
+ * ```gnosys-tool
24
+ * tool: search
25
+ * query: ULID encoding
26
+ * limit: 5
27
+ * ```
28
+ *
29
+ * ```gnosys-tool
30
+ * tool: read
31
+ * id: deci-037
32
+ * ```
33
+ *
34
+ * The fence syntax is parsed by toolFence.ts.
35
+ */
36
+ export interface ToolDefinition {
37
+ name: string;
38
+ description: string;
39
+ /** Parameter names + brief descriptions, shown in the system prompt. */
40
+ params: Record<string, string>;
41
+ /** Run the tool. Returns a markdown string for injection as a system turn. */
42
+ run: (args: Record<string, string>) => Promise<string>;
43
+ }
44
+ export declare function findTool(name: string): ToolDefinition | undefined;
45
+ export declare function listTools(): ToolDefinition[];
46
+ /** System prompt addendum that teaches the LLM the tool-fence syntax. */
47
+ export declare function buildToolsSystemPrompt(): string;
48
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAOH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,8EAA8E;IAC9E,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD;AA2PD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEjE;AAED,wBAAgB,SAAS,IAAI,cAAc,EAAE,CAE5C;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,IAAI,MAAM,CAuB/C"}
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Chat-side tool catalog.
3
+ *
4
+ * The LLM in `gnosys chat` can call gnosys functions directly via a fenced
5
+ * protocol (gnosys-tool). Each tool is a small read-only query into the
6
+ * central DB; the result is injected back into the conversation as a system
7
+ * turn before the LLM's next response.
8
+ *
9
+ * Why a fenced protocol instead of native tool_use APIs:
10
+ * - Provider-agnostic: works with Anthropic, OpenAI, Groq, Ollama, LM Studio,
11
+ * and anything that streams plain text. Same approach as gnosys-choose.
12
+ * - Same in-process function calls the MCP server uses internally — no MCP
13
+ * roundtrip, no schema duplication.
14
+ * - The model can chain tool calls naturally (call list_projects, then
15
+ * briefing on a name) because each tool result is a normal turn.
16
+ *
17
+ * Format the model emits:
18
+ *
19
+ * ```gnosys-tool
20
+ * tool: list_projects
21
+ * ```
22
+ *
23
+ * ```gnosys-tool
24
+ * tool: search
25
+ * query: ULID encoding
26
+ * limit: 5
27
+ * ```
28
+ *
29
+ * ```gnosys-tool
30
+ * tool: read
31
+ * id: deci-037
32
+ * ```
33
+ *
34
+ * The fence syntax is parsed by toolFence.ts.
35
+ */
36
+ import { GnosysDB } from "../db.js";
37
+ import { federatedSearch } from "../federated.js";
38
+ const TOOLS = [
39
+ {
40
+ name: "list_projects",
41
+ description: "List every registered project across the central DB",
42
+ params: {},
43
+ run: async () => {
44
+ const db = GnosysDB.openCentral();
45
+ try {
46
+ const projects = db.getAllProjects();
47
+ if (projects.length === 0)
48
+ return "No projects registered.";
49
+ const lines = ["Projects:"];
50
+ for (const p of projects) {
51
+ const memCount = db.getMemoriesByProject(p.id).length;
52
+ lines.push(`- ${p.name} (id: \`${p.id}\`, ${memCount} active memories) — ${p.working_directory}`);
53
+ }
54
+ return lines.join("\n");
55
+ }
56
+ finally {
57
+ db.close();
58
+ }
59
+ },
60
+ },
61
+ {
62
+ name: "search",
63
+ description: "Search memories by free text. Federated across project/user/global with tier boosting.",
64
+ params: {
65
+ query: "the search string (required)",
66
+ limit: "max results (default 10)",
67
+ project_id: "optional — filter to a project ID",
68
+ },
69
+ run: async (args) => {
70
+ if (!args.query)
71
+ return "Error: `query` is required for the search tool.";
72
+ const db = GnosysDB.openCentral();
73
+ try {
74
+ const results = federatedSearch(db, args.query, {
75
+ limit: args.limit ? parseInt(args.limit, 10) : 10,
76
+ projectId: args.project_id ?? null,
77
+ });
78
+ if (results.length === 0)
79
+ return `No matches for "${args.query}".`;
80
+ const lines = [`Results for "${args.query}" (${results.length}):`];
81
+ for (const r of results) {
82
+ const score = r.score.toFixed(2);
83
+ lines.push(`- [${r.id}] ${r.title} (${r.scope}, score=${score})`);
84
+ lines.push(` ${r.snippet.slice(0, 140)}${r.snippet.length > 140 ? "..." : ""}`);
85
+ }
86
+ return lines.join("\n");
87
+ }
88
+ finally {
89
+ db.close();
90
+ }
91
+ },
92
+ },
93
+ {
94
+ name: "read",
95
+ description: "Read a specific memory by ID. Use after `search` to fetch full content.",
96
+ params: {
97
+ id: "the memory ID (required)",
98
+ },
99
+ run: async (args) => {
100
+ if (!args.id)
101
+ return "Error: `id` is required for the read tool.";
102
+ const db = GnosysDB.openCentral();
103
+ try {
104
+ const mem = db.getMemory(args.id);
105
+ if (!mem)
106
+ return `Memory not found: \`${args.id}\``;
107
+ const tags = (() => {
108
+ try {
109
+ const t = JSON.parse(mem.tags || "[]");
110
+ return Array.isArray(t) ? t.join(", ") : "—";
111
+ }
112
+ catch {
113
+ return "—";
114
+ }
115
+ })();
116
+ return [
117
+ `# ${mem.title}`,
118
+ `id: ${mem.id} · category: ${mem.category} · scope: ${mem.scope} · confidence: ${mem.confidence}`,
119
+ `tags: ${tags}`,
120
+ "",
121
+ mem.content,
122
+ ].join("\n");
123
+ }
124
+ finally {
125
+ db.close();
126
+ }
127
+ },
128
+ },
129
+ {
130
+ name: "briefing",
131
+ description: "Generate a project briefing — categories, recent activity, top tags. Pass project_id OR project_name (current project if neither given).",
132
+ params: {
133
+ project_id: "the project ID (optional)",
134
+ project_name: "the project name (optional, looked up if id not given)",
135
+ },
136
+ run: async (args) => {
137
+ const db = GnosysDB.openCentral();
138
+ try {
139
+ const { generateBriefing, detectCurrentProject } = await import("../federated.js");
140
+ let pid = args.project_id ?? null;
141
+ if (!pid && args.project_name) {
142
+ const all = db.getAllProjects();
143
+ const found = all.find((p) => p.name === args.project_name);
144
+ if (found)
145
+ pid = found.id;
146
+ }
147
+ if (!pid)
148
+ pid = await detectCurrentProject(db, undefined);
149
+ if (!pid)
150
+ return "No project specified or detected.";
151
+ const briefing = generateBriefing(db, pid);
152
+ if (!briefing)
153
+ return `Project not found: ${pid}`;
154
+ return briefing.summary;
155
+ }
156
+ finally {
157
+ db.close();
158
+ }
159
+ },
160
+ },
161
+ {
162
+ name: "stats",
163
+ description: "Memory counts by project (active, archived, reinforcements). The 'how many memories?' tool.",
164
+ params: {},
165
+ run: async () => {
166
+ const db = GnosysDB.openCentral();
167
+ try {
168
+ const projects = db.getAllProjects();
169
+ const all = db.getAllMemories();
170
+ const lines = ["Project statistics:"];
171
+ let totalActive = 0;
172
+ for (const p of projects) {
173
+ const ms = all.filter((m) => m.project_id === p.id);
174
+ const active = ms.filter((m) => m.tier === "active" && m.status === "active").length;
175
+ const archived = ms.filter((m) => m.tier === "archive").length;
176
+ totalActive += active;
177
+ lines.push(`- ${p.name}: ${active} active, ${archived} archived`);
178
+ }
179
+ const userScope = all.filter((m) => !m.project_id && m.scope === "user").length;
180
+ const globalScope = all.filter((m) => !m.project_id && m.scope === "global").length;
181
+ if (userScope > 0)
182
+ lines.push(`- (user-scope): ${userScope}`);
183
+ if (globalScope > 0)
184
+ lines.push(`- (global): ${globalScope}`);
185
+ lines.push(`Total active: ${totalActive + userScope + globalScope}`);
186
+ return lines.join("\n");
187
+ }
188
+ finally {
189
+ db.close();
190
+ }
191
+ },
192
+ },
193
+ {
194
+ name: "tags",
195
+ description: "List all tags used across memories with their occurrence counts.",
196
+ params: {
197
+ limit: "max tags to return (default 30)",
198
+ },
199
+ run: async (args) => {
200
+ const db = GnosysDB.openCentral();
201
+ try {
202
+ const all = db.getActiveMemories();
203
+ const counts = new Map();
204
+ for (const m of all) {
205
+ try {
206
+ const tags = JSON.parse(m.tags || "[]");
207
+ if (Array.isArray(tags)) {
208
+ for (const t of tags)
209
+ counts.set(t, (counts.get(t) ?? 0) + 1);
210
+ }
211
+ }
212
+ catch { /* skip malformed */ }
213
+ }
214
+ const limit = args.limit ? parseInt(args.limit, 10) : 30;
215
+ const sorted = [...counts.entries()].sort((a, b) => b[1] - a[1]).slice(0, limit);
216
+ if (sorted.length === 0)
217
+ return "No tags found.";
218
+ return ["Tags (most common):", ...sorted.map(([t, n]) => `- ${t}: ${n}`)].join("\n");
219
+ }
220
+ finally {
221
+ db.close();
222
+ }
223
+ },
224
+ },
225
+ {
226
+ name: "audit",
227
+ description: "Recent operations from the audit log (writes, reads, dream cycles). Useful for 'what did you do recently?'",
228
+ params: {
229
+ days: "look back N days (default 7)",
230
+ operation: "filter by operation (write, read, recall, dream_complete, etc.)",
231
+ limit: "max entries (default 20)",
232
+ },
233
+ run: async (args) => {
234
+ const db = GnosysDB.openCentral();
235
+ try {
236
+ const days = args.days ? parseInt(args.days, 10) : 7;
237
+ const cutoff = new Date();
238
+ cutoff.setDate(cutoff.getDate() - days);
239
+ const limit = args.limit ? parseInt(args.limit, 10) : 20;
240
+ const entries = db.queryAuditLog({
241
+ sinceIso: cutoff.toISOString(),
242
+ operation: args.operation,
243
+ limit,
244
+ });
245
+ if (entries.length === 0)
246
+ return `No audit entries in the last ${days} day(s).`;
247
+ const lines = [`Recent ${entries.length} audit entr${entries.length === 1 ? "y" : "ies"} (last ${days} days):`];
248
+ for (const e of entries) {
249
+ const memRef = e.memory_id ? ` → ${e.memory_id}` : "";
250
+ const dur = e.duration_ms ? ` (${e.duration_ms}ms)` : "";
251
+ lines.push(`- ${e.timestamp.slice(0, 19)} ${e.operation}${memRef}${dur}`);
252
+ }
253
+ return lines.join("\n");
254
+ }
255
+ finally {
256
+ db.close();
257
+ }
258
+ },
259
+ },
260
+ {
261
+ name: "recent_memories",
262
+ description: "Memories created or modified recently. Useful for 'what's the latest in project X?'",
263
+ params: {
264
+ project_name: "filter to a project name (optional)",
265
+ project_id: "filter to a project ID (optional)",
266
+ days: "look back N days (default 7)",
267
+ limit: "max results (default 20)",
268
+ },
269
+ run: async (args) => {
270
+ const db = GnosysDB.openCentral();
271
+ try {
272
+ const days = args.days ? parseInt(args.days, 10) : 7;
273
+ const limit = args.limit ? parseInt(args.limit, 10) : 20;
274
+ const cutoff = new Date();
275
+ cutoff.setDate(cutoff.getDate() - days);
276
+ const cutoffStr = cutoff.toISOString().slice(0, 10);
277
+ let pid = args.project_id ?? null;
278
+ if (!pid && args.project_name) {
279
+ const found = db.getAllProjects().find((p) => p.name === args.project_name);
280
+ if (found)
281
+ pid = found.id;
282
+ }
283
+ const all = pid
284
+ ? db.getMemoriesByProject(pid)
285
+ : db.getActiveMemories();
286
+ const recent = all
287
+ .filter((m) => (m.modified || m.created) >= cutoffStr)
288
+ .sort((a, b) => (b.modified || b.created).localeCompare(a.modified || a.created))
289
+ .slice(0, limit);
290
+ if (recent.length === 0) {
291
+ return `No memories modified in the last ${days} day(s)${pid ? " for that project" : ""}.`;
292
+ }
293
+ const lines = [`Recent ${recent.length} memor${recent.length === 1 ? "y" : "ies"} (last ${days} days):`];
294
+ for (const m of recent) {
295
+ lines.push(`- [${m.id}] ${m.title} (${m.modified || m.created})`);
296
+ }
297
+ return lines.join("\n");
298
+ }
299
+ finally {
300
+ db.close();
301
+ }
302
+ },
303
+ },
304
+ ];
305
+ // ─── Public API ────────────────────────────────────────────────────────────
306
+ const TOOL_INDEX = new Map(TOOLS.map((t) => [t.name, t]));
307
+ export function findTool(name) {
308
+ return TOOL_INDEX.get(name);
309
+ }
310
+ export function listTools() {
311
+ return [...TOOLS];
312
+ }
313
+ /** System prompt addendum that teaches the LLM the tool-fence syntax. */
314
+ export function buildToolsSystemPrompt() {
315
+ const lines = [
316
+ "",
317
+ "You can call gnosys functions to look up live data the user is asking about. Emit a fenced block:",
318
+ "",
319
+ "```gnosys-tool",
320
+ "tool: <name>",
321
+ "<param>: <value>",
322
+ "```",
323
+ "",
324
+ "After the fence, STOP. The runtime will execute the tool and inject the result before your next message. Then continue your reply naturally, citing the tool result.",
325
+ "",
326
+ "Available tools:",
327
+ ];
328
+ for (const t of TOOLS) {
329
+ const params = Object.keys(t.params).length > 0
330
+ ? ` (params: ${Object.entries(t.params).map(([k, d]) => `${k} — ${d}`).join("; ")})`
331
+ : "";
332
+ lines.push(`- ${t.name}: ${t.description}${params}`);
333
+ }
334
+ lines.push("");
335
+ lines.push("Don't make up data — call a tool when the user asks anything specific about projects, memories, recent activity, tags, or stats.");
336
+ return lines.join("\n");
337
+ }
338
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/lib/chat/tools.ts"],"names":[],"mappings":"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"}
package/dist/lib/db.d.ts CHANGED
@@ -145,6 +145,23 @@ export declare class GnosysDB {
145
145
  * file handles after a WAL checkpoint or remount.
146
146
  */
147
147
  reopen(): void;
148
+ /**
149
+ * Execute a DB operation with automatic recovery from stale-handle errors.
150
+ *
151
+ * SQLITE_CORRUPT ("database disk image is malformed") can happen when a
152
+ * long-lived handle (e.g. an MCP server process) sees stale pages after
153
+ * concurrent writes from another process (`gnosys setup`, sync layer, etc.)
154
+ * truncated the WAL or rolled the schema. The DB file itself is fine —
155
+ * just our cached page view is out of date.
156
+ *
157
+ * Strategy: catch the error, close + reopen the handle, retry once. If it
158
+ * still fails after reopen, rethrow — that's a real corruption case.
159
+ *
160
+ * Used internally by write methods that the MCP server calls long-term.
161
+ * Read methods are also wrapped because reads against stale pages can
162
+ * surface the same error.
163
+ */
164
+ private withRecovery;
148
165
  /**
149
166
  * Restore from a backup file. Closes current DB, copies backup over, re-opens.
150
167
  */
@@ -234,6 +251,27 @@ export declare class GnosysDB {
234
251
  getAllSummaries(): DbSummary[];
235
252
  logAudit(entry: Omit<DbAuditEntry, "id">): void;
236
253
  getAuditLog(memoryId: string, limit?: number): DbAuditEntry[];
254
+ /**
255
+ * Get audit entries newer than a given timestamp. Used by remote sync to
256
+ * push/pull audit_log incrementally. Returns oldest-first so order is
257
+ * preserved across machines.
258
+ */
259
+ getAuditEntriesAfter(sinceIso: string, limit?: number): DbAuditEntry[];
260
+ /**
261
+ * Get the most recent audit timestamp seen in this DB. Used as a high-water
262
+ * mark for sync: "push entries newer than the most recent timestamp the
263
+ * remote has already seen". Returns null when the table is empty.
264
+ */
265
+ getLatestAuditTimestamp(): string | null;
266
+ /**
267
+ * Query audit entries with optional filters. Returns newest first.
268
+ * Used by `gnosys audit` and `gnosys doctor` reports.
269
+ */
270
+ queryAuditLog(opts?: {
271
+ sinceIso?: string;
272
+ operation?: string;
273
+ limit?: number;
274
+ }): DbAuditEntry[];
237
275
  updateEmbedding(id: string, embedding: Buffer): void;
238
276
  getEmbedding(id: string): Buffer | null;
239
277
  getAllEmbeddings(): Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"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"}