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
@@ -133,16 +133,13 @@ async function setupRemoteFlow(rl, centralDb, localActiveCount) {
133
133
  const candidates = detectVolumeCandidates();
134
134
  let remotePath;
135
135
  if (candidates.length > 0) {
136
- console.log("Detected mounted volumes:");
137
- candidates.forEach((c, i) => console.log(` ${i + 1}) ${c}`));
138
- console.log(` ${candidates.length + 1}) Custom path`);
139
- console.log(` ${candidates.length + 2}) Cancel`);
136
+ // askChoice() prints the option list — don't double-print it here.
140
137
  const choices = [
141
138
  ...candidates.map((_, i) => ({ key: String(i + 1), label: candidates[i] })),
142
139
  { key: String(candidates.length + 1), label: "Custom path" },
143
- { key: String(candidates.length + 2), label: "Cancel" },
140
+ { key: String(candidates.length + 2), label: "Skip" },
144
141
  ];
145
- const choice = await askChoice(rl, "Select a volume or enter a custom path:", choices);
142
+ const choice = await askChoice(rl, "Detected mounted volumes select one:", choices);
146
143
  if (choice === String(candidates.length + 2))
147
144
  return false;
148
145
  if (choice === String(candidates.length + 1)) {
@@ -206,14 +203,17 @@ async function setupRemoteFlow(rl, centralDb, localActiveCount) {
206
203
  }
207
204
  else {
208
205
  // BOTH have data — the tricky case
209
- console.log(` Local DB: ${localActiveCount} memories`);
210
- console.log(` Remote DB: ${validation.checks.existingDb.memoryCount} memories`);
206
+ // Reword to match deci-037: remote is the canonical source of truth,
207
+ // local is an offline-resilience cache. The two counts shown here are
208
+ // pre-merge snapshots, not "two co-equal copies".
209
+ console.log(` Remote DB (source of truth): ${validation.checks.existingDb.memoryCount} memories`);
210
+ console.log(` Local cache (offline backup): ${localActiveCount} memories`);
211
211
  console.log("");
212
212
  const choice = await askChoice(rl, "How do you want to combine them?", [
213
- { key: "1", label: "Merge — push local-only memories up, pull remote-only down, flag any conflicts (recommended)" },
214
- { key: "2", label: "Replace remote with my local (overwrites the remote — destructive)" },
215
- { key: "3", label: "Replace local with remote (your local memories will be lost — destructive)" },
216
- { key: "4", label: "Cancel" },
213
+ { key: "1", label: "Merge — push local-only memories up, pull remote-only down, flag conflicts (recommended)" },
214
+ { key: "2", label: "Replace remote with local (overwrites remote — destructive)" },
215
+ { key: "3", label: "Replace local with remote (overwrites local cache)" },
216
+ { key: "4", label: "Skip — configure remote without touching either DB" },
217
217
  ], "1");
218
218
  if (choice === "1")
219
219
  strategy = "merge";
@@ -222,7 +222,7 @@ async function setupRemoteFlow(rl, centralDb, localActiveCount) {
222
222
  else if (choice === "3")
223
223
  strategy = "pull";
224
224
  else
225
- strategy = "cancel";
225
+ strategy = "configure-only"; // "Skip" is configure-only, not cancel
226
226
  if (strategy === "migrate" || strategy === "pull") {
227
227
  const confirm = await askConfirm(rl, `\nThis will overwrite the ${strategy === "migrate" ? "remote" : "local"} DB. Are you sure?`, false);
228
228
  if (!confirm) {
@@ -231,10 +231,6 @@ async function setupRemoteFlow(rl, centralDb, localActiveCount) {
231
231
  }
232
232
  }
233
233
  }
234
- if (strategy === "cancel") {
235
- console.log("Cancelled.");
236
- return false;
237
- }
238
234
  // Step 4: Save config and execute strategy
239
235
  centralDb.setMeta(REMOTE_PATH_KEY, remotePath);
240
236
  console.log(`\n✓ Remote configured: ${remotePath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"remoteWizard.js","sourceRoot":"","sources":["../../src/lib/remoteWizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteWizard.js","sourceRoot":"","sources":["../../src/lib/remoteWizard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Setup: IDE integration.
3
+ *
4
+ * Standalone wizard for configuring MCP integration with the supported IDEs
5
+ * (Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, Antigravity).
6
+ * Extracted from the linear `runSetup` so it can be invoked directly via
7
+ * `gnosys setup ides` or from the summary-first menu.
8
+ */
9
+ import { Interface as ReadlineInterface } from "readline/promises";
10
+ export interface IdesSetupOptions {
11
+ rl: ReadlineInterface;
12
+ directory: string;
13
+ }
14
+ /**
15
+ * Run the IDE-integration wizard. Detects which IDEs are present in the
16
+ * project directory and lets the user pick which to wire up.
17
+ * Returns true if at least one IDE config was written.
18
+ */
19
+ export declare function runIdesSetup(opts: IdesSetupOptions): Promise<boolean>;
20
+ //# sourceMappingURL=ides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ides.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/sections/ides.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA2BnE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,iBAAiB,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AA2BD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuE3E"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Setup: IDE integration.
3
+ *
4
+ * Standalone wizard for configuring MCP integration with the supported IDEs
5
+ * (Claude Code, Claude Desktop, Cursor, Codex, Gemini CLI, Antigravity).
6
+ * Extracted from the linear `runSetup` so it can be invoked directly via
7
+ * `gnosys setup ides` or from the summary-first menu.
8
+ */
9
+ import fs from "fs/promises";
10
+ import path from "path";
11
+ import { detectIDEs, setupIDE } from "../../setup.js";
12
+ const BOLD = "\x1b[1m";
13
+ const DIM = "\x1b[2m";
14
+ const GREEN = "\x1b[32m";
15
+ const RED = "\x1b[31m";
16
+ const RESET = "\x1b[0m";
17
+ const CHECK = `${GREEN}✓${RESET}`;
18
+ const CROSS = `${RED}✗${RESET}`;
19
+ const IDE_LABELS = {
20
+ claude: "Claude Code",
21
+ "claude-desktop": "Claude Desktop",
22
+ cursor: "Cursor",
23
+ codex: "Codex",
24
+ "gemini-cli": "Gemini CLI",
25
+ antigravity: "Antigravity",
26
+ };
27
+ const ALL_IDE_KEYS = ["claude", "claude-desktop", "cursor", "codex", "gemini-cli", "antigravity"];
28
+ // IDEs whose MCP config lives at the user level (~/...) rather than per-project.
29
+ const USER_LEVEL_IDES = new Set(["claude", "claude-desktop", "gemini-cli", "antigravity"]);
30
+ async function ask(rl, prompt) {
31
+ return (await rl.question(prompt)).trim();
32
+ }
33
+ async function askChoice(rl, prompt, choices, defaultIdx = 0) {
34
+ if (prompt)
35
+ console.log(prompt);
36
+ choices.forEach((c, i) => {
37
+ const marker = i === defaultIdx ? ` ${DIM}(default)${RESET}` : "";
38
+ console.log(` ${i + 1}. ${c}${marker}`);
39
+ });
40
+ for (let attempts = 0; attempts < 5; attempts++) {
41
+ const answer = await ask(rl, "> ");
42
+ if (!answer)
43
+ return defaultIdx;
44
+ const n = parseInt(answer, 10);
45
+ if (!Number.isNaN(n) && n >= 1 && n <= choices.length)
46
+ return n - 1;
47
+ console.log(`${DIM}Pick a number 1-${choices.length}${RESET}`);
48
+ }
49
+ return defaultIdx;
50
+ }
51
+ /**
52
+ * Run the IDE-integration wizard. Detects which IDEs are present in the
53
+ * project directory and lets the user pick which to wire up.
54
+ * Returns true if at least one IDE config was written.
55
+ */
56
+ export async function runIdesSetup(opts) {
57
+ console.log("");
58
+ console.log(`${BOLD}IDE Integration${RESET}`);
59
+ console.log("");
60
+ const detected = await detectIDEs(opts.directory);
61
+ if (detected.length > 0) {
62
+ const names = detected.map((id) => IDE_LABELS[id] ?? id).join(", ");
63
+ console.log(`Detected: ${GREEN}${names}${RESET}`);
64
+ }
65
+ else {
66
+ console.log(`${DIM}No IDE integrations detected in this directory.${RESET}`);
67
+ }
68
+ console.log("");
69
+ const ideOptions = [];
70
+ const ideKeyForOption = [];
71
+ for (const ide of ALL_IDE_KEYS) {
72
+ const isDetected = detected.includes(ide);
73
+ const label = IDE_LABELS[ide] ?? ide;
74
+ if (isDetected) {
75
+ ideOptions.push(`${label} ${DIM}(detected)${RESET}`);
76
+ }
77
+ else if (USER_LEVEL_IDES.has(ide)) {
78
+ ideOptions.push(`${label} ${DIM}(not detected — will configure user-level)${RESET}`);
79
+ }
80
+ else {
81
+ ideOptions.push(`${label} ${DIM}(create .${ide}/)${RESET}`);
82
+ }
83
+ ideKeyForOption.push(ide);
84
+ }
85
+ ideOptions.push("All");
86
+ ideOptions.push("Skip");
87
+ const idx = await askChoice(opts.rl, "Pick an IDE to configure:", ideOptions);
88
+ let idesToSetup = [];
89
+ if (idx < ALL_IDE_KEYS.length) {
90
+ idesToSetup = [ideKeyForOption[idx]];
91
+ }
92
+ else if (idx === ALL_IDE_KEYS.length) {
93
+ idesToSetup = [...ALL_IDE_KEYS];
94
+ }
95
+ // Last option is Skip
96
+ if (idesToSetup.length === 0) {
97
+ console.log(`${DIM}Skipped.${RESET}`);
98
+ return false;
99
+ }
100
+ let configured = 0;
101
+ for (const ide of idesToSetup) {
102
+ if (!detected.includes(ide) && !USER_LEVEL_IDES.has(ide)) {
103
+ const dirPath = path.join(opts.directory, `.${ide}`);
104
+ try {
105
+ await fs.mkdir(dirPath, { recursive: true });
106
+ console.log(` ${CHECK} Created .${ide}/ directory`);
107
+ }
108
+ catch (err) {
109
+ console.log(` ${CROSS} Could not create .${ide}/: ${err instanceof Error ? err.message : String(err)}`);
110
+ continue;
111
+ }
112
+ }
113
+ const result = await setupIDE(ide, opts.directory);
114
+ if (result.success) {
115
+ console.log(` ${CHECK} ${result.message}`);
116
+ configured++;
117
+ }
118
+ else {
119
+ console.log(` ${CROSS} ${IDE_LABELS[ide] ?? ide}: ${result.message}`);
120
+ }
121
+ }
122
+ return configured > 0;
123
+ }
124
+ //# sourceMappingURL=ides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ides.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/ides.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Setup: User Preferences review.
3
+ *
4
+ * v5.6.0 dogfooding turned up 4 user preferences in the central DB the user
5
+ * didn't recall setting. Investigation: they were imported on 2026-03-25
6
+ * from an external source (their prior memory tool / CLAUDE.md content).
7
+ * Their IDs use the format `mem-<timestamp>-<random>` rather than the
8
+ * gnosys-native `prefix-ULID` pattern.
9
+ *
10
+ * This wizard lists every user-scope preference and lets the user
11
+ * keep / edit / delete each one — closing the loop on those mystery prefs
12
+ * and giving people a place to manage user-scope config going forward.
13
+ */
14
+ import { Interface as ReadlineInterface } from "readline/promises";
15
+ export interface UserPreference {
16
+ id: string;
17
+ title: string;
18
+ content: string;
19
+ created: string;
20
+ modified: string;
21
+ source: "gnosys-native" | "imported" | "unknown";
22
+ }
23
+ /** Load every user-scope memory from the central DB (preferences are scope='user'). */
24
+ export declare function listUserPreferences(): Promise<UserPreference[]>;
25
+ /**
26
+ * Run the interactive preferences review. Returns true if anything was
27
+ * changed (deleted or edited).
28
+ */
29
+ export declare function runPreferencesReview(rl: ReadlineInterface): Promise<boolean>;
30
+ //# sourceMappingURL=preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AASnE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;CAClD;AAUD,uFAAuF;AACvF,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAmBrE;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2ElF"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Setup: User Preferences review.
3
+ *
4
+ * v5.6.0 dogfooding turned up 4 user preferences in the central DB the user
5
+ * didn't recall setting. Investigation: they were imported on 2026-03-25
6
+ * from an external source (their prior memory tool / CLAUDE.md content).
7
+ * Their IDs use the format `mem-<timestamp>-<random>` rather than the
8
+ * gnosys-native `prefix-ULID` pattern.
9
+ *
10
+ * This wizard lists every user-scope preference and lets the user
11
+ * keep / edit / delete each one — closing the loop on those mystery prefs
12
+ * and giving people a place to manage user-scope config going forward.
13
+ */
14
+ import { GnosysDB } from "../../db.js";
15
+ const DIM = "\x1b[2m";
16
+ const GREEN = "\x1b[32m";
17
+ const RED = "\x1b[31m";
18
+ const YELLOW = "\x1b[33m";
19
+ const RESET = "\x1b[0m";
20
+ /** Inspect a memory ID and classify it. v5.x gnosys uses `prefix-ULID` (26-char Crockford). */
21
+ function classifyId(id) {
22
+ if (/^pref-[a-z0-9-]+$/.test(id))
23
+ return "gnosys-native"; // explicit pref ID
24
+ if (/^[a-z]+-[0-9A-HJKMNP-TV-Z]{26}$/.test(id))
25
+ return "gnosys-native"; // ULID format
26
+ if (/^mem-\d+-[a-z0-9]+$/.test(id))
27
+ return "imported"; // pre-gnosys timestamp+random
28
+ return "unknown";
29
+ }
30
+ /** Load every user-scope memory from the central DB (preferences are scope='user'). */
31
+ export async function listUserPreferences() {
32
+ const db = GnosysDB.openCentral();
33
+ if (!db.isAvailable()) {
34
+ db.close();
35
+ return [];
36
+ }
37
+ try {
38
+ const memories = db.getMemoriesByScope("user");
39
+ return memories.map((m) => ({
40
+ id: m.id,
41
+ title: m.title,
42
+ content: m.content,
43
+ created: m.created,
44
+ modified: m.modified,
45
+ source: classifyId(m.id),
46
+ }));
47
+ }
48
+ finally {
49
+ db.close();
50
+ }
51
+ }
52
+ /**
53
+ * Run the interactive preferences review. Returns true if anything was
54
+ * changed (deleted or edited).
55
+ */
56
+ export async function runPreferencesReview(rl) {
57
+ const prefs = await listUserPreferences();
58
+ let anyChange = false;
59
+ if (prefs.length === 0) {
60
+ console.log(`${DIM}No user-scope preferences stored.${RESET}`);
61
+ console.log(`${DIM}Set one with: gnosys pref set <key> <value>${RESET}`);
62
+ return false;
63
+ }
64
+ while (true) {
65
+ // Reload each iteration since deletions change the list
66
+ const current = await listUserPreferences();
67
+ if (current.length === 0)
68
+ return anyChange;
69
+ console.log("");
70
+ console.log("User-scope preferences:");
71
+ current.forEach((p, i) => {
72
+ const tag = p.source === "imported"
73
+ ? `${YELLOW}imported${RESET}`
74
+ : p.source === "gnosys-native"
75
+ ? `${GREEN}native${RESET}`
76
+ : `${YELLOW}unknown${RESET}`;
77
+ const preview = p.content.replace(/\s+/g, " ").trim().slice(0, 60);
78
+ console.log(` ${i + 1}. [${tag}] ${p.title}`);
79
+ console.log(` ${DIM}${p.id}${RESET}`);
80
+ console.log(` ${DIM}${preview}${preview.length === 60 ? "..." : ""}${RESET}`);
81
+ });
82
+ console.log("");
83
+ console.log(` Pick a number to view/delete · ${DIM}b/back${RESET} to exit`);
84
+ const answer = (await rl.question("> ")).trim().toLowerCase();
85
+ if (!answer || answer === "b" || answer === "back")
86
+ return anyChange;
87
+ const idx = parseInt(answer, 10) - 1;
88
+ if (Number.isNaN(idx) || idx < 0 || idx >= current.length) {
89
+ console.log(`${DIM}Unknown choice: ${answer}${RESET}`);
90
+ continue;
91
+ }
92
+ const pref = current[idx];
93
+ // Show full pref + offer Keep / Delete
94
+ console.log("");
95
+ console.log(`${pref.title}`);
96
+ console.log(`${DIM}id: ${pref.id} source: ${pref.source} created: ${pref.created.slice(0, 10)}${RESET}`);
97
+ console.log("");
98
+ console.log(pref.content);
99
+ console.log("");
100
+ const action = (await rl.question("[K]eep · [D]elete · [B]ack> ")).trim().toLowerCase();
101
+ if (action === "d" || action === "delete") {
102
+ const confirm = (await rl.question(`Delete "${pref.title}"? [y/N] `)).trim().toLowerCase();
103
+ if (confirm === "y" || confirm === "yes") {
104
+ const db = GnosysDB.openCentral();
105
+ try {
106
+ db.deleteMemory(pref.id);
107
+ db.logAudit({
108
+ timestamp: new Date().toISOString(),
109
+ operation: "delete",
110
+ memory_id: pref.id,
111
+ details: JSON.stringify({ source: "setup-preferences-review" }),
112
+ duration_ms: null,
113
+ trace_id: null,
114
+ });
115
+ console.log(`${GREEN}✓${RESET} Deleted ${pref.id}`);
116
+ anyChange = true;
117
+ }
118
+ catch (err) {
119
+ console.log(`${RED}✗${RESET} Failed: ${err instanceof Error ? err.message : String(err)}`);
120
+ }
121
+ finally {
122
+ db.close();
123
+ }
124
+ }
125
+ }
126
+ }
127
+ }
128
+ //# sourceMappingURL=preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Setup: Task Routing.
3
+ *
4
+ * Standalone wizard for configuring per-task LLM routing
5
+ * (structuring / synthesis / vision / transcription / dream).
6
+ * Extracted from the linear `runSetup` flow so it can be invoked
7
+ * directly via `gnosys setup routing` or from the summary-first menu.
8
+ */
9
+ import { Interface as ReadlineInterface } from "readline/promises";
10
+ export declare const TASK_DESCRIPTIONS: Record<string, string>;
11
+ export interface RoutingOptions {
12
+ rl: ReadlineInterface;
13
+ directory: string;
14
+ }
15
+ /**
16
+ * Run the task-routing wizard. Reads current config, walks the 3-way choice
17
+ * (keep defaults / customize individual / use same for all), writes any
18
+ * overrides via updateConfig(). Returns true if config was changed.
19
+ */
20
+ export declare function runRoutingSetup(opts: RoutingOptions): Promise<boolean>;
21
+ //# sourceMappingURL=routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/sections/routing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAgBnE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMpD,CAAC;AAKF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,iBAAiB,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AA8DD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CA+F5E"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Setup: Task Routing.
3
+ *
4
+ * Standalone wizard for configuring per-task LLM routing
5
+ * (structuring / synthesis / vision / transcription / dream).
6
+ * Extracted from the linear `runSetup` flow so it can be invoked
7
+ * directly via `gnosys setup routing` or from the summary-first menu.
8
+ */
9
+ import { loadConfig, updateConfig, resolveTaskModel, getProviderModel, } from "../../config.js";
10
+ const BOLD = "\x1b[1m";
11
+ const DIM = "\x1b[2m";
12
+ const GREEN = "\x1b[32m";
13
+ const RESET = "\x1b[0m";
14
+ const CHECK = `${GREEN}✓${RESET}`;
15
+ export const TASK_DESCRIPTIONS = {
16
+ structuring: "adding memories, tagging",
17
+ synthesis: "Q&A answers, chat",
18
+ vision: "images, PDFs",
19
+ transcription: "audio files",
20
+ dream: "idle consolidation",
21
+ };
22
+ const TASKS = ["structuring", "synthesis", "vision", "transcription"];
23
+ async function ask(rl, prompt) {
24
+ return (await rl.question(prompt)).trim();
25
+ }
26
+ async function askYesNo(rl, prompt, defaultYes) {
27
+ const hint = defaultYes ? " [Y/n] " : " [y/N] ";
28
+ const answer = (await ask(rl, prompt + hint)).toLowerCase();
29
+ if (!answer)
30
+ return defaultYes;
31
+ return answer === "y" || answer === "yes";
32
+ }
33
+ async function askChoice(rl, prompt, choices, defaultIdx = 0) {
34
+ console.log("");
35
+ if (prompt)
36
+ console.log(prompt);
37
+ choices.forEach((c, i) => {
38
+ const marker = i === defaultIdx ? ` ${DIM}(default)${RESET}` : "";
39
+ console.log(` ${i + 1}. ${c}${marker}`);
40
+ });
41
+ for (let attempts = 0; attempts < 5; attempts++) {
42
+ const answer = await ask(rl, "> ");
43
+ if (!answer)
44
+ return defaultIdx;
45
+ const n = parseInt(answer, 10);
46
+ if (!Number.isNaN(n) && n >= 1 && n <= choices.length)
47
+ return n - 1;
48
+ console.log(`${DIM}Pick a number 1-${choices.length}${RESET}`);
49
+ }
50
+ return defaultIdx;
51
+ }
52
+ function buildEffectiveRouting(cfg) {
53
+ const out = {};
54
+ for (const t of TASKS) {
55
+ const r = resolveTaskModel(cfg, t);
56
+ out[t] = { provider: r.provider, model: r.model };
57
+ }
58
+ out.dream = {
59
+ provider: cfg.dream?.provider ?? "ollama",
60
+ model: cfg.dream?.model ?? getProviderModel(cfg, (cfg.dream?.provider ?? "ollama")),
61
+ };
62
+ return out;
63
+ }
64
+ function printTable(routing, dreamEnabled) {
65
+ const taskNameWidth = 16;
66
+ const routingWidth = 38;
67
+ console.log(` ${BOLD}${"Task".padEnd(taskNameWidth)}${"Current Routing".padEnd(routingWidth)}${RESET}`);
68
+ console.log(` ${"─".repeat(taskNameWidth + routingWidth)}`);
69
+ for (const t of [...TASKS, "dream"]) {
70
+ const r = routing[t];
71
+ const desc = TASK_DESCRIPTIONS[t] ?? "";
72
+ const status = t === "dream" && !dreamEnabled ? `${DIM}(disabled)${RESET}` : `${DIM}(${desc})${RESET}`;
73
+ console.log(` ${t.padEnd(taskNameWidth)}${`${r.provider} / ${r.model}`.padEnd(routingWidth)}${status}`);
74
+ }
75
+ console.log("");
76
+ }
77
+ /**
78
+ * Run the task-routing wizard. Reads current config, walks the 3-way choice
79
+ * (keep defaults / customize individual / use same for all), writes any
80
+ * overrides via updateConfig(). Returns true if config was changed.
81
+ */
82
+ export async function runRoutingSetup(opts) {
83
+ const cfg = await loadConfig(opts.directory);
84
+ const provider = cfg.llm.defaultProvider;
85
+ const model = getProviderModel(cfg, provider);
86
+ console.log("");
87
+ console.log(`${BOLD}Task Routing${RESET}`);
88
+ console.log("");
89
+ console.log(`Each task can use a different LLM. Defaults flow from your provider`);
90
+ console.log(`(${BOLD}${provider} / ${model}${RESET}). Override per-task or keep defaults.`);
91
+ console.log("");
92
+ const dreamEnabled = !!cfg.dream?.enabled;
93
+ const routing = buildEffectiveRouting(cfg);
94
+ printTable(routing, dreamEnabled);
95
+ const choice = await askChoice(opts.rl, "What would you like to do?", [
96
+ `Keep defaults (all tasks use ${provider})`,
97
+ "Customize individual tasks",
98
+ "Use same provider for ALL tasks (including dream)",
99
+ ], 0);
100
+ if (choice === 0) {
101
+ console.log(`${DIM}No changes.${RESET}`);
102
+ return false;
103
+ }
104
+ const newTaskModels = {
105
+ ...(cfg.taskModels ?? {}),
106
+ };
107
+ let dreamProvider = (cfg.dream?.provider ?? "ollama");
108
+ let dreamModel = cfg.dream?.model ?? "llama3.2";
109
+ let dreamEnabledNew = dreamEnabled;
110
+ if (choice === 1) {
111
+ // Customize each task
112
+ for (const t of TASKS) {
113
+ const current = routing[t];
114
+ const keep = await askYesNo(opts.rl, `Keep ${t} → ${current.provider} / ${current.model}?`, true);
115
+ if (!keep) {
116
+ const p = await ask(opts.rl, ` Provider for ${t} (e.g. anthropic, openai, xai, ollama): `);
117
+ const m = await ask(opts.rl, ` Model for ${t}: `);
118
+ if (p && m)
119
+ newTaskModels[t] = { provider: p, model: m };
120
+ }
121
+ }
122
+ // Dream
123
+ dreamEnabledNew = await askYesNo(opts.rl, "Enable dream mode?", dreamEnabled);
124
+ if (dreamEnabledNew) {
125
+ const keepDream = await askYesNo(opts.rl, `Keep dream → ${dreamProvider} / ${dreamModel}?`, true);
126
+ if (!keepDream) {
127
+ const p = (await ask(opts.rl, " Provider for dream: "));
128
+ if (p)
129
+ dreamProvider = p;
130
+ dreamModel = (await ask(opts.rl, " Model for dream: ")) || dreamModel;
131
+ }
132
+ }
133
+ }
134
+ else {
135
+ // choice === 2: use same provider for everything
136
+ for (const t of TASKS) {
137
+ newTaskModels[t] = { provider, model };
138
+ }
139
+ dreamEnabledNew = await askYesNo(opts.rl, `Enable dream with ${provider}?`, true);
140
+ if (dreamEnabledNew) {
141
+ dreamProvider = provider;
142
+ dreamModel = model;
143
+ }
144
+ }
145
+ // Persist
146
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
147
+ await updateConfig(opts.directory, {
148
+ taskModels: newTaskModels,
149
+ dream: {
150
+ ...(cfg.dream ?? {}),
151
+ enabled: dreamEnabledNew,
152
+ provider: dreamProvider,
153
+ model: dreamModel,
154
+ },
155
+ });
156
+ console.log("");
157
+ console.log(`${CHECK} Task routing updated.`);
158
+ return true;
159
+ }
160
+ //# sourceMappingURL=routing.js.map