gnosys 5.8.3 → 5.8.4
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/dist/lib/config.d.ts +8 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +14 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/projectIdentity.d.ts.map +1 -1
- package/dist/lib/projectIdentity.js +42 -9
- package/dist/lib/projectIdentity.js.map +1 -1
- package/dist/lib/setup/sections/preferences.d.ts +21 -12
- package/dist/lib/setup/sections/preferences.d.ts.map +1 -1
- package/dist/lib/setup/sections/preferences.js +139 -77
- package/dist/lib/setup/sections/preferences.js.map +1 -1
- package/dist/lib/setup/summary.d.ts.map +1 -1
- package/dist/lib/setup/summary.js +8 -6
- package/dist/lib/setup/summary.js.map +1 -1
- package/dist/lib/setup.d.ts +11 -0
- package/dist/lib/setup.d.ts.map +1 -1
- package/dist/lib/setup.js +32 -11
- package/dist/lib/setup.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Setup: User Preferences
|
|
2
|
+
* Setup: User Preferences.
|
|
3
3
|
*
|
|
4
|
-
* v5.6.0
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* v5.6.0 noted 4 imported user-scope memories that looked like prefs.
|
|
5
|
+
* v5.8.4 reshape: this wizard now manages actual preferences (memories
|
|
6
|
+
* with category=preferences, scope=user — the same shape `gnosys pref
|
|
7
|
+
* set` writes). Previous version listed ALL user-scope memories
|
|
8
|
+
* regardless of category, mixing imported notes with real preferences
|
|
9
|
+
* and producing a "0 stored" + "no actions available" dead end even
|
|
10
|
+
* when the user had user-scope memories.
|
|
9
11
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
12
|
+
* The wizard now lets you:
|
|
13
|
+
* - List existing preferences (filtered to category=preferences)
|
|
14
|
+
* - Set a new preference inline (key + value)
|
|
15
|
+
* - View / delete an existing preference
|
|
13
16
|
*/
|
|
14
17
|
import { GnosysDB } from "../../db.js";
|
|
18
|
+
import { setPreference, getAllPreferences, deletePreference, KNOWN_PREFERENCE_KEYS, } from "../../preferences.js";
|
|
15
19
|
const DIM = "\x1b[2m";
|
|
16
20
|
const GREEN = "\x1b[32m";
|
|
17
21
|
const RED = "\x1b[31m";
|
|
18
22
|
const YELLOW = "\x1b[33m";
|
|
23
|
+
const BOLD = "\x1b[1m";
|
|
19
24
|
const RESET = "\x1b[0m";
|
|
20
|
-
/** Inspect a memory ID and classify it. v5.x gnosys uses `prefix-ULID`
|
|
25
|
+
/** Inspect a memory ID and classify it. v5.x gnosys uses `prefix-ULID` or `pref-<key>`. */
|
|
21
26
|
function classifyId(id) {
|
|
22
27
|
if (/^pref-[a-z0-9-]+$/.test(id))
|
|
23
28
|
return "gnosys-native"; // explicit pref ID
|
|
@@ -27,7 +32,27 @@ function classifyId(id) {
|
|
|
27
32
|
return "imported"; // pre-gnosys timestamp+random
|
|
28
33
|
return "unknown";
|
|
29
34
|
}
|
|
30
|
-
|
|
35
|
+
function memoryToUserPreference(m) {
|
|
36
|
+
// pref-<key> id pattern → strip prefix; otherwise fall back to id as key.
|
|
37
|
+
const key = m.id.startsWith("pref-") ? m.id.slice("pref-".length) : m.id;
|
|
38
|
+
// Strip the leading "# Title\n\n" from content if present, leaving just the value.
|
|
39
|
+
const stripped = m.content.replace(/^#\s+[^\n]+\n+/, "").trim();
|
|
40
|
+
return {
|
|
41
|
+
id: m.id,
|
|
42
|
+
key,
|
|
43
|
+
title: m.title,
|
|
44
|
+
value: stripped || m.content,
|
|
45
|
+
created: m.created,
|
|
46
|
+
modified: m.modified,
|
|
47
|
+
source: classifyId(m.id),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Load every preference (memories with category=preferences AND scope=user).
|
|
52
|
+
*
|
|
53
|
+
* v5.8.4: now filters to category=preferences — matches what `setPreference`
|
|
54
|
+
* writes and what `getAllPreferences` reads.
|
|
55
|
+
*/
|
|
31
56
|
export async function listUserPreferences() {
|
|
32
57
|
const db = GnosysDB.openCentral();
|
|
33
58
|
if (!db.isAvailable()) {
|
|
@@ -35,15 +60,84 @@ export async function listUserPreferences() {
|
|
|
35
60
|
return [];
|
|
36
61
|
}
|
|
37
62
|
try {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
})
|
|
63
|
+
// getAllPreferences already filters to category=preferences + scope=user.
|
|
64
|
+
// Walk to raw memories via getMemory so we can build the UserPreference
|
|
65
|
+
// shape (which includes id, created/modified — fields not on Preference).
|
|
66
|
+
const refs = getAllPreferences(db);
|
|
67
|
+
return refs
|
|
68
|
+
.map((p) => {
|
|
69
|
+
const mem = db.getMemory(`pref-${p.key}`);
|
|
70
|
+
return mem ? memoryToUserPreference(mem) : null;
|
|
71
|
+
})
|
|
72
|
+
.filter((p) => p !== null);
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
db.close();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function setNewPreference(rl) {
|
|
79
|
+
console.log("");
|
|
80
|
+
console.log(`${BOLD}New preference${RESET}`);
|
|
81
|
+
console.log(`${DIM}Known keys: ${KNOWN_PREFERENCE_KEYS.slice(0, 5).join(", ")}, ...${RESET}`);
|
|
82
|
+
console.log(`${DIM}You can also use any custom key — just keep it kebab-case.${RESET}`);
|
|
83
|
+
console.log("");
|
|
84
|
+
const key = (await rl.question("Key (e.g. code-style): ")).trim();
|
|
85
|
+
if (!key) {
|
|
86
|
+
console.log(`${DIM}Cancelled.${RESET}`);
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
if (!/^[a-z0-9][a-z0-9-]*$/.test(key)) {
|
|
90
|
+
console.log(`${RED}Invalid key — use lowercase letters, digits, and dashes only.${RESET}`);
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
const value = (await rl.question("Value (one line or short paragraph): ")).trim();
|
|
94
|
+
if (!value) {
|
|
95
|
+
console.log(`${DIM}Cancelled.${RESET}`);
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
const db = GnosysDB.openCentral();
|
|
99
|
+
try {
|
|
100
|
+
setPreference(db, key, value);
|
|
101
|
+
console.log(`${GREEN}✓${RESET} Set ${key}`);
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
console.log(`${RED}✗${RESET} Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
db.close();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async function viewAndMaybeDelete(rl, pref) {
|
|
113
|
+
console.log("");
|
|
114
|
+
console.log(`${BOLD}${pref.title}${RESET}`);
|
|
115
|
+
console.log(`${DIM}key: ${pref.key} id: ${pref.id}${RESET}`);
|
|
116
|
+
console.log(`${DIM}source: ${pref.source} created: ${pref.created.slice(0, 10)}${RESET}`);
|
|
117
|
+
console.log("");
|
|
118
|
+
console.log(pref.value);
|
|
119
|
+
console.log("");
|
|
120
|
+
const action = (await rl.question("[K]eep · [D]elete · [B]ack> ")).trim().toLowerCase();
|
|
121
|
+
if (action !== "d" && action !== "delete")
|
|
122
|
+
return false;
|
|
123
|
+
const confirm = (await rl.question(`Delete "${pref.title}"? [y/N] `)).trim().toLowerCase();
|
|
124
|
+
if (confirm !== "y" && confirm !== "yes")
|
|
125
|
+
return false;
|
|
126
|
+
const db = GnosysDB.openCentral();
|
|
127
|
+
try {
|
|
128
|
+
const ok = deletePreference(db, pref.key);
|
|
129
|
+
if (ok) {
|
|
130
|
+
console.log(`${GREEN}✓${RESET} Deleted ${pref.id}`);
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
// Fall back to direct memory delete for non-standard ids.
|
|
134
|
+
db.deleteMemory(pref.id);
|
|
135
|
+
console.log(`${GREEN}✓${RESET} Deleted ${pref.id} (legacy id format)`);
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
console.log(`${RED}✗${RESET} Failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
140
|
+
return false;
|
|
47
141
|
}
|
|
48
142
|
finally {
|
|
49
143
|
db.close();
|
|
@@ -51,78 +145,46 @@ export async function listUserPreferences() {
|
|
|
51
145
|
}
|
|
52
146
|
/**
|
|
53
147
|
* Run the interactive preferences review. Returns true if anything was
|
|
54
|
-
* changed (
|
|
148
|
+
* changed (added, edited, or deleted).
|
|
55
149
|
*/
|
|
56
150
|
export async function runPreferencesReview(rl) {
|
|
57
|
-
const prefs = await listUserPreferences();
|
|
58
151
|
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
152
|
while (true) {
|
|
65
|
-
// Reload each iteration since deletions change the list
|
|
66
153
|
const current = await listUserPreferences();
|
|
67
|
-
if (current.length === 0)
|
|
68
|
-
return anyChange;
|
|
69
154
|
console.log("");
|
|
70
|
-
console.log(
|
|
71
|
-
current.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
155
|
+
console.log(`${BOLD}User Preferences${RESET}`);
|
|
156
|
+
if (current.length === 0) {
|
|
157
|
+
console.log(`${DIM}No preferences set. Pick [N] to add one.${RESET}`);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
current.forEach((p, i) => {
|
|
161
|
+
const tag = p.source === "imported"
|
|
162
|
+
? `${YELLOW}imported${RESET}`
|
|
163
|
+
: p.source === "gnosys-native"
|
|
164
|
+
? `${GREEN}native${RESET}`
|
|
165
|
+
: `${YELLOW}unknown${RESET}`;
|
|
166
|
+
const preview = p.value.replace(/\s+/g, " ").trim().slice(0, 60);
|
|
167
|
+
console.log(` ${i + 1}. [${tag}] ${BOLD}${p.key}${RESET} — ${p.title}`);
|
|
168
|
+
console.log(` ${DIM}${preview}${preview.length === 60 ? "..." : ""}${RESET}`);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
82
171
|
console.log("");
|
|
83
|
-
console.log(`
|
|
172
|
+
console.log(` [${BOLD}N${RESET}]ew · [${BOLD}1-${current.length || "N"}${RESET}] view/delete · [${BOLD}B${RESET}]ack`);
|
|
84
173
|
const answer = (await rl.question("> ")).trim().toLowerCase();
|
|
85
174
|
if (!answer || answer === "b" || answer === "back")
|
|
86
175
|
return anyChange;
|
|
176
|
+
if (answer === "n" || answer === "new") {
|
|
177
|
+
if (await setNewPreference(rl))
|
|
178
|
+
anyChange = true;
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
87
181
|
const idx = parseInt(answer, 10) - 1;
|
|
88
182
|
if (Number.isNaN(idx) || idx < 0 || idx >= current.length) {
|
|
89
183
|
console.log(`${DIM}Unknown choice: ${answer}${RESET}`);
|
|
90
184
|
continue;
|
|
91
185
|
}
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
}
|
|
186
|
+
if (await viewAndMaybeDelete(rl, current[idx]))
|
|
187
|
+
anyChange = true;
|
|
126
188
|
}
|
|
127
189
|
}
|
|
128
190
|
//# sourceMappingURL=preferences.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAmB,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAYtB,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,IAAI,EAAE,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAmB,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAYtB,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,6EAA6E;IAC7E,IAAI,EAAE,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAqGhD;AAqBD,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,EAAE,CAAC,EAAE,iBAAiB,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4DlF"}
|
|
@@ -30,9 +30,11 @@ export function buildSections() {
|
|
|
30
30
|
key: "1",
|
|
31
31
|
label: "Provider",
|
|
32
32
|
describe: (cfg) => cfg.llm.defaultProvider,
|
|
33
|
-
edit: async (
|
|
33
|
+
edit: async (rl, _cfg, projectDir) => {
|
|
34
34
|
const { runModelsSetup } = await import("../setup.js");
|
|
35
|
-
|
|
35
|
+
// v5.8.4: pass the summary's readline through so we don't open a
|
|
36
|
+
// second one and double every keystroke.
|
|
37
|
+
await runModelsSetup({ directory: projectDir, rl });
|
|
36
38
|
return true;
|
|
37
39
|
},
|
|
38
40
|
},
|
|
@@ -43,9 +45,9 @@ export function buildSections() {
|
|
|
43
45
|
const synth = resolveTaskModel(cfg, "synthesis");
|
|
44
46
|
return `${synth.provider} / ${synth.model}`;
|
|
45
47
|
},
|
|
46
|
-
edit: async (
|
|
48
|
+
edit: async (rl, _cfg, projectDir) => {
|
|
47
49
|
const { runModelsSetup } = await import("../setup.js");
|
|
48
|
-
await runModelsSetup({ directory: projectDir });
|
|
50
|
+
await runModelsSetup({ directory: projectDir, rl });
|
|
49
51
|
return true;
|
|
50
52
|
},
|
|
51
53
|
},
|
|
@@ -106,9 +108,9 @@ export function buildSections() {
|
|
|
106
108
|
const model = cfg.dream.model ?? "default";
|
|
107
109
|
return `${provider} / ${model}`;
|
|
108
110
|
},
|
|
109
|
-
edit: async (
|
|
111
|
+
edit: async (rl, _cfg, projectDir) => {
|
|
110
112
|
const { runDreamSetup } = await import("../setup.js");
|
|
111
|
-
await runDreamSetup({ directory: projectDir });
|
|
113
|
+
await runDreamSetup({ directory: projectDir, rl });
|
|
112
114
|
return true;
|
|
113
115
|
},
|
|
114
116
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/lib/setup/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAkC,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EACL,UAAU,EACV,gBAAgB,GAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,+EAA+E;AAC/E,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;AAgBlC;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL;YACE,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe;YAC1C,IAAI,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/lib/setup/summary.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/setup.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Uses Node.js built-in readline/promises — no external dependencies.
|
|
9
9
|
*/
|
|
10
|
+
import { Interface as ReadlineInterface } from "readline/promises";
|
|
10
11
|
export interface ModelTier {
|
|
11
12
|
name: string;
|
|
12
13
|
model: string;
|
|
@@ -85,6 +86,12 @@ export interface ModelsSetupOpts {
|
|
|
85
86
|
model?: string;
|
|
86
87
|
validate?: boolean;
|
|
87
88
|
directory?: string;
|
|
89
|
+
/**
|
|
90
|
+
* v5.8.4: accept the caller's readline (e.g. from the summary wizard).
|
|
91
|
+
* When provided, we don't open or close one of our own — preventing two
|
|
92
|
+
* readlines from racing for stdin and doubling every keystroke.
|
|
93
|
+
*/
|
|
94
|
+
rl?: ReadlineInterface;
|
|
88
95
|
}
|
|
89
96
|
/**
|
|
90
97
|
* Models-only configuration — prompts for provider, model, and key (or accepts
|
|
@@ -107,6 +114,8 @@ export interface ModelsCommandOpts {
|
|
|
107
114
|
export declare function runModelsCommand(opts?: ModelsCommandOpts): Promise<void>;
|
|
108
115
|
export interface DreamSetupOpts {
|
|
109
116
|
directory?: string;
|
|
117
|
+
/** v5.8.4: reuse the caller's readline (e.g. summary wizard) to avoid stdin races. */
|
|
118
|
+
rl?: ReadlineInterface;
|
|
110
119
|
}
|
|
111
120
|
/**
|
|
112
121
|
* Walks the user through configuring dream mode. Handles:
|
|
@@ -122,6 +131,8 @@ export interface DreamSetupOpts {
|
|
|
122
131
|
export declare function runDreamSetup(opts?: DreamSetupOpts): Promise<void>;
|
|
123
132
|
interface ChatSetupOpts {
|
|
124
133
|
directory?: string;
|
|
134
|
+
/** v5.8.4: reuse the caller's readline (e.g. summary wizard) to avoid stdin races. */
|
|
135
|
+
rl?: ReadlineInterface;
|
|
125
136
|
}
|
|
126
137
|
export declare function runChatSetup(opts?: ChatSetupOpts): Promise<void>;
|
|
127
138
|
export {};
|
package/dist/lib/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/lib/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/setup.js
CHANGED
|
@@ -592,6 +592,16 @@ export async function setupIDE(ide, projectDir) {
|
|
|
592
592
|
return { success: true, message: "Cursor MCP config updated (.cursor/mcp.json)" };
|
|
593
593
|
}
|
|
594
594
|
case "codex": {
|
|
595
|
+
// v5.8.4: write the documented Codex MCP schema
|
|
596
|
+
// [mcp.gnosys]
|
|
597
|
+
// type = "local"
|
|
598
|
+
// command = ["gnosys", "serve"]
|
|
599
|
+
//
|
|
600
|
+
// The old `[gnosys] command = "gnosys" args = ["serve"]` shape was
|
|
601
|
+
// never recognized by Codex CLI's current schema, so the install
|
|
602
|
+
// silently no-op'd from the agent's perspective. Migrate any old
|
|
603
|
+
// [gnosys] block we previously wrote so users on stale configs get
|
|
604
|
+
// the fix automatically.
|
|
595
605
|
const codexDir = path.join(projectDir, ".codex");
|
|
596
606
|
const configPath = path.join(codexDir, "config.toml");
|
|
597
607
|
await fs.mkdir(codexDir, { recursive: true });
|
|
@@ -602,15 +612,20 @@ export async function setupIDE(ide, projectDir) {
|
|
|
602
612
|
catch {
|
|
603
613
|
// File doesn't exist — start fresh
|
|
604
614
|
}
|
|
605
|
-
//
|
|
606
|
-
|
|
615
|
+
// Strip the legacy [gnosys] block if present (3-line shape we used to write).
|
|
616
|
+
const legacyBlock = /\n?\[gnosys\][^\[]*?command\s*=\s*"gnosys"[^\[]*?args\s*=\s*\[[^\]]*\]\s*\n?/;
|
|
617
|
+
if (legacyBlock.test(content)) {
|
|
618
|
+
content = content.replace(legacyBlock, "\n").replace(/\n{3,}/g, "\n\n");
|
|
619
|
+
}
|
|
620
|
+
// Add the [mcp.gnosys] block if not already present.
|
|
621
|
+
if (!/\[mcp\.gnosys\]/.test(content)) {
|
|
607
622
|
if (content.length > 0 && !content.endsWith("\n")) {
|
|
608
623
|
content += "\n";
|
|
609
624
|
}
|
|
610
|
-
content += `\n[gnosys]\
|
|
611
|
-
await fs.writeFile(configPath, content, "utf-8");
|
|
625
|
+
content += `\n[mcp.gnosys]\ntype = "local"\ncommand = ["gnosys", "serve"]\n`;
|
|
612
626
|
}
|
|
613
|
-
|
|
627
|
+
await fs.writeFile(configPath, content, "utf-8");
|
|
628
|
+
return { success: true, message: "Codex MCP config updated (.codex/config.toml)" };
|
|
614
629
|
}
|
|
615
630
|
case "gemini-cli": {
|
|
616
631
|
// Gemini CLI reads MCP servers from ~/.gemini/settings.json (user-level)
|
|
@@ -1709,7 +1724,8 @@ export async function runSetup(opts) {
|
|
|
1709
1724
|
*/
|
|
1710
1725
|
export async function runModelsSetup(opts = {}) {
|
|
1711
1726
|
const projectDir = opts.directory ? path.resolve(opts.directory) : process.cwd();
|
|
1712
|
-
const
|
|
1727
|
+
const ownsRl = !opts.rl;
|
|
1728
|
+
const rl = opts.rl ?? createInterface({ input: stdin, output: stdout });
|
|
1713
1729
|
try {
|
|
1714
1730
|
console.log();
|
|
1715
1731
|
console.log(`${BOLD}${CYAN}Gnosys${RESET} ${DIM}— Model Configuration${RESET}`);
|
|
@@ -1842,7 +1858,8 @@ export async function runModelsSetup(opts = {}) {
|
|
|
1842
1858
|
console.log(` ${DIM}Model: ${model}${RESET}`);
|
|
1843
1859
|
}
|
|
1844
1860
|
finally {
|
|
1845
|
-
|
|
1861
|
+
if (ownsRl)
|
|
1862
|
+
rl.close();
|
|
1846
1863
|
}
|
|
1847
1864
|
}
|
|
1848
1865
|
/**
|
|
@@ -1939,7 +1956,8 @@ export async function runModelsCommand(opts = {}) {
|
|
|
1939
1956
|
*/
|
|
1940
1957
|
export async function runDreamSetup(opts = {}) {
|
|
1941
1958
|
const projectDir = opts.directory ? path.resolve(opts.directory) : process.cwd();
|
|
1942
|
-
const
|
|
1959
|
+
const ownsRl = !opts.rl;
|
|
1960
|
+
const rl = opts.rl ?? createInterface({ input: stdin, output: stdout });
|
|
1943
1961
|
try {
|
|
1944
1962
|
console.log();
|
|
1945
1963
|
console.log(`${BOLD}${CYAN}Gnosys${RESET} ${DIM}— Dream Mode Setup${RESET}`);
|
|
@@ -2109,12 +2127,14 @@ export async function runDreamSetup(opts = {}) {
|
|
|
2109
2127
|
console.log(`${DIM}Tip: 'gnosys dream log' shows recent runs once dream starts cycling.${RESET}`);
|
|
2110
2128
|
}
|
|
2111
2129
|
finally {
|
|
2112
|
-
|
|
2130
|
+
if (ownsRl)
|
|
2131
|
+
rl.close();
|
|
2113
2132
|
}
|
|
2114
2133
|
}
|
|
2115
2134
|
export async function runChatSetup(opts = {}) {
|
|
2116
2135
|
const projectDir = opts.directory ? path.resolve(opts.directory) : process.cwd();
|
|
2117
|
-
const
|
|
2136
|
+
const ownsRl = !opts.rl;
|
|
2137
|
+
const rl = opts.rl ?? createInterface({ input: stdin, output: stdout });
|
|
2118
2138
|
try {
|
|
2119
2139
|
console.log();
|
|
2120
2140
|
console.log(`${BOLD}${CYAN}Gnosys${RESET} ${DIM}— Chat Setup${RESET}`);
|
|
@@ -2236,7 +2256,8 @@ export async function runChatSetup(opts = {}) {
|
|
|
2236
2256
|
console.log(`${DIM}Tip: run 'gnosys chat' to start a session.${RESET}`);
|
|
2237
2257
|
}
|
|
2238
2258
|
finally {
|
|
2239
|
-
|
|
2259
|
+
if (ownsRl)
|
|
2260
|
+
rl.close();
|
|
2240
2261
|
}
|
|
2241
2262
|
}
|
|
2242
2263
|
/** Resolve where to write gnosys.json — project store if exists, else global store. */
|