gnosys 5.9.2 → 5.9.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.
Files changed (136) hide show
  1. package/dist/cli.js +311 -147
  2. package/dist/cli.js.map +1 -1
  3. package/dist/lib/chat/index.d.ts.map +1 -1
  4. package/dist/lib/chat/index.js +5 -0
  5. package/dist/lib/chat/index.js.map +1 -1
  6. package/dist/lib/cleanup.d.ts +52 -0
  7. package/dist/lib/cleanup.d.ts.map +1 -0
  8. package/dist/lib/cleanup.js +168 -0
  9. package/dist/lib/cleanup.js.map +1 -0
  10. package/dist/lib/config.d.ts +7 -0
  11. package/dist/lib/config.d.ts.map +1 -1
  12. package/dist/lib/config.js +41 -2
  13. package/dist/lib/config.js.map +1 -1
  14. package/dist/lib/dream.d.ts.map +1 -1
  15. package/dist/lib/dream.js +13 -2
  16. package/dist/lib/dream.js.map +1 -1
  17. package/dist/lib/paths.d.ts +8 -0
  18. package/dist/lib/paths.d.ts.map +1 -1
  19. package/dist/lib/paths.js +15 -0
  20. package/dist/lib/paths.js.map +1 -1
  21. package/dist/lib/remote.d.ts +11 -0
  22. package/dist/lib/remote.d.ts.map +1 -1
  23. package/dist/lib/remote.js +26 -2
  24. package/dist/lib/remote.js.map +1 -1
  25. package/dist/lib/remoteWizard.d.ts.map +1 -1
  26. package/dist/lib/remoteWizard.js +112 -52
  27. package/dist/lib/remoteWizard.js.map +1 -1
  28. package/dist/lib/setup/coldStart.d.ts +71 -0
  29. package/dist/lib/setup/coldStart.d.ts.map +1 -0
  30. package/dist/lib/setup/coldStart.js +122 -0
  31. package/dist/lib/setup/coldStart.js.map +1 -0
  32. package/dist/lib/setup/configSetRender.d.ts +26 -0
  33. package/dist/lib/setup/configSetRender.d.ts.map +1 -0
  34. package/dist/lib/setup/configSetRender.js +103 -0
  35. package/dist/lib/setup/configSetRender.js.map +1 -0
  36. package/dist/lib/setup/dreamRender.d.ts +44 -0
  37. package/dist/lib/setup/dreamRender.d.ts.map +1 -0
  38. package/dist/lib/setup/dreamRender.js +55 -0
  39. package/dist/lib/setup/dreamRender.js.map +1 -0
  40. package/dist/lib/setup/dreamState.d.ts +50 -0
  41. package/dist/lib/setup/dreamState.d.ts.map +1 -0
  42. package/dist/lib/setup/dreamState.js +68 -0
  43. package/dist/lib/setup/dreamState.js.map +1 -0
  44. package/dist/lib/setup/modelsRender.d.ts +25 -0
  45. package/dist/lib/setup/modelsRender.d.ts.map +1 -0
  46. package/dist/lib/setup/modelsRender.js +33 -0
  47. package/dist/lib/setup/modelsRender.js.map +1 -0
  48. package/dist/lib/setup/remoteRender.d.ts +43 -0
  49. package/dist/lib/setup/remoteRender.d.ts.map +1 -0
  50. package/dist/lib/setup/remoteRender.js +65 -0
  51. package/dist/lib/setup/remoteRender.js.map +1 -0
  52. package/dist/lib/setup/routingRender.d.ts +48 -0
  53. package/dist/lib/setup/routingRender.d.ts.map +1 -0
  54. package/dist/lib/setup/routingRender.js +114 -0
  55. package/dist/lib/setup/routingRender.js.map +1 -0
  56. package/dist/lib/setup/sections/ides.d.ts +8 -0
  57. package/dist/lib/setup/sections/ides.d.ts.map +1 -1
  58. package/dist/lib/setup/sections/ides.js +88 -33
  59. package/dist/lib/setup/sections/ides.js.map +1 -1
  60. package/dist/lib/setup/sections/preferences.d.ts +8 -0
  61. package/dist/lib/setup/sections/preferences.d.ts.map +1 -1
  62. package/dist/lib/setup/sections/preferences.js +54 -20
  63. package/dist/lib/setup/sections/preferences.js.map +1 -1
  64. package/dist/lib/setup/sections/routing.d.ts +0 -1
  65. package/dist/lib/setup/sections/routing.d.ts.map +1 -1
  66. package/dist/lib/setup/sections/routing.js +80 -38
  67. package/dist/lib/setup/sections/routing.js.map +1 -1
  68. package/dist/lib/setup/storePath.d.ts +30 -0
  69. package/dist/lib/setup/storePath.d.ts.map +1 -0
  70. package/dist/lib/setup/storePath.js +47 -0
  71. package/dist/lib/setup/storePath.js.map +1 -0
  72. package/dist/lib/setup/summary.d.ts +33 -19
  73. package/dist/lib/setup/summary.d.ts.map +1 -1
  74. package/dist/lib/setup/summary.js +148 -113
  75. package/dist/lib/setup/summary.js.map +1 -1
  76. package/dist/lib/setup/syncProjectsRender.d.ts +57 -0
  77. package/dist/lib/setup/syncProjectsRender.d.ts.map +1 -0
  78. package/dist/lib/setup/syncProjectsRender.js +184 -0
  79. package/dist/lib/setup/syncProjectsRender.js.map +1 -0
  80. package/dist/lib/setup/ui/diff.d.ts +19 -0
  81. package/dist/lib/setup/ui/diff.d.ts.map +1 -0
  82. package/dist/lib/setup/ui/diff.js +34 -0
  83. package/dist/lib/setup/ui/diff.js.map +1 -0
  84. package/dist/lib/setup/ui/footer.d.ts +11 -0
  85. package/dist/lib/setup/ui/footer.d.ts.map +1 -0
  86. package/dist/lib/setup/ui/footer.js +21 -0
  87. package/dist/lib/setup/ui/footer.js.map +1 -0
  88. package/dist/lib/setup/ui/header.d.ts +24 -0
  89. package/dist/lib/setup/ui/header.d.ts.map +1 -0
  90. package/dist/lib/setup/ui/header.js +49 -0
  91. package/dist/lib/setup/ui/header.js.map +1 -0
  92. package/dist/lib/setup/ui/index.d.ts +28 -0
  93. package/dist/lib/setup/ui/index.d.ts.map +1 -0
  94. package/dist/lib/setup/ui/index.js +19 -0
  95. package/dist/lib/setup/ui/index.js.map +1 -0
  96. package/dist/lib/setup/ui/menu.d.ts +27 -0
  97. package/dist/lib/setup/ui/menu.d.ts.map +1 -0
  98. package/dist/lib/setup/ui/menu.js +75 -0
  99. package/dist/lib/setup/ui/menu.js.map +1 -0
  100. package/dist/lib/setup/ui/panel.d.ts +23 -0
  101. package/dist/lib/setup/ui/panel.d.ts.map +1 -0
  102. package/dist/lib/setup/ui/panel.js +60 -0
  103. package/dist/lib/setup/ui/panel.js.map +1 -0
  104. package/dist/lib/setup/ui/prompt.d.ts +27 -0
  105. package/dist/lib/setup/ui/prompt.d.ts.map +1 -0
  106. package/dist/lib/setup/ui/prompt.js +38 -0
  107. package/dist/lib/setup/ui/prompt.js.map +1 -0
  108. package/dist/lib/setup/ui/safePrompt.d.ts +24 -0
  109. package/dist/lib/setup/ui/safePrompt.d.ts.map +1 -0
  110. package/dist/lib/setup/ui/safePrompt.js +71 -0
  111. package/dist/lib/setup/ui/safePrompt.js.map +1 -0
  112. package/dist/lib/setup/ui/spinner.d.ts +28 -0
  113. package/dist/lib/setup/ui/spinner.d.ts.map +1 -0
  114. package/dist/lib/setup/ui/spinner.js +87 -0
  115. package/dist/lib/setup/ui/spinner.js.map +1 -0
  116. package/dist/lib/setup/ui/status.d.ts +21 -0
  117. package/dist/lib/setup/ui/status.d.ts.map +1 -0
  118. package/dist/lib/setup/ui/status.js +49 -0
  119. package/dist/lib/setup/ui/status.js.map +1 -0
  120. package/dist/lib/setup/ui/table.d.ts +37 -0
  121. package/dist/lib/setup/ui/table.d.ts.map +1 -0
  122. package/dist/lib/setup/ui/table.js +82 -0
  123. package/dist/lib/setup/ui/table.js.map +1 -0
  124. package/dist/lib/setup/ui/title.d.ts +14 -0
  125. package/dist/lib/setup/ui/title.d.ts.map +1 -0
  126. package/dist/lib/setup/ui/title.js +24 -0
  127. package/dist/lib/setup/ui/title.js.map +1 -0
  128. package/dist/lib/setup/ui/tokens.d.ts +66 -0
  129. package/dist/lib/setup/ui/tokens.d.ts.map +1 -0
  130. package/dist/lib/setup/ui/tokens.js +87 -0
  131. package/dist/lib/setup/ui/tokens.js.map +1 -0
  132. package/dist/lib/setup.d.ts +38 -0
  133. package/dist/lib/setup.d.ts.map +1 -1
  134. package/dist/lib/setup.js +440 -308
  135. package/dist/lib/setup.js.map +1 -1
  136. package/package.json +1 -1
@@ -7,23 +7,17 @@
7
7
  * directly via `gnosys setup routing` or from the summary-first menu.
8
8
  */
9
9
  import { loadConfig, updateConfig, resolveTaskModel, getProviderModel, } from "../../config.js";
10
- const BOLD = "\x1b[1m";
10
+ import { safeQuestion } from "../ui/safePrompt.js";
11
+ import { Header } from "../ui/header.js";
12
+ import { Title } from "../ui/title.js";
13
+ import { Footer } from "../ui/footer.js";
14
+ import { printStatus } from "../ui/status.js";
15
+ import { classifyCost, renderRoutingTable, renderRoutingDiff, } from "../routingRender.js";
11
16
  const DIM = "\x1b[2m";
12
- const GREEN = "\x1b[32m";
13
17
  const RESET = "\x1b[0m";
14
- const CHECK = `${GREEN}✓${RESET}`;
15
- export const TASK_DESCRIPTIONS = {
16
- structuring: "adding memories, tagging",
17
- synthesis: "Q&A answers, ask",
18
- // v5.8.0 (#2): chat is its own task — was lumped under synthesis before.
19
- chat: "interactive chat TUI",
20
- vision: "images, PDFs",
21
- transcription: "audio files",
22
- dream: "idle consolidation",
23
- };
24
18
  const TASKS = ["structuring", "synthesis", "chat", "vision", "transcription"];
25
19
  async function ask(rl, prompt) {
26
- return (await rl.question(prompt)).trim();
20
+ return (await safeQuestion(rl, prompt)).trim();
27
21
  }
28
22
  async function askYesNo(rl, prompt, defaultYes) {
29
23
  const hint = defaultYes ? " [Y/n] " : " [y/N] ";
@@ -63,18 +57,22 @@ function buildEffectiveRouting(cfg) {
63
57
  };
64
58
  return out;
65
59
  }
66
- function printTable(routing, dreamEnabled) {
67
- const taskNameWidth = 16;
68
- const routingWidth = 38;
69
- console.log(` ${BOLD}${"Task".padEnd(taskNameWidth)}${"Current Routing".padEnd(routingWidth)}${RESET}`);
70
- console.log(` ${"─".repeat(taskNameWidth + routingWidth)}`);
60
+ /**
61
+ * Build the table-row payload from current routing data. Marks any
62
+ * task whose effective provider/model differs from the snapshot as
63
+ * `changed` so the renderer can highlight it (▶ in accent-hi).
64
+ */
65
+ function buildTaskRows(routing, baseline, dreamEnabled) {
66
+ const rows = [];
71
67
  for (const t of [...TASKS, "dream"]) {
72
68
  const r = routing[t];
73
- const desc = TASK_DESCRIPTIONS[t] ?? "";
74
- const status = t === "dream" && !dreamEnabled ? `${DIM}(disabled)${RESET}` : `${DIM}(${desc})${RESET}`;
75
- console.log(` ${t.padEnd(taskNameWidth)}${`${r.provider} / ${r.model}`.padEnd(routingWidth)}${status}`);
69
+ const uses = `${r.provider} / ${r.model}`;
70
+ const cost = t === "dream" && !dreamEnabled ? "free" : classifyCost(r.provider, r.model);
71
+ const base = baseline[t];
72
+ const changed = !base || base.provider !== r.provider || base.model !== r.model;
73
+ rows.push({ task: t, uses, cost, changed });
76
74
  }
77
- console.log("");
75
+ return rows;
78
76
  }
79
77
  /**
80
78
  * Run the task-routing wizard. Reads current config, walks the 3-way choice
@@ -86,18 +84,24 @@ export async function runRoutingSetup(opts) {
86
84
  const provider = cfg.llm.defaultProvider;
87
85
  const model = getProviderModel(cfg, provider);
88
86
  console.log("");
89
- console.log(`${BOLD}Task Routing${RESET}`);
87
+ console.log(Header(["gnosys", "setup", "routing"]));
90
88
  console.log("");
91
- console.log(`Each task can use a different LLM. Defaults flow from your provider`);
92
- console.log(`(${BOLD}${provider} / ${model}${RESET}). Override per-task or keep defaults.`);
89
+ console.log(Title("Task routing", "each task can use a different model overrides the default"));
93
90
  console.log("");
94
91
  const dreamEnabled = !!cfg.dream?.enabled;
95
- const routing = buildEffectiveRouting(cfg);
96
- printTable(routing, dreamEnabled);
92
+ const baseline = buildEffectiveRouting(cfg);
93
+ // Initial table: nothing has changed yet, so every row is `changed: false`.
94
+ const initialRows = buildTaskRows(baseline, baseline, dreamEnabled);
95
+ console.log(renderRoutingTable(initialRows));
96
+ console.log("");
97
+ // v5.9.4 Bug 5 — clearer option copy. Option 1 keeps current routing
98
+ // (skip, no changes). Option 2 customises individual tasks. Option 3
99
+ // CLEARS all task overrides so every task falls back to the default
100
+ // provider; we show a Diff() of what's being removed before committing.
97
101
  const choice = await askChoice(opts.rl, "What would you like to do?", [
98
- `Keep defaults (all tasks use ${provider})`,
102
+ "Keep current routing (no changes)",
99
103
  "Customize individual tasks",
100
- "Use same provider for ALL tasks (including dream)",
104
+ "Reset all task overrides to use default",
101
105
  ], 0);
102
106
  if (choice === 0) {
103
107
  console.log(`${DIM}No changes.${RESET}`);
@@ -112,7 +116,7 @@ export async function runRoutingSetup(opts) {
112
116
  if (choice === 1) {
113
117
  // Customize each task
114
118
  for (const t of TASKS) {
115
- const current = routing[t];
119
+ const current = baseline[t];
116
120
  const keep = await askYesNo(opts.rl, `Keep ${t} → ${current.provider} / ${current.model}?`, true);
117
121
  if (!keep) {
118
122
  const p = await ask(opts.rl, ` Provider for ${t} (e.g. anthropic, openai, xai, ollama): `);
@@ -134,15 +138,33 @@ export async function runRoutingSetup(opts) {
134
138
  }
135
139
  }
136
140
  else {
137
- // choice === 2: use same provider for everything
138
- for (const t of TASKS) {
139
- newTaskModels[t] = { provider, model };
141
+ // v5.9.4 Bug 5 — choice === 2 now means "reset all task overrides to use
142
+ // default". Show the user what's about to be cleared (the rows currently
143
+ // pinned to non-default providers) before committing.
144
+ const { Diff } = await import("../ui/diff.js");
145
+ const overridesBeingCleared = Object.entries(cfg.taskModels ?? {})
146
+ .filter(([, v]) => v.provider !== provider || v.model !== model)
147
+ .map(([task, v]) => ({
148
+ label: task,
149
+ from: `${v.provider} / ${v.model}`,
150
+ to: `${provider} / ${model} (default)`,
151
+ }));
152
+ if (overridesBeingCleared.length > 0) {
153
+ console.log("");
154
+ console.log(Diff(overridesBeingCleared));
155
+ console.log("");
140
156
  }
141
- dreamEnabledNew = await askYesNo(opts.rl, `Enable dream with ${provider}?`, true);
142
- if (dreamEnabledNew) {
143
- dreamProvider = provider;
144
- dreamModel = model;
157
+ else {
158
+ console.log(`${DIM}No overrides to clear — already using default everywhere.${RESET}`);
145
159
  }
160
+ const confirmReset = await askYesNo(opts.rl, "Reset all task overrides?", true);
161
+ if (!confirmReset) {
162
+ console.log(`${DIM}Cancelled.${RESET}`);
163
+ return false;
164
+ }
165
+ // Clear every overridden task back to default by deleting the keys.
166
+ for (const t of TASKS)
167
+ delete newTaskModels[t];
146
168
  }
147
169
  // Persist
148
170
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -155,8 +177,28 @@ export async function runRoutingSetup(opts) {
155
177
  model: dreamModel,
156
178
  },
157
179
  });
180
+ // v5.9.3 Screen 4 — re-render the table with `▶` markers on changed rows
181
+ // followed by a Diff() block summarizing what shipped. Then a final
182
+ // status line that names the saved file.
183
+ const updatedCfg = await loadConfig(opts.directory);
184
+ const updatedRouting = buildEffectiveRouting(updatedCfg);
185
+ const finalRows = buildTaskRows(updatedRouting, baseline, dreamEnabledNew);
186
+ console.log("");
187
+ console.log(renderRoutingTable(finalRows));
188
+ console.log("");
189
+ const diffEntries = [];
190
+ for (const t of [...TASKS, "dream"]) {
191
+ const before = baseline[t];
192
+ const after = updatedRouting[t];
193
+ const fromStr = `${before.provider} / ${before.model}`;
194
+ const toStr = `${after.provider} / ${after.model}`;
195
+ diffEntries.push({ task: t, from: fromStr, to: toStr === fromStr ? null : toStr });
196
+ }
197
+ console.log(renderRoutingDiff(diffEntries));
158
198
  console.log("");
159
- console.log(`${CHECK} Task routing updated.`);
199
+ printStatus("ok", "routing saved", `${opts.directory}/.gnosys/gnosys.json`);
200
+ // Footer hint (right-aligned) for any follow-up navigation in the menu flow.
201
+ console.log(Footer("press enter to return"));
160
202
  return true;
161
203
  }
162
204
  //# sourceMappingURL=routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../../src/lib/setup/sections/routing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shared store-path resolution for setup wizards (v5.9.4 — Bug 10).
3
+ *
4
+ * Before v5.9.4, three call sites resolved which `gnosys.json` to read/
5
+ * write — `summary.ts::resolveActiveStorePath`, `setup.ts::loadExistingConfig`,
6
+ * and `setup.ts::pickStorePath` — each with subtly different rules. The
7
+ * model picker would read the global config while the summary panel was
8
+ * reading the project config (or vice versa), producing the v5.9.3 bug
9
+ * where `setup models` displayed `current: grok-4.20` while gnosys.json
10
+ * actually held `grok-4.3`.
11
+ *
12
+ * From v5.9.4 onward, any code that reads config + selects a store goes
13
+ * through `resolveActiveStorePath()` (read-only resolution) or
14
+ * `ensureActiveStorePath()` (write resolution — creates global home if
15
+ * neither store exists yet). Grep the codebase for `loadConfig(` and
16
+ * `updateConfig(` to confirm every caller routes through here.
17
+ */
18
+ /**
19
+ * Return the store path to READ from. Project-level `.gnosys/` is preferred
20
+ * when its `gnosys.json` exists; otherwise the global `~/.gnosys/` home.
21
+ * Does NOT create directories — safe to call when no config exists yet.
22
+ */
23
+ export declare function resolveActiveStorePath(projectDir: string): string;
24
+ /**
25
+ * Return the store path to WRITE to. Project-level if its `gnosys.json`
26
+ * exists, else the global home (created if missing). Distinct from
27
+ * `resolveActiveStorePath` only by the `mkdir` side-effect.
28
+ */
29
+ export declare function ensureActiveStorePath(projectDir: string): string;
30
+ //# sourceMappingURL=storePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storePath.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/storePath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQhE"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Shared store-path resolution for setup wizards (v5.9.4 — Bug 10).
3
+ *
4
+ * Before v5.9.4, three call sites resolved which `gnosys.json` to read/
5
+ * write — `summary.ts::resolveActiveStorePath`, `setup.ts::loadExistingConfig`,
6
+ * and `setup.ts::pickStorePath` — each with subtly different rules. The
7
+ * model picker would read the global config while the summary panel was
8
+ * reading the project config (or vice versa), producing the v5.9.3 bug
9
+ * where `setup models` displayed `current: grok-4.20` while gnosys.json
10
+ * actually held `grok-4.3`.
11
+ *
12
+ * From v5.9.4 onward, any code that reads config + selects a store goes
13
+ * through `resolveActiveStorePath()` (read-only resolution) or
14
+ * `ensureActiveStorePath()` (write resolution — creates global home if
15
+ * neither store exists yet). Grep the codebase for `loadConfig(` and
16
+ * `updateConfig(` to confirm every caller routes through here.
17
+ */
18
+ import fsSync from "fs";
19
+ import path from "path";
20
+ import { getGnosysHome } from "../paths.js";
21
+ /**
22
+ * Return the store path to READ from. Project-level `.gnosys/` is preferred
23
+ * when its `gnosys.json` exists; otherwise the global `~/.gnosys/` home.
24
+ * Does NOT create directories — safe to call when no config exists yet.
25
+ */
26
+ export function resolveActiveStorePath(projectDir) {
27
+ const projectStore = path.join(projectDir, ".gnosys");
28
+ if (fsSync.existsSync(path.join(projectStore, "gnosys.json")))
29
+ return projectStore;
30
+ return getGnosysHome();
31
+ }
32
+ /**
33
+ * Return the store path to WRITE to. Project-level if its `gnosys.json`
34
+ * exists, else the global home (created if missing). Distinct from
35
+ * `resolveActiveStorePath` only by the `mkdir` side-effect.
36
+ */
37
+ export function ensureActiveStorePath(projectDir) {
38
+ const projectStore = path.join(projectDir, ".gnosys");
39
+ if (fsSync.existsSync(path.join(projectStore, "gnosys.json")))
40
+ return projectStore;
41
+ const globalStore = getGnosysHome();
42
+ if (!fsSync.existsSync(globalStore)) {
43
+ fsSync.mkdirSync(globalStore, { recursive: true });
44
+ }
45
+ return globalStore;
46
+ }
47
+ //# sourceMappingURL=storePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storePath.js","sourceRoot":"","sources":["../../../src/lib/setup/storePath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,MAAM,MAAM,IAAI,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC;IACnF,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC;IACnF,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,42 +1,56 @@
1
1
  /**
2
- * Setup summary-first wizard (v5.7.0).
2
+ * Setup summary-first wizard (v5.9.3 redesign).
3
3
  *
4
- * When the user runs `gnosys setup` and a config already exists, the first
5
- * screen is the current settings summary. The user picks a numbered option
6
- * to edit just that piece, returns to the summary with `✓ updated` next to
7
- * the changed line, and exits with `[D]one` (apply) or `[E]xit` (revert).
4
+ * When the user runs `gnosys setup` and a config already exists, the
5
+ * first screen is the current settings summary. The user picks a
6
+ * numbered option to edit just that piece, returns to the panel with
7
+ * `✓` next to the changed line for the rest of this sitting, and exits
8
+ * with `done` (Enter or `done`).
8
9
  *
9
- * Each section is a thin wrapper around the existing per-section function
10
- * in `setup.ts` (or a new section module). This file is the orchestrator
11
- * + summary screen it does not duplicate section logic.
10
+ * v5.9.3 changes:
11
+ * - Uses Phase A atoms: Header, Panel, Status, Footer, Prompt
12
+ * - Re-reads config from the ACTIVE store path (.gnosys/ if project
13
+ * scope, else ~/.gnosys/) before re-render — fixes the stale-display
14
+ * bug where switching provider via section 3 left the panel showing
15
+ * the old value because loadConfig was reading from project root
16
+ * rather than .gnosys/.
17
+ * - `[D]one` / `[E]xit` collapsed to single "done" action.
18
+ * - `maybeOfferProviderRepair` reworked to column-aligned detection
19
+ * block with no "pre-v5.8.4" history leak.
12
20
  */
13
21
  import { Interface as ReadlineInterface } from "readline/promises";
14
22
  import { type GnosysConfig } from "../config.js";
23
+ import { resolveActiveStorePath } from "./storePath.js";
15
24
  /** Each summary line is a section the user can navigate into. */
16
25
  export interface SummarySection {
17
- /** Number key shown in the menu. */
18
26
  key: string;
19
- /** Label shown on the summary line (left side). */
20
27
  label: string;
21
- /** Current value — printed on the right side, dim. */
22
28
  describe: (cfg: GnosysConfig) => string | Promise<string>;
23
- /** Run when user picks this line. Returns true if a change was committed. */
24
29
  edit: (rl: ReadlineInterface, cfg: GnosysConfig, projectDir: string) => Promise<boolean>;
25
30
  }
31
+ export declare function buildSections(): SummarySection[];
26
32
  /**
27
- * Build the section list. Each `edit` calls into existing wizards via
28
- * dynamic import keeps this file decoupled from the legacy setup.ts.
33
+ * Render the panel body one menu-shaped row per section. Returns the
34
+ * row strings (already colored) ready to hand to Panel().
29
35
  */
30
- export declare function buildSections(): SummarySection[];
36
+ declare function renderPanelRows(cfg: GnosysConfig, sections: SummarySection[]): Promise<string[]>;
37
+ /**
38
+ * Build the `trailing` map of `✓` marks for sections edited this sitting.
39
+ */
40
+ declare function buildTrailingMap(updated: Set<string>, sections: SummarySection[]): Record<number, string>;
31
41
  export interface SummaryOptions {
32
- /** Project directory the wizard operates on (default: cwd). */
33
42
  directory?: string;
34
- /** Optional pre-existing readline; useful when caller is already prompting. */
35
43
  rl?: ReadlineInterface;
36
44
  }
37
45
  /**
38
- * Run the summary-first wizard. Loops until the user picks Done or Exit.
39
- * Returns `true` if any section was edited and committed.
46
+ * Run the summary-first wizard. Loops until the user picks "done"
47
+ * (Enter or `done`). Returns true if any section was edited.
40
48
  */
41
49
  export declare function runSummaryWizard(opts?: SummaryOptions): Promise<boolean>;
50
+ export declare const __test: {
51
+ resolveActiveStorePath: typeof resolveActiveStorePath;
52
+ renderPanelRows: typeof renderPanelRows;
53
+ buildTrailingMap: typeof buildTrailingMap;
54
+ };
55
+ export {};
42
56
  //# sourceMappingURL=summary.d.ts.map
@@ -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,EAIL,KAAK,YAAY,EAElB,MAAM,cAAc,CAAC;AAgFtB,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,CAuElF"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAmB,SAAS,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGpF,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAkFxD,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,EAAE,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1F;AAED,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAoHhD;AAcD;;;GAGG;AACH,iBAAe,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAW/F;AAED;;GAEG;AACH,iBAAS,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQlG;AAID,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,iBAAiB,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2DlF;AAGD,eAAO,MAAM,MAAM;;;;CAAgE,CAAC"}