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.
Files changed (173) hide show
  1. package/dist/cli.js +311 -143
  2. package/dist/cli.js.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/archive.d.ts.map +1 -1
  5. package/dist/lib/archive.js.map +1 -1
  6. package/dist/lib/bootstrap.d.ts.map +1 -1
  7. package/dist/lib/chat/index.d.ts.map +1 -1
  8. package/dist/lib/chat/index.js +5 -0
  9. package/dist/lib/chat/index.js.map +1 -1
  10. package/dist/lib/cleanup.d.ts +52 -0
  11. package/dist/lib/cleanup.d.ts.map +1 -0
  12. package/dist/lib/cleanup.js +168 -0
  13. package/dist/lib/cleanup.js.map +1 -0
  14. package/dist/lib/config.d.ts +7 -0
  15. package/dist/lib/config.d.ts.map +1 -1
  16. package/dist/lib/config.js +7 -1
  17. package/dist/lib/config.js.map +1 -1
  18. package/dist/lib/dashboard.d.ts.map +1 -1
  19. package/dist/lib/dashboard.js.map +1 -1
  20. package/dist/lib/db.d.ts +0 -13
  21. package/dist/lib/db.d.ts.map +1 -1
  22. package/dist/lib/db.js +0 -31
  23. package/dist/lib/db.js.map +1 -1
  24. package/dist/lib/dbSearch.d.ts.map +1 -1
  25. package/dist/lib/dbSearch.js +0 -1
  26. package/dist/lib/dbSearch.js.map +1 -1
  27. package/dist/lib/dream.d.ts.map +1 -1
  28. package/dist/lib/dream.js +1 -1
  29. package/dist/lib/dream.js.map +1 -1
  30. package/dist/lib/export.d.ts.map +1 -1
  31. package/dist/lib/federated.d.ts.map +1 -1
  32. package/dist/lib/federated.js +23 -65
  33. package/dist/lib/federated.js.map +1 -1
  34. package/dist/lib/hybridSearch.d.ts.map +1 -1
  35. package/dist/lib/hybridSearch.js.map +1 -1
  36. package/dist/lib/import.d.ts.map +1 -1
  37. package/dist/lib/import.js +2 -1
  38. package/dist/lib/import.js.map +1 -1
  39. package/dist/lib/lensing.d.ts +0 -9
  40. package/dist/lib/lensing.d.ts.map +1 -1
  41. package/dist/lib/lensing.js +0 -15
  42. package/dist/lib/lensing.js.map +1 -1
  43. package/dist/lib/maintenance.d.ts.map +1 -1
  44. package/dist/lib/maintenance.js +0 -39
  45. package/dist/lib/maintenance.js.map +1 -1
  46. package/dist/lib/migrate.js.map +1 -1
  47. package/dist/lib/paths.d.ts +8 -2
  48. package/dist/lib/paths.d.ts.map +1 -1
  49. package/dist/lib/paths.js +15 -4
  50. package/dist/lib/paths.js.map +1 -1
  51. package/dist/lib/portfolio.d.ts.map +1 -1
  52. package/dist/lib/portfolio.js +0 -23
  53. package/dist/lib/portfolio.js.map +1 -1
  54. package/dist/lib/projectIdentity.d.ts +9 -5
  55. package/dist/lib/projectIdentity.d.ts.map +1 -1
  56. package/dist/lib/projectIdentity.js +19 -22
  57. package/dist/lib/projectIdentity.js.map +1 -1
  58. package/dist/lib/remoteWizard.d.ts.map +1 -1
  59. package/dist/lib/remoteWizard.js +112 -52
  60. package/dist/lib/remoteWizard.js.map +1 -1
  61. package/dist/lib/rulesGen.d.ts +1 -4
  62. package/dist/lib/rulesGen.d.ts.map +1 -1
  63. package/dist/lib/rulesGen.js +2 -10
  64. package/dist/lib/rulesGen.js.map +1 -1
  65. package/dist/lib/search.d.ts.map +1 -1
  66. package/dist/lib/setup/coldStart.d.ts +71 -0
  67. package/dist/lib/setup/coldStart.d.ts.map +1 -0
  68. package/dist/lib/setup/coldStart.js +122 -0
  69. package/dist/lib/setup/coldStart.js.map +1 -0
  70. package/dist/lib/setup/configSetRender.d.ts +26 -0
  71. package/dist/lib/setup/configSetRender.d.ts.map +1 -0
  72. package/dist/lib/setup/configSetRender.js +103 -0
  73. package/dist/lib/setup/configSetRender.js.map +1 -0
  74. package/dist/lib/setup/dreamRender.d.ts +44 -0
  75. package/dist/lib/setup/dreamRender.d.ts.map +1 -0
  76. package/dist/lib/setup/dreamRender.js +55 -0
  77. package/dist/lib/setup/dreamRender.js.map +1 -0
  78. package/dist/lib/setup/modelsRender.d.ts +25 -0
  79. package/dist/lib/setup/modelsRender.d.ts.map +1 -0
  80. package/dist/lib/setup/modelsRender.js +33 -0
  81. package/dist/lib/setup/modelsRender.js.map +1 -0
  82. package/dist/lib/setup/remoteRender.d.ts +43 -0
  83. package/dist/lib/setup/remoteRender.d.ts.map +1 -0
  84. package/dist/lib/setup/remoteRender.js +65 -0
  85. package/dist/lib/setup/remoteRender.js.map +1 -0
  86. package/dist/lib/setup/routingRender.d.ts +44 -0
  87. package/dist/lib/setup/routingRender.d.ts.map +1 -0
  88. package/dist/lib/setup/routingRender.js +97 -0
  89. package/dist/lib/setup/routingRender.js.map +1 -0
  90. package/dist/lib/setup/sections/ides.d.ts +8 -0
  91. package/dist/lib/setup/sections/ides.d.ts.map +1 -1
  92. package/dist/lib/setup/sections/ides.js +49 -27
  93. package/dist/lib/setup/sections/ides.js.map +1 -1
  94. package/dist/lib/setup/sections/preferences.d.ts +8 -0
  95. package/dist/lib/setup/sections/preferences.d.ts.map +1 -1
  96. package/dist/lib/setup/sections/preferences.js +40 -19
  97. package/dist/lib/setup/sections/preferences.js.map +1 -1
  98. package/dist/lib/setup/sections/routing.d.ts +0 -1
  99. package/dist/lib/setup/sections/routing.d.ts.map +1 -1
  100. package/dist/lib/setup/sections/routing.js +49 -29
  101. package/dist/lib/setup/sections/routing.js.map +1 -1
  102. package/dist/lib/setup/summary.d.ts +33 -19
  103. package/dist/lib/setup/summary.d.ts.map +1 -1
  104. package/dist/lib/setup/summary.js +135 -105
  105. package/dist/lib/setup/summary.js.map +1 -1
  106. package/dist/lib/setup/syncProjectsRender.d.ts +56 -0
  107. package/dist/lib/setup/syncProjectsRender.d.ts.map +1 -0
  108. package/dist/lib/setup/syncProjectsRender.js +168 -0
  109. package/dist/lib/setup/syncProjectsRender.js.map +1 -0
  110. package/dist/lib/setup/ui/diff.d.ts +19 -0
  111. package/dist/lib/setup/ui/diff.d.ts.map +1 -0
  112. package/dist/lib/setup/ui/diff.js +34 -0
  113. package/dist/lib/setup/ui/diff.js.map +1 -0
  114. package/dist/lib/setup/ui/footer.d.ts +11 -0
  115. package/dist/lib/setup/ui/footer.d.ts.map +1 -0
  116. package/dist/lib/setup/ui/footer.js +21 -0
  117. package/dist/lib/setup/ui/footer.js.map +1 -0
  118. package/dist/lib/setup/ui/header.d.ts +24 -0
  119. package/dist/lib/setup/ui/header.d.ts.map +1 -0
  120. package/dist/lib/setup/ui/header.js +49 -0
  121. package/dist/lib/setup/ui/header.js.map +1 -0
  122. package/dist/lib/setup/ui/index.d.ts +26 -0
  123. package/dist/lib/setup/ui/index.d.ts.map +1 -0
  124. package/dist/lib/setup/ui/index.js +18 -0
  125. package/dist/lib/setup/ui/index.js.map +1 -0
  126. package/dist/lib/setup/ui/menu.d.ts +27 -0
  127. package/dist/lib/setup/ui/menu.d.ts.map +1 -0
  128. package/dist/lib/setup/ui/menu.js +75 -0
  129. package/dist/lib/setup/ui/menu.js.map +1 -0
  130. package/dist/lib/setup/ui/panel.d.ts +23 -0
  131. package/dist/lib/setup/ui/panel.d.ts.map +1 -0
  132. package/dist/lib/setup/ui/panel.js +53 -0
  133. package/dist/lib/setup/ui/panel.js.map +1 -0
  134. package/dist/lib/setup/ui/prompt.d.ts +27 -0
  135. package/dist/lib/setup/ui/prompt.d.ts.map +1 -0
  136. package/dist/lib/setup/ui/prompt.js +38 -0
  137. package/dist/lib/setup/ui/prompt.js.map +1 -0
  138. package/dist/lib/setup/ui/safePrompt.d.ts +24 -0
  139. package/dist/lib/setup/ui/safePrompt.d.ts.map +1 -0
  140. package/dist/lib/setup/ui/safePrompt.js +71 -0
  141. package/dist/lib/setup/ui/safePrompt.js.map +1 -0
  142. package/dist/lib/setup/ui/spinner.d.ts +28 -0
  143. package/dist/lib/setup/ui/spinner.d.ts.map +1 -0
  144. package/dist/lib/setup/ui/spinner.js +87 -0
  145. package/dist/lib/setup/ui/spinner.js.map +1 -0
  146. package/dist/lib/setup/ui/status.d.ts +21 -0
  147. package/dist/lib/setup/ui/status.d.ts.map +1 -0
  148. package/dist/lib/setup/ui/status.js +49 -0
  149. package/dist/lib/setup/ui/status.js.map +1 -0
  150. package/dist/lib/setup/ui/title.d.ts +14 -0
  151. package/dist/lib/setup/ui/title.d.ts.map +1 -0
  152. package/dist/lib/setup/ui/title.js +24 -0
  153. package/dist/lib/setup/ui/title.js.map +1 -0
  154. package/dist/lib/setup/ui/tokens.d.ts +66 -0
  155. package/dist/lib/setup/ui/tokens.d.ts.map +1 -0
  156. package/dist/lib/setup/ui/tokens.js +87 -0
  157. package/dist/lib/setup/ui/tokens.js.map +1 -0
  158. package/dist/lib/setup.d.ts +7 -0
  159. package/dist/lib/setup.d.ts.map +1 -1
  160. package/dist/lib/setup.js +204 -230
  161. package/dist/lib/setup.js.map +1 -1
  162. package/dist/lib/store.d.ts +0 -4
  163. package/dist/lib/store.d.ts.map +1 -1
  164. package/dist/lib/store.js +0 -6
  165. package/dist/lib/store.js.map +1 -1
  166. package/dist/lib/tags.d.ts +0 -2
  167. package/dist/lib/tags.d.ts.map +1 -1
  168. package/dist/lib/tags.js +0 -10
  169. package/dist/lib/tags.js.map +1 -1
  170. package/dist/lib/trace.d.ts.map +1 -1
  171. package/dist/lib/webIngest.d.ts.map +1 -1
  172. package/dist/lib/webIngest.js.map +1 -1
  173. 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;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuE3E"}
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
- const BOLD = "\x1b[1m";
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.question(prompt)).trim();
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(`${BOLD}IDE Integration${RESET}`);
70
+ console.log(Header(["gnosys", "setup", "ides"]));
59
71
  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
- }
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
- for (const ide of ALL_IDE_KEYS) {
80
+ ALL_IDE_KEYS.forEach((ide, idx) => {
72
81
  const isDetected = detected.includes(ide);
73
82
  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
+ 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
- ideOptions.push("All");
86
- ideOptions.push("Skip");
87
- const idx = await askChoice(opts.rl, "Pick an IDE to configure:", ideOptions);
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
- idesToSetup = [...ALL_IDE_KEYS];
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":"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"}
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;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4ClF"}
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.question("Key (e.g. code-style): ")).trim();
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.question("Value (one line or short paragraph): ")).trim();
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.question(menu)).trim().toLowerCase();
127
+ const action = (await safeQuestion(rl, menu)).trim().toLowerCase();
128
128
  if (isEditable && (action === "e" || action === "edit")) {
129
- const newValue = (await rl.question(`New value for ${pref.key} (empty = cancel): `)).trim();
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.question(`Delete "${pref.title}"? [y/N] `)).trim().toLowerCase();
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(`${BOLD}User Preferences${RESET}`);
194
+ console.log(Header(["gnosys", "setup", "preferences"], { version: `${current.length} stored` }));
195
+ console.log("");
183
196
  if (current.length === 0) {
184
- console.log(`${DIM}No preferences set. Pick [N] to add one.${RESET}`);
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 tag = p.source === "imported"
189
- ? `${YELLOW}imported${RESET}`
190
- : p.source === "gnosys-native"
191
- ? `${GREEN}native${RESET}`
192
- : `${YELLOW}unknown${RESET}`;
193
- const preview = p.value.replace(/\s+/g, " ").trim().slice(0, 60);
194
- console.log(` ${i + 1}. [${tag}] ${BOLD}${p.key}${RESET} — ${p.title}`);
195
- console.log(` ${DIM}${preview}${preview.length === 60 ? "..." : ""}${RESET}`);
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
- console.log(` [${BOLD}N${RESET}]ew · [${BOLD}1-${current.length || "N"}${RESET}] view/delete · [${BOLD}B${RESET}]ack`);
200
- const answer = (await rl.question("> ")).trim().toLowerCase();
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(`${DIM}Unknown choice: ${answer}${RESET}`);
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":"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"}
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;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,GAAG,GAAG,UAAU,CAAC;AACvB,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,KAAK,GAAG,SAAS,CAAC;AAYxB,2FAA2F;AAC3F,SAAS,UAAU,CAAC,EAAU;IAC5B,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,eAAe,CAAC,CAAC,mBAAmB;IAC7E,IAAI,iCAAiC,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,eAAe,CAAC,CAAC,cAAc;IACtF,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,8BAA8B;IACrF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAW;IACzC,0EAA0E;IAC1E,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,mFAAmF;IACnF,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAChE,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,GAAG;QACH,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,OAAO;QAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACtB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAe,EAAE;aACxB,kBAAkB,CAAC,MAAM,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,EAAqB;IACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,iBAAiB,KAAK,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CACT,GAAG,GAAG,eAAe,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CACjF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,6DAA6D,KAAK,EAAE,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,GAAG,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,gEAAgE,KAAK,EAAE,CAAC,CAAC;QAC3F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,uCAAuC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,EAAqB,EAAE,IAAoB;IAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,wEAAwE;IACxE,kEAAkE;IAClE,gEAAgE;IAChE,kEAAkE;IAClE,gEAAgE;IAChE,2BAA2B;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,8BAA8B,CAAC;IACnG,MAAM,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEnE,IAAI,UAAU,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3F,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAExD,MAAM,OAAO,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,WAAW,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChG,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAEvD,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,YAAY,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,0DAA0D;QAC1D,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,YAAY,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAqB;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACnD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE5D,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAE5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,0DAA0D,CAAC,EAAE,CAAC,CAAC;YAClG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC;gBAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5F,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5C,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACrL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;YAC/B,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,gCAAgC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1B,MAAM,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnG,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAErE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACvC,IAAI,MAAM,gBAAgB,CAAC,EAAE,CAAC;gBAAE,SAAS,GAAG,IAAI,CAAC;YACjD,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,MAAM,EAAE,CAAC,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QAED,IAAI,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAAE,SAAS,GAAG,IAAI,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -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;AAgBnE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQpD,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"}
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"}