gnosys 5.9.1 → 5.9.3
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/cli.js +311 -143
- package/dist/cli.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/archive.d.ts.map +1 -1
- package/dist/lib/archive.js.map +1 -1
- package/dist/lib/bootstrap.d.ts.map +1 -1
- package/dist/lib/chat/index.d.ts.map +1 -1
- package/dist/lib/chat/index.js +5 -0
- package/dist/lib/chat/index.js.map +1 -1
- package/dist/lib/cleanup.d.ts +52 -0
- package/dist/lib/cleanup.d.ts.map +1 -0
- package/dist/lib/cleanup.js +168 -0
- package/dist/lib/cleanup.js.map +1 -0
- package/dist/lib/config.d.ts +7 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +7 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/dashboard.d.ts.map +1 -1
- package/dist/lib/dashboard.js.map +1 -1
- package/dist/lib/db.d.ts +0 -13
- package/dist/lib/db.d.ts.map +1 -1
- package/dist/lib/db.js +0 -31
- package/dist/lib/db.js.map +1 -1
- package/dist/lib/dbSearch.d.ts.map +1 -1
- package/dist/lib/dbSearch.js +0 -1
- package/dist/lib/dbSearch.js.map +1 -1
- package/dist/lib/dream.d.ts.map +1 -1
- package/dist/lib/dream.js +1 -1
- package/dist/lib/dream.js.map +1 -1
- package/dist/lib/export.d.ts.map +1 -1
- package/dist/lib/federated.d.ts.map +1 -1
- package/dist/lib/federated.js +23 -65
- package/dist/lib/federated.js.map +1 -1
- package/dist/lib/hybridSearch.d.ts.map +1 -1
- package/dist/lib/hybridSearch.js.map +1 -1
- package/dist/lib/import.d.ts.map +1 -1
- package/dist/lib/import.js +2 -1
- package/dist/lib/import.js.map +1 -1
- package/dist/lib/lensing.d.ts +0 -9
- package/dist/lib/lensing.d.ts.map +1 -1
- package/dist/lib/lensing.js +0 -15
- package/dist/lib/lensing.js.map +1 -1
- package/dist/lib/maintenance.d.ts.map +1 -1
- package/dist/lib/maintenance.js +0 -39
- package/dist/lib/maintenance.js.map +1 -1
- package/dist/lib/migrate.js.map +1 -1
- package/dist/lib/paths.d.ts +8 -2
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +15 -4
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/portfolio.d.ts.map +1 -1
- package/dist/lib/portfolio.js +0 -23
- package/dist/lib/portfolio.js.map +1 -1
- package/dist/lib/projectIdentity.d.ts +9 -5
- package/dist/lib/projectIdentity.d.ts.map +1 -1
- package/dist/lib/projectIdentity.js +19 -22
- package/dist/lib/projectIdentity.js.map +1 -1
- package/dist/lib/remoteWizard.d.ts.map +1 -1
- package/dist/lib/remoteWizard.js +112 -52
- package/dist/lib/remoteWizard.js.map +1 -1
- package/dist/lib/rulesGen.d.ts +1 -4
- package/dist/lib/rulesGen.d.ts.map +1 -1
- package/dist/lib/rulesGen.js +2 -10
- package/dist/lib/rulesGen.js.map +1 -1
- package/dist/lib/search.d.ts.map +1 -1
- package/dist/lib/setup/coldStart.d.ts +71 -0
- package/dist/lib/setup/coldStart.d.ts.map +1 -0
- package/dist/lib/setup/coldStart.js +122 -0
- package/dist/lib/setup/coldStart.js.map +1 -0
- package/dist/lib/setup/configSetRender.d.ts +26 -0
- package/dist/lib/setup/configSetRender.d.ts.map +1 -0
- package/dist/lib/setup/configSetRender.js +103 -0
- package/dist/lib/setup/configSetRender.js.map +1 -0
- package/dist/lib/setup/dreamRender.d.ts +44 -0
- package/dist/lib/setup/dreamRender.d.ts.map +1 -0
- package/dist/lib/setup/dreamRender.js +55 -0
- package/dist/lib/setup/dreamRender.js.map +1 -0
- package/dist/lib/setup/modelsRender.d.ts +25 -0
- package/dist/lib/setup/modelsRender.d.ts.map +1 -0
- package/dist/lib/setup/modelsRender.js +33 -0
- package/dist/lib/setup/modelsRender.js.map +1 -0
- package/dist/lib/setup/remoteRender.d.ts +43 -0
- package/dist/lib/setup/remoteRender.d.ts.map +1 -0
- package/dist/lib/setup/remoteRender.js +65 -0
- package/dist/lib/setup/remoteRender.js.map +1 -0
- package/dist/lib/setup/routingRender.d.ts +44 -0
- package/dist/lib/setup/routingRender.d.ts.map +1 -0
- package/dist/lib/setup/routingRender.js +97 -0
- package/dist/lib/setup/routingRender.js.map +1 -0
- package/dist/lib/setup/sections/ides.d.ts +8 -0
- package/dist/lib/setup/sections/ides.d.ts.map +1 -1
- package/dist/lib/setup/sections/ides.js +49 -27
- package/dist/lib/setup/sections/ides.js.map +1 -1
- package/dist/lib/setup/sections/preferences.d.ts +8 -0
- package/dist/lib/setup/sections/preferences.d.ts.map +1 -1
- package/dist/lib/setup/sections/preferences.js +40 -19
- package/dist/lib/setup/sections/preferences.js.map +1 -1
- package/dist/lib/setup/sections/routing.d.ts +0 -1
- package/dist/lib/setup/sections/routing.d.ts.map +1 -1
- package/dist/lib/setup/sections/routing.js +49 -29
- package/dist/lib/setup/sections/routing.js.map +1 -1
- package/dist/lib/setup/summary.d.ts +33 -19
- package/dist/lib/setup/summary.d.ts.map +1 -1
- package/dist/lib/setup/summary.js +135 -105
- package/dist/lib/setup/summary.js.map +1 -1
- package/dist/lib/setup/syncProjectsRender.d.ts +56 -0
- package/dist/lib/setup/syncProjectsRender.d.ts.map +1 -0
- package/dist/lib/setup/syncProjectsRender.js +168 -0
- package/dist/lib/setup/syncProjectsRender.js.map +1 -0
- package/dist/lib/setup/ui/diff.d.ts +19 -0
- package/dist/lib/setup/ui/diff.d.ts.map +1 -0
- package/dist/lib/setup/ui/diff.js +34 -0
- package/dist/lib/setup/ui/diff.js.map +1 -0
- package/dist/lib/setup/ui/footer.d.ts +11 -0
- package/dist/lib/setup/ui/footer.d.ts.map +1 -0
- package/dist/lib/setup/ui/footer.js +21 -0
- package/dist/lib/setup/ui/footer.js.map +1 -0
- package/dist/lib/setup/ui/header.d.ts +24 -0
- package/dist/lib/setup/ui/header.d.ts.map +1 -0
- package/dist/lib/setup/ui/header.js +49 -0
- package/dist/lib/setup/ui/header.js.map +1 -0
- package/dist/lib/setup/ui/index.d.ts +26 -0
- package/dist/lib/setup/ui/index.d.ts.map +1 -0
- package/dist/lib/setup/ui/index.js +18 -0
- package/dist/lib/setup/ui/index.js.map +1 -0
- package/dist/lib/setup/ui/menu.d.ts +27 -0
- package/dist/lib/setup/ui/menu.d.ts.map +1 -0
- package/dist/lib/setup/ui/menu.js +75 -0
- package/dist/lib/setup/ui/menu.js.map +1 -0
- package/dist/lib/setup/ui/panel.d.ts +23 -0
- package/dist/lib/setup/ui/panel.d.ts.map +1 -0
- package/dist/lib/setup/ui/panel.js +53 -0
- package/dist/lib/setup/ui/panel.js.map +1 -0
- package/dist/lib/setup/ui/prompt.d.ts +27 -0
- package/dist/lib/setup/ui/prompt.d.ts.map +1 -0
- package/dist/lib/setup/ui/prompt.js +38 -0
- package/dist/lib/setup/ui/prompt.js.map +1 -0
- package/dist/lib/setup/ui/safePrompt.d.ts +24 -0
- package/dist/lib/setup/ui/safePrompt.d.ts.map +1 -0
- package/dist/lib/setup/ui/safePrompt.js +71 -0
- package/dist/lib/setup/ui/safePrompt.js.map +1 -0
- package/dist/lib/setup/ui/spinner.d.ts +28 -0
- package/dist/lib/setup/ui/spinner.d.ts.map +1 -0
- package/dist/lib/setup/ui/spinner.js +87 -0
- package/dist/lib/setup/ui/spinner.js.map +1 -0
- package/dist/lib/setup/ui/status.d.ts +21 -0
- package/dist/lib/setup/ui/status.d.ts.map +1 -0
- package/dist/lib/setup/ui/status.js +49 -0
- package/dist/lib/setup/ui/status.js.map +1 -0
- package/dist/lib/setup/ui/title.d.ts +14 -0
- package/dist/lib/setup/ui/title.d.ts.map +1 -0
- package/dist/lib/setup/ui/title.js +24 -0
- package/dist/lib/setup/ui/title.js.map +1 -0
- package/dist/lib/setup/ui/tokens.d.ts +66 -0
- package/dist/lib/setup/ui/tokens.d.ts.map +1 -0
- package/dist/lib/setup/ui/tokens.js +87 -0
- package/dist/lib/setup/ui/tokens.js.map +1 -0
- package/dist/lib/setup.d.ts +7 -0
- package/dist/lib/setup.d.ts.map +1 -1
- package/dist/lib/setup.js +204 -230
- package/dist/lib/setup.js.map +1 -1
- package/dist/lib/store.d.ts +0 -4
- package/dist/lib/store.d.ts.map +1 -1
- package/dist/lib/store.js +0 -6
- package/dist/lib/store.js.map +1 -1
- package/dist/lib/tags.d.ts +0 -2
- package/dist/lib/tags.d.ts.map +1 -1
- package/dist/lib/tags.js +0 -10
- package/dist/lib/tags.js.map +1 -1
- package/dist/lib/trace.d.ts.map +1 -1
- package/dist/lib/webIngest.d.ts.map +1 -1
- package/dist/lib/webIngest.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Cost-tier bucket. `free` = ollama / lmstudio (always $0). */
|
|
2
|
+
export type CostTier = "free" | "$" | "$$" | "$$$";
|
|
3
|
+
/**
|
|
4
|
+
* Classify a provider/model pair into a `$ / $$ / $$$ / free` bucket. The
|
|
5
|
+
* heuristic is the average of input + output pricing from PROVIDER_TIERS:
|
|
6
|
+
*
|
|
7
|
+
* free local providers (ollama, lmstudio) and any model
|
|
8
|
+
* whose registered cost is 0/0
|
|
9
|
+
* $ avg < 1.0 (cheap cloud — groq, gpt-mini, xai-mini)
|
|
10
|
+
* $$ avg < 5.0 (mid — sonnet, gpt-5, grok-flagship)
|
|
11
|
+
* $$$ otherwise (premium — opus, mistral-large)
|
|
12
|
+
*
|
|
13
|
+
* Falls back to `$$` when the model isn't registered (unknown — conservative
|
|
14
|
+
* mid-tier so the user notices unknown spend).
|
|
15
|
+
*/
|
|
16
|
+
export declare function classifyCost(provider: string, model: string): CostTier;
|
|
17
|
+
/** One row in the task-routing table. */
|
|
18
|
+
export interface TaskRow {
|
|
19
|
+
task: string;
|
|
20
|
+
/** "provider / model" — pre-formatted. */
|
|
21
|
+
uses: string;
|
|
22
|
+
cost: CostTier;
|
|
23
|
+
/** When true, the row gets a `▶` marker in accent-hi (changed). */
|
|
24
|
+
changed?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Render the task-routing table block (title + columnar table). Returns
|
|
28
|
+
* the full multi-line string with no trailing newline.
|
|
29
|
+
*/
|
|
30
|
+
export declare function renderRoutingTable(rows: TaskRow[]): string;
|
|
31
|
+
/**
|
|
32
|
+
* Render the final diff block — one row per task, showing either
|
|
33
|
+
* `from → to` (changed) or `(unchanged)`. Always emits a row per task
|
|
34
|
+
* so the user has a full picture.
|
|
35
|
+
*/
|
|
36
|
+
export interface DiffEntry {
|
|
37
|
+
task: string;
|
|
38
|
+
/** "provider / model" before the edit. */
|
|
39
|
+
from: string;
|
|
40
|
+
/** "provider / model" after the edit, or null when unchanged. */
|
|
41
|
+
to: string | null;
|
|
42
|
+
}
|
|
43
|
+
export declare function renderRoutingDiff(entries: DiffEntry[]): string;
|
|
44
|
+
//# sourceMappingURL=routingRender.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routingRender.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/routingRender.ts"],"names":[],"mappings":"AASA,gEAAgE;AAChE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAUtE;AAED,yCAAyC;AACzC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAuB1D;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAgB9D"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render helpers for `gnosys setup routing` (Screen 4).
|
|
3
|
+
*
|
|
4
|
+
* Provides the cost-tier table + diff renderers used by the wizard. Pure
|
|
5
|
+
* string output for snapshot-testability.
|
|
6
|
+
*/
|
|
7
|
+
import { c, color, glyph, width } from "./ui/tokens.js";
|
|
8
|
+
import { PROVIDER_TIERS } from "../setup.js";
|
|
9
|
+
/**
|
|
10
|
+
* Classify a provider/model pair into a `$ / $$ / $$$ / free` bucket. The
|
|
11
|
+
* heuristic is the average of input + output pricing from PROVIDER_TIERS:
|
|
12
|
+
*
|
|
13
|
+
* free local providers (ollama, lmstudio) and any model
|
|
14
|
+
* whose registered cost is 0/0
|
|
15
|
+
* $ avg < 1.0 (cheap cloud — groq, gpt-mini, xai-mini)
|
|
16
|
+
* $$ avg < 5.0 (mid — sonnet, gpt-5, grok-flagship)
|
|
17
|
+
* $$$ otherwise (premium — opus, mistral-large)
|
|
18
|
+
*
|
|
19
|
+
* Falls back to `$$` when the model isn't registered (unknown — conservative
|
|
20
|
+
* mid-tier so the user notices unknown spend).
|
|
21
|
+
*/
|
|
22
|
+
export function classifyCost(provider, model) {
|
|
23
|
+
if (provider === "ollama" || provider === "lmstudio")
|
|
24
|
+
return "free";
|
|
25
|
+
const tiers = PROVIDER_TIERS[provider] ?? [];
|
|
26
|
+
const tier = tiers.find((t) => t.model === model);
|
|
27
|
+
if (!tier)
|
|
28
|
+
return "$$";
|
|
29
|
+
const avg = (tier.input + tier.output) / 2;
|
|
30
|
+
if (avg === 0)
|
|
31
|
+
return "free";
|
|
32
|
+
if (avg < 1.0)
|
|
33
|
+
return "$";
|
|
34
|
+
if (avg < 5.0)
|
|
35
|
+
return "$$";
|
|
36
|
+
return "$$$";
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Render the task-routing table block (title + columnar table). Returns
|
|
40
|
+
* the full multi-line string with no trailing newline.
|
|
41
|
+
*/
|
|
42
|
+
export function renderRoutingTable(rows) {
|
|
43
|
+
const W = width();
|
|
44
|
+
const taskW = Math.max("task".length, ...rows.map((r) => r.task.length)) + 2;
|
|
45
|
+
const usesW = Math.max("uses".length, ...rows.map((r) => r.uses.length)) + 2;
|
|
46
|
+
const indent = " ";
|
|
47
|
+
const lines = [];
|
|
48
|
+
const head = `${indent}${color(c.textDim, "task".padEnd(taskW))}${color(c.textDim, "uses".padEnd(usesW))}${color(c.textDim, "cost".padStart(6))}`;
|
|
49
|
+
lines.push(head);
|
|
50
|
+
// Rule under the header.
|
|
51
|
+
const ruleLen = Math.max(1, W - indent.length);
|
|
52
|
+
lines.push(`${indent}${color(c.textGhost, glyph.ruleLight.repeat(ruleLen - 2))}`);
|
|
53
|
+
for (const r of rows) {
|
|
54
|
+
const marker = r.changed ? color(c.accentHi, glyph.selection) : " ";
|
|
55
|
+
const taskTxt = r.changed
|
|
56
|
+
? color(c.accentHi, r.task.padEnd(taskW - 2))
|
|
57
|
+
: color(c.text, r.task.padEnd(taskW - 2));
|
|
58
|
+
const usesTxt = r.changed
|
|
59
|
+
? color(c.accentHi, r.uses.padEnd(usesW))
|
|
60
|
+
: color(c.text, r.uses.padEnd(usesW));
|
|
61
|
+
const costTxt = color(costColor(r.cost), r.cost.padStart(6));
|
|
62
|
+
lines.push(`${indent}${marker} ${taskTxt}${usesTxt}${costTxt}`);
|
|
63
|
+
}
|
|
64
|
+
return lines.join("\n");
|
|
65
|
+
}
|
|
66
|
+
export function renderRoutingDiff(entries) {
|
|
67
|
+
if (entries.length === 0)
|
|
68
|
+
return "";
|
|
69
|
+
const taskW = Math.max(...entries.map((e) => e.task.length));
|
|
70
|
+
const fromW = Math.max(...entries.map((e) => e.from.length));
|
|
71
|
+
const indent = " ";
|
|
72
|
+
const arrow = color(c.textGhost, glyph.arrow);
|
|
73
|
+
const lines = [];
|
|
74
|
+
for (const e of entries) {
|
|
75
|
+
const taskTxt = color(c.textDim, e.task.padEnd(taskW));
|
|
76
|
+
if (e.to === null || e.to === e.from) {
|
|
77
|
+
lines.push(`${indent}${taskTxt} ${color(c.textMid, e.from.padEnd(fromW))} ${color(c.textDim, "(unchanged)")}`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
lines.push(`${indent}${taskTxt} ${color(c.textMid, e.from.padEnd(fromW))} ${arrow} ${color(c.accentHi, e.to)}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return lines.join("\n");
|
|
84
|
+
}
|
|
85
|
+
function costColor(t) {
|
|
86
|
+
switch (t) {
|
|
87
|
+
case "free":
|
|
88
|
+
return c.ok;
|
|
89
|
+
case "$":
|
|
90
|
+
return c.text;
|
|
91
|
+
case "$$":
|
|
92
|
+
return c.warn;
|
|
93
|
+
case "$$$":
|
|
94
|
+
return c.fail;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=routingRender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routingRender.js","sourceRoot":"","sources":["../../../src/lib/setup/routingRender.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,14 @@ export interface IdesSetupOptions {
|
|
|
14
14
|
/**
|
|
15
15
|
* Run the IDE-integration wizard. Detects which IDEs are present in the
|
|
16
16
|
* project directory and lets the user pick which to wire up.
|
|
17
|
+
*
|
|
18
|
+
* v5.9.3 redesign:
|
|
19
|
+
* - Uses Header() + Title() + footer hint for "all / skip" instead of
|
|
20
|
+
* burying those as menu items.
|
|
21
|
+
* - Status column with ● (filled, accent) for "detected" and ○ (hollow,
|
|
22
|
+
* text-dim) for "will create" or "will use user-level".
|
|
23
|
+
* - Final line: `2 ides configured · 0 errors`.
|
|
24
|
+
*
|
|
17
25
|
* Returns true if at least one IDE config was written.
|
|
18
26
|
*/
|
|
19
27
|
export declare function runIdesSetup(opts: IdesSetupOptions): Promise<boolean>;
|
|
@@ -1 +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
|
|
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;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2F3E"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import fs from "fs/promises";
|
|
10
10
|
import path from "path";
|
|
11
11
|
import { detectIDEs, setupIDE } from "../../setup.js";
|
|
12
|
-
|
|
12
|
+
import { safeQuestion } from "../ui/safePrompt.js";
|
|
13
13
|
const DIM = "\x1b[2m";
|
|
14
14
|
const GREEN = "\x1b[32m";
|
|
15
15
|
const RED = "\x1b[31m";
|
|
@@ -28,7 +28,7 @@ const ALL_IDE_KEYS = ["claude", "claude-desktop", "cursor", "codex", "gemini-cli
|
|
|
28
28
|
// IDEs whose MCP config lives at the user level (~/...) rather than per-project.
|
|
29
29
|
const USER_LEVEL_IDES = new Set(["claude", "claude-desktop", "gemini-cli", "antigravity"]);
|
|
30
30
|
async function ask(rl, prompt) {
|
|
31
|
-
return (await rl
|
|
31
|
+
return (await safeQuestion(rl, prompt)).trim();
|
|
32
32
|
}
|
|
33
33
|
async function askChoice(rl, prompt, choices, defaultIdx = 0) {
|
|
34
34
|
if (prompt)
|
|
@@ -51,53 +51,70 @@ async function askChoice(rl, prompt, choices, defaultIdx = 0) {
|
|
|
51
51
|
/**
|
|
52
52
|
* Run the IDE-integration wizard. Detects which IDEs are present in the
|
|
53
53
|
* project directory and lets the user pick which to wire up.
|
|
54
|
+
*
|
|
55
|
+
* v5.9.3 redesign:
|
|
56
|
+
* - Uses Header() + Title() + footer hint for "all / skip" instead of
|
|
57
|
+
* burying those as menu items.
|
|
58
|
+
* - Status column with ● (filled, accent) for "detected" and ○ (hollow,
|
|
59
|
+
* text-dim) for "will create" or "will use user-level".
|
|
60
|
+
* - Final line: `2 ides configured · 0 errors`.
|
|
61
|
+
*
|
|
54
62
|
* Returns true if at least one IDE config was written.
|
|
55
63
|
*/
|
|
56
64
|
export async function runIdesSetup(opts) {
|
|
65
|
+
const { Header } = await import("../ui/header.js");
|
|
66
|
+
const { Title } = await import("../ui/title.js");
|
|
67
|
+
const { Footer } = await import("../ui/footer.js");
|
|
68
|
+
const { c, color, glyph } = await import("../ui/tokens.js");
|
|
57
69
|
console.log("");
|
|
58
|
-
console.log(
|
|
70
|
+
console.log(Header(["gnosys", "setup", "ides"]));
|
|
59
71
|
console.log("");
|
|
60
|
-
|
|
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
|
-
}
|
|
72
|
+
console.log(Title("IDE integrations", "we'll write the MCP server config so gnosys is available from each"));
|
|
68
73
|
console.log("");
|
|
74
|
+
const detected = await detectIDEs(opts.directory);
|
|
75
|
+
// Header row for the columns.
|
|
76
|
+
console.log(` ${color(c.textDim, "ide".padEnd(18))}${color(c.textDim, "status".padEnd(22))}${color(c.textDim, "target")}`);
|
|
77
|
+
console.log(` ${color(c.textGhost, "─".repeat(60))}`);
|
|
69
78
|
const ideOptions = [];
|
|
70
79
|
const ideKeyForOption = [];
|
|
71
|
-
|
|
80
|
+
ALL_IDE_KEYS.forEach((ide, idx) => {
|
|
72
81
|
const isDetected = detected.includes(ide);
|
|
73
82
|
const label = IDE_LABELS[ide] ?? ide;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
const dot = isDetected ? color(c.accent, glyph.dotFilled) : color(c.textDim, glyph.dotHollow);
|
|
84
|
+
const status = isDetected
|
|
85
|
+
? color(c.text, "detected")
|
|
86
|
+
: USER_LEVEL_IDES.has(ide)
|
|
87
|
+
? color(c.textDim, "user-level")
|
|
88
|
+
: color(c.textDim, "will create");
|
|
89
|
+
const target = USER_LEVEL_IDES.has(ide)
|
|
90
|
+
? color(c.textDim, `~/${ide}-mcp config`)
|
|
91
|
+
: color(c.textDim, `.${ide}/mcp.json`);
|
|
92
|
+
const num = color(c.textDim, String(idx + 1).padStart(2, " "));
|
|
93
|
+
console.log(` ${num} ${color(c.text, label.padEnd(16))} ${dot} ${status.padEnd(20)} ${target}`);
|
|
94
|
+
ideOptions.push(label);
|
|
83
95
|
ideKeyForOption.push(ide);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const idx = await askChoice(opts.rl, "
|
|
96
|
+
});
|
|
97
|
+
console.log("");
|
|
98
|
+
console.log(Footer(`1–${ALL_IDE_KEYS.length} · pick a · all detected enter · skip`));
|
|
99
|
+
const idx = await askChoice(opts.rl, "", [...ideOptions, "All detected", "Skip"]);
|
|
88
100
|
let idesToSetup = [];
|
|
89
101
|
if (idx < ALL_IDE_KEYS.length) {
|
|
90
102
|
idesToSetup = [ideKeyForOption[idx]];
|
|
91
103
|
}
|
|
92
104
|
else if (idx === ALL_IDE_KEYS.length) {
|
|
93
|
-
|
|
105
|
+
// v5.9.3: "all detected" only configures IDEs that are actually
|
|
106
|
+
// detected — was "all IDEs" which created stub dirs for unused
|
|
107
|
+
// editors. User-level IDEs (Claude Code, Gemini CLI, etc.) are
|
|
108
|
+
// always included since they don't need a project marker.
|
|
109
|
+
idesToSetup = ALL_IDE_KEYS.filter((k) => detected.includes(k) || USER_LEVEL_IDES.has(k));
|
|
94
110
|
}
|
|
95
|
-
// Last option is Skip
|
|
111
|
+
// Last option is Skip — leaves idesToSetup empty
|
|
96
112
|
if (idesToSetup.length === 0) {
|
|
97
113
|
console.log(`${DIM}Skipped.${RESET}`);
|
|
98
114
|
return false;
|
|
99
115
|
}
|
|
100
116
|
let configured = 0;
|
|
117
|
+
let errors = 0;
|
|
101
118
|
for (const ide of idesToSetup) {
|
|
102
119
|
if (!detected.includes(ide) && !USER_LEVEL_IDES.has(ide)) {
|
|
103
120
|
const dirPath = path.join(opts.directory, `.${ide}`);
|
|
@@ -107,6 +124,7 @@ export async function runIdesSetup(opts) {
|
|
|
107
124
|
}
|
|
108
125
|
catch (err) {
|
|
109
126
|
console.log(` ${CROSS} Could not create .${ide}/: ${err instanceof Error ? err.message : String(err)}`);
|
|
127
|
+
errors++;
|
|
110
128
|
continue;
|
|
111
129
|
}
|
|
112
130
|
}
|
|
@@ -117,8 +135,12 @@ export async function runIdesSetup(opts) {
|
|
|
117
135
|
}
|
|
118
136
|
else {
|
|
119
137
|
console.log(` ${CROSS} ${IDE_LABELS[ide] ?? ide}: ${result.message}`);
|
|
138
|
+
errors++;
|
|
120
139
|
}
|
|
121
140
|
}
|
|
141
|
+
// v5.9.3 — summary line per design §5.
|
|
142
|
+
console.log("");
|
|
143
|
+
console.log(` ${color(c.textDim, `${configured} ides configured · ${errors} errors`)}`);
|
|
122
144
|
return configured > 0;
|
|
123
145
|
}
|
|
124
146
|
//# sourceMappingURL=ides.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ides.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/ides.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ides.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/ides.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,14 @@ export declare function listUserPreferences(): Promise<UserPreference[]>;
|
|
|
39
39
|
/**
|
|
40
40
|
* Run the interactive preferences review. Returns true if anything was
|
|
41
41
|
* changed (added, edited, or deleted).
|
|
42
|
+
*
|
|
43
|
+
* v5.9.3 redesign (Screen 9):
|
|
44
|
+
* - Header() + breadcrumb with `N stored` suffix.
|
|
45
|
+
* - Two source dots: ● (filled, accent) = gnosys-native, ○ (hollow,
|
|
46
|
+
* text-dim) = imported/unknown (collapsed from 3 source colors per
|
|
47
|
+
* design §9.1).
|
|
48
|
+
* - Footer atom for the action hint.
|
|
49
|
+
* - One preview line per row, no truncation marker.
|
|
42
50
|
*/
|
|
43
51
|
export declare function runPreferencesReview(rl: ReadlineInterface): Promise<boolean>;
|
|
44
52
|
//# sourceMappingURL=preferences.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAenE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;CAClD;AA0BD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAcrE;AAsGD
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAenE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;CAClD;AA0BD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAcrE;AAsGD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuDlF"}
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { GnosysDB } from "../../db.js";
|
|
18
18
|
import { setPreference, deletePreference, KNOWN_PREFERENCE_KEYS, } from "../../preferences.js";
|
|
19
|
+
import { safeQuestion } from "../ui/safePrompt.js";
|
|
19
20
|
const DIM = "\x1b[2m";
|
|
20
21
|
const GREEN = "\x1b[32m";
|
|
21
22
|
const RED = "\x1b[31m";
|
|
22
|
-
const YELLOW = "\x1b[33m";
|
|
23
23
|
const BOLD = "\x1b[1m";
|
|
24
24
|
const RESET = "\x1b[0m";
|
|
25
25
|
/** Inspect a memory ID and classify it. v5.x gnosys uses `prefix-ULID` or `pref-<key>`. */
|
|
@@ -80,7 +80,7 @@ async function setNewPreference(rl) {
|
|
|
80
80
|
console.log(`${DIM}Known keys: ${KNOWN_PREFERENCE_KEYS.slice(0, 5).join(", ")}, ...${RESET}`);
|
|
81
81
|
console.log(`${DIM}You can also use any custom key — just keep it kebab-case.${RESET}`);
|
|
82
82
|
console.log("");
|
|
83
|
-
const key = (await rl
|
|
83
|
+
const key = (await safeQuestion(rl, "Key (e.g. code-style): ")).trim();
|
|
84
84
|
if (!key) {
|
|
85
85
|
console.log(`${DIM}Cancelled.${RESET}`);
|
|
86
86
|
return false;
|
|
@@ -89,7 +89,7 @@ async function setNewPreference(rl) {
|
|
|
89
89
|
console.log(`${RED}Invalid key — use lowercase letters, digits, and dashes only.${RESET}`);
|
|
90
90
|
return false;
|
|
91
91
|
}
|
|
92
|
-
const value = (await rl
|
|
92
|
+
const value = (await safeQuestion(rl, "Value (one line or short paragraph): ")).trim();
|
|
93
93
|
if (!value) {
|
|
94
94
|
console.log(`${DIM}Cancelled.${RESET}`);
|
|
95
95
|
return false;
|
|
@@ -124,9 +124,9 @@ async function viewAndMaybeDelete(rl, pref) {
|
|
|
124
124
|
// mutating the legacy row.
|
|
125
125
|
const isEditable = pref.id.startsWith("pref-");
|
|
126
126
|
const menu = isEditable ? "[E]dit · [D]elete · [K]eep · [B]ack> " : "[D]elete · [K]eep · [B]ack> ";
|
|
127
|
-
const action = (await rl
|
|
127
|
+
const action = (await safeQuestion(rl, menu)).trim().toLowerCase();
|
|
128
128
|
if (isEditable && (action === "e" || action === "edit")) {
|
|
129
|
-
const newValue = (await rl
|
|
129
|
+
const newValue = (await safeQuestion(rl, `New value for ${pref.key} (empty = cancel): `)).trim();
|
|
130
130
|
if (!newValue) {
|
|
131
131
|
console.log(`${DIM}Cancelled.${RESET}`);
|
|
132
132
|
return false;
|
|
@@ -147,7 +147,7 @@ async function viewAndMaybeDelete(rl, pref) {
|
|
|
147
147
|
}
|
|
148
148
|
if (action !== "d" && action !== "delete")
|
|
149
149
|
return false;
|
|
150
|
-
const confirm = (await rl
|
|
150
|
+
const confirm = (await safeQuestion(rl, `Delete "${pref.title}"? [y/N] `)).trim().toLowerCase();
|
|
151
151
|
if (confirm !== "y" && confirm !== "yes")
|
|
152
152
|
return false;
|
|
153
153
|
const db = GnosysDB.openCentral();
|
|
@@ -173,31 +173,52 @@ async function viewAndMaybeDelete(rl, pref) {
|
|
|
173
173
|
/**
|
|
174
174
|
* Run the interactive preferences review. Returns true if anything was
|
|
175
175
|
* changed (added, edited, or deleted).
|
|
176
|
+
*
|
|
177
|
+
* v5.9.3 redesign (Screen 9):
|
|
178
|
+
* - Header() + breadcrumb with `N stored` suffix.
|
|
179
|
+
* - Two source dots: ● (filled, accent) = gnosys-native, ○ (hollow,
|
|
180
|
+
* text-dim) = imported/unknown (collapsed from 3 source colors per
|
|
181
|
+
* design §9.1).
|
|
182
|
+
* - Footer atom for the action hint.
|
|
183
|
+
* - One preview line per row, no truncation marker.
|
|
176
184
|
*/
|
|
177
185
|
export async function runPreferencesReview(rl) {
|
|
186
|
+
const { Header } = await import("../ui/header.js");
|
|
187
|
+
const { Footer } = await import("../ui/footer.js");
|
|
188
|
+
const { Status } = await import("../ui/status.js");
|
|
189
|
+
const { c, color, glyph } = await import("../ui/tokens.js");
|
|
178
190
|
let anyChange = false;
|
|
179
191
|
while (true) {
|
|
180
192
|
const current = await listUserPreferences();
|
|
181
193
|
console.log("");
|
|
182
|
-
console.log(`${
|
|
194
|
+
console.log(Header(["gnosys", "setup", "preferences"], { version: `${current.length} stored` }));
|
|
195
|
+
console.log("");
|
|
183
196
|
if (current.length === 0) {
|
|
184
|
-
console.log(
|
|
197
|
+
console.log(` ${color(c.text, "User preferences")}`);
|
|
198
|
+
console.log(` ${color(c.textMid, "things you've told gnosys to remember about how you work")}`);
|
|
199
|
+
console.log("");
|
|
200
|
+
console.log(` ${color(c.textDim, "nothing stored yet.")}`);
|
|
185
201
|
}
|
|
186
202
|
else {
|
|
187
203
|
current.forEach((p, i) => {
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const preview = p.value.replace(/\s+/g, " ").trim()
|
|
194
|
-
|
|
195
|
-
console.log(`
|
|
204
|
+
const isNative = p.source === "gnosys-native";
|
|
205
|
+
const dot = isNative ? color(c.accent, glyph.dotFilled) : color(c.textDim, glyph.dotHollow);
|
|
206
|
+
const num = color(c.textDim, String(i + 1).padStart(2, " "));
|
|
207
|
+
const key = color(c.text, p.key.padEnd(14));
|
|
208
|
+
// Hard-truncate at col 80 without a marker per design §9.2.
|
|
209
|
+
const preview = p.value.replace(/\s+/g, " ").trim();
|
|
210
|
+
const previewColored = color(c.textMid, preview);
|
|
211
|
+
console.log(` ${num} ${dot} ${key} ${previewColored}`);
|
|
196
212
|
});
|
|
213
|
+
console.log("");
|
|
214
|
+
console.log(` ${color(c.accent, glyph.dotFilled)} ${color(c.textDim, "added by you")} ${color(c.textDim, glyph.dotHollow)} ${color(c.textDim, "imported / unknown")}`);
|
|
197
215
|
}
|
|
198
216
|
console.log("");
|
|
199
|
-
|
|
200
|
-
|
|
217
|
+
const hint = current.length === 0
|
|
218
|
+
? "n · new b · back"
|
|
219
|
+
: `1–${current.length} · open n · new b · back`;
|
|
220
|
+
console.log(Footer(hint));
|
|
221
|
+
const answer = (await safeQuestion(rl, ` ${color(c.accent, glyph.prompt)} `)).trim().toLowerCase();
|
|
201
222
|
if (!answer || answer === "b" || answer === "back")
|
|
202
223
|
return anyChange;
|
|
203
224
|
if (answer === "n" || answer === "new") {
|
|
@@ -207,7 +228,7 @@ export async function runPreferencesReview(rl) {
|
|
|
207
228
|
}
|
|
208
229
|
const idx = parseInt(answer, 10) - 1;
|
|
209
230
|
if (Number.isNaN(idx) || idx < 0 || idx >= current.length) {
|
|
210
|
-
console.log(
|
|
231
|
+
console.log(Status("warn", `unknown choice: ${answer}`));
|
|
211
232
|
continue;
|
|
212
233
|
}
|
|
213
234
|
if (await viewAndMaybeDelete(rl, current[idx]))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/preferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* directly via `gnosys setup routing` or from the summary-first menu.
|
|
8
8
|
*/
|
|
9
9
|
import { Interface as ReadlineInterface } from "readline/promises";
|
|
10
|
-
export declare const TASK_DESCRIPTIONS: Record<string, string>;
|
|
11
10
|
export interface RoutingOptions {
|
|
12
11
|
rl: ReadlineInterface;
|
|
13
12
|
directory: string;
|
|
@@ -1 +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;
|
|
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;AA4BnE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,iBAAiB,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAsH5E"}
|