@structured-world/gitlab-mcp 6.30.0 → 6.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +63 -1070
  2. package/dist/src/cli/docker/container-runtime.d.ts +4 -0
  3. package/dist/src/cli/docker/container-runtime.js +85 -0
  4. package/dist/src/cli/docker/container-runtime.js.map +1 -0
  5. package/dist/src/cli/docker/docker-utils.d.ts +1 -0
  6. package/dist/src/cli/docker/docker-utils.js +85 -61
  7. package/dist/src/cli/docker/docker-utils.js.map +1 -1
  8. package/dist/src/cli/docker/index.d.ts +1 -0
  9. package/dist/src/cli/docker/index.js +1 -0
  10. package/dist/src/cli/docker/index.js.map +1 -1
  11. package/dist/src/cli/docker/types.d.ts +12 -0
  12. package/dist/src/cli/docker/types.js.map +1 -1
  13. package/dist/src/cli/list-tools.js +4 -4
  14. package/dist/src/cli/list-tools.js.map +1 -1
  15. package/dist/src/cli/setup/discovery.d.ts +3 -0
  16. package/dist/src/cli/setup/discovery.js +71 -0
  17. package/dist/src/cli/setup/discovery.js.map +1 -0
  18. package/dist/src/cli/setup/flows/configure-existing.d.ts +2 -0
  19. package/dist/src/cli/setup/flows/configure-existing.js +211 -0
  20. package/dist/src/cli/setup/flows/configure-existing.js.map +1 -0
  21. package/dist/src/cli/setup/flows/local-setup.d.ts +2 -0
  22. package/dist/src/cli/setup/flows/local-setup.js +206 -0
  23. package/dist/src/cli/setup/flows/local-setup.js.map +1 -0
  24. package/dist/src/cli/setup/flows/server-setup.d.ts +2 -0
  25. package/dist/src/cli/setup/flows/server-setup.js +185 -0
  26. package/dist/src/cli/setup/flows/server-setup.js.map +1 -0
  27. package/dist/src/cli/setup/flows/tool-selection.d.ts +3 -0
  28. package/dist/src/cli/setup/flows/tool-selection.js +265 -0
  29. package/dist/src/cli/setup/flows/tool-selection.js.map +1 -0
  30. package/dist/src/cli/setup/index.d.ts +4 -0
  31. package/dist/src/cli/setup/index.js +29 -0
  32. package/dist/src/cli/setup/index.js.map +1 -0
  33. package/dist/src/cli/setup/presets.d.ts +7 -0
  34. package/dist/src/cli/setup/presets.js +248 -0
  35. package/dist/src/cli/setup/presets.js.map +1 -0
  36. package/dist/src/cli/setup/types.d.ts +68 -0
  37. package/dist/src/cli/setup/types.js +3 -0
  38. package/dist/src/cli/setup/types.js.map +1 -0
  39. package/dist/src/cli/setup/wizard.d.ts +4 -0
  40. package/dist/src/cli/setup/wizard.js +128 -0
  41. package/dist/src/cli/setup/wizard.js.map +1 -0
  42. package/dist/src/cli-utils.d.ts +2 -0
  43. package/dist/src/cli-utils.js +12 -0
  44. package/dist/src/cli-utils.js.map +1 -1
  45. package/dist/src/entities/integrations/index.d.ts +0 -3
  46. package/dist/src/entities/integrations/index.js +0 -10
  47. package/dist/src/entities/integrations/index.js.map +1 -1
  48. package/dist/src/entities/integrations/registry.js +24 -19
  49. package/dist/src/entities/integrations/registry.js.map +1 -1
  50. package/dist/src/entities/integrations/schema-readonly.d.ts +59 -3
  51. package/dist/src/entities/integrations/schema-readonly.js +15 -3
  52. package/dist/src/entities/integrations/schema-readonly.js.map +1 -1
  53. package/dist/src/entities/integrations/schema.d.ts +0 -55
  54. package/dist/src/entities/integrations/schema.js +0 -6
  55. package/dist/src/entities/integrations/schema.js.map +1 -1
  56. package/dist/src/entities/webhooks/index.d.ts +0 -3
  57. package/dist/src/entities/webhooks/index.js +0 -10
  58. package/dist/src/entities/webhooks/index.js.map +1 -1
  59. package/dist/src/entities/webhooks/registry.js +27 -27
  60. package/dist/src/entities/webhooks/registry.js.map +1 -1
  61. package/dist/src/entities/webhooks/schema-readonly.d.ts +18 -9
  62. package/dist/src/entities/webhooks/schema-readonly.js +20 -17
  63. package/dist/src/entities/webhooks/schema-readonly.js.map +1 -1
  64. package/dist/src/entities/webhooks/schema.d.ts +0 -9
  65. package/dist/src/entities/webhooks/schema.js +0 -8
  66. package/dist/src/entities/webhooks/schema.js.map +1 -1
  67. package/dist/src/main.js +14 -3
  68. package/dist/src/main.js.map +1 -1
  69. package/dist/src/profiles/builtin/code-reviewer.yaml +41 -0
  70. package/dist/src/profiles/builtin/full-access.yaml +29 -0
  71. package/dist/src/services/ToolAvailability.js +3 -3
  72. package/dist/src/services/ToolAvailability.js.map +1 -1
  73. package/dist/src/utils/error-handler.js +1 -1
  74. package/dist/src/utils/error-handler.js.map +1 -1
  75. package/dist/structured-world-gitlab-mcp-6.31.0.tgz +0 -0
  76. package/dist/tsconfig.build.tsbuildinfo +1 -1
  77. package/package.json +7 -3
  78. package/dist/structured-world-gitlab-mcp-6.30.0.tgz +0 -0
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.applyManualCategories = applyManualCategories;
37
+ exports.runToolSelectionFlow = runToolSelectionFlow;
38
+ const p = __importStar(require("@clack/prompts"));
39
+ const presets_1 = require("../presets");
40
+ const CATEGORY_ENV_MAP = {
41
+ "merge-requests": "USE_MRS",
42
+ "work-items": "USE_WORKITEMS",
43
+ pipelines: "USE_PIPELINE",
44
+ files: "USE_FILES",
45
+ wiki: "USE_GITLAB_WIKI",
46
+ snippets: "USE_SNIPPETS",
47
+ releases: "USE_RELEASES",
48
+ refs: "USE_REFS",
49
+ labels: "USE_LABELS",
50
+ milestones: "USE_MILESTONE",
51
+ members: "USE_MEMBERS",
52
+ search: "USE_SEARCH",
53
+ variables: "USE_VARIABLES",
54
+ webhooks: "USE_WEBHOOKS",
55
+ integrations: "USE_INTEGRATIONS",
56
+ };
57
+ function applyManualCategories(selectedCategories, env) {
58
+ const selected = new Set(selectedCategories);
59
+ for (const [category, envVar] of Object.entries(CATEGORY_ENV_MAP)) {
60
+ if (!selected.has(category)) {
61
+ env[envVar] = "false";
62
+ }
63
+ }
64
+ }
65
+ async function runToolSelectionFlow() {
66
+ const mode = await p.select({
67
+ message: "How do you want to configure tools?",
68
+ options: [
69
+ {
70
+ value: "preset",
71
+ label: "Use preset (recommended)",
72
+ hint: "Quick setup with role-based tool selection",
73
+ },
74
+ {
75
+ value: "manual",
76
+ label: "Select tools manually",
77
+ hint: "Choose individual tool categories",
78
+ },
79
+ {
80
+ value: "advanced",
81
+ label: "Advanced settings",
82
+ hint: "Full control over all environment variables",
83
+ },
84
+ ],
85
+ });
86
+ if (p.isCancel(mode)) {
87
+ return null;
88
+ }
89
+ switch (mode) {
90
+ case "preset":
91
+ return runPresetSelection();
92
+ case "manual":
93
+ return runManualSelection();
94
+ case "advanced":
95
+ return runAdvancedSettings();
96
+ }
97
+ }
98
+ async function runPresetSelection() {
99
+ const preset = await p.select({
100
+ message: "Select a preset:",
101
+ options: presets_1.PRESET_DEFINITIONS.map(p => ({
102
+ value: p.id,
103
+ label: p.name,
104
+ hint: p.description,
105
+ })),
106
+ });
107
+ if (p.isCancel(preset)) {
108
+ return null;
109
+ }
110
+ const presetDef = presets_1.PRESET_DEFINITIONS.find(p => p.id === preset);
111
+ const toolCount = presetDef ? (0, presets_1.getToolCount)(presetDef.enabledCategories) : 0;
112
+ const totalTools = (0, presets_1.getTotalToolCount)();
113
+ p.log.info(`Selected: ${toolCount}/${totalTools} tools`);
114
+ return {
115
+ mode: "preset",
116
+ preset,
117
+ enabledCategories: presetDef?.enabledCategories,
118
+ };
119
+ }
120
+ async function runManualSelection() {
121
+ const totalTools = (0, presets_1.getTotalToolCount)();
122
+ const configurableCategories = presets_1.TOOL_CATEGORIES.filter(c => c.id in CATEGORY_ENV_MAP);
123
+ const alwaysOnCategories = presets_1.TOOL_CATEGORIES.filter(c => !(c.id in CATEGORY_ENV_MAP));
124
+ if (alwaysOnCategories.length > 0) {
125
+ const alwaysOnNames = alwaysOnCategories.map(c => c.name).join(", ");
126
+ p.log.info(`Always enabled: ${alwaysOnNames}`);
127
+ }
128
+ const selectedCategories = await p.multiselect({
129
+ message: `Select tool categories (${totalTools} tools total):`,
130
+ options: configurableCategories.map(category => ({
131
+ value: category.id,
132
+ label: `${category.name} [${category.tools.length} tools]`,
133
+ hint: category.description,
134
+ })),
135
+ initialValues: configurableCategories.filter(c => c.defaultEnabled).map(c => c.id),
136
+ required: true,
137
+ });
138
+ if (p.isCancel(selectedCategories)) {
139
+ return null;
140
+ }
141
+ const categories = [...selectedCategories, ...alwaysOnCategories.map(c => c.id)];
142
+ const selectedCount = (0, presets_1.getToolCount)(categories);
143
+ p.log.info(`Selected: ${selectedCount}/${totalTools} tools`);
144
+ return {
145
+ mode: "manual",
146
+ enabledCategories: categories,
147
+ };
148
+ }
149
+ async function runAdvancedSettings() {
150
+ const envOverrides = {};
151
+ p.log.step("Feature Flags");
152
+ const featureFlags = await p.multiselect({
153
+ message: "Enable features:",
154
+ options: [
155
+ { value: "USE_WORKITEMS", label: "Issues/Work Items", hint: "Issue tracking and epics" },
156
+ { value: "USE_MRS", label: "Merge Requests", hint: "Code review and MR management" },
157
+ { value: "USE_PIPELINE", label: "Pipelines", hint: "CI/CD pipeline management" },
158
+ { value: "USE_FILES", label: "Files", hint: "Repository file operations" },
159
+ { value: "USE_GITLAB_WIKI", label: "Wiki", hint: "Wiki page management" },
160
+ { value: "USE_SNIPPETS", label: "Snippets", hint: "Code snippets" },
161
+ { value: "USE_RELEASES", label: "Releases", hint: "Release management" },
162
+ { value: "USE_REFS", label: "Branches/Tags", hint: "Branch and tag management" },
163
+ { value: "USE_LABELS", label: "Labels", hint: "Label management" },
164
+ { value: "USE_MILESTONE", label: "Milestones", hint: "Milestone management" },
165
+ { value: "USE_MEMBERS", label: "Members", hint: "Team member management" },
166
+ { value: "USE_SEARCH", label: "Search", hint: "Global search" },
167
+ { value: "USE_WEBHOOKS", label: "Webhooks", hint: "Webhook configuration" },
168
+ { value: "USE_INTEGRATIONS", label: "Integrations", hint: "Service integrations" },
169
+ { value: "USE_VARIABLES", label: "Variables", hint: "CI/CD variable management" },
170
+ ],
171
+ initialValues: ["USE_WORKITEMS", "USE_MRS", "USE_PIPELINE", "USE_FILES"],
172
+ required: false,
173
+ });
174
+ if (p.isCancel(featureFlags)) {
175
+ return null;
176
+ }
177
+ const allFeatures = [
178
+ "USE_WORKITEMS",
179
+ "USE_MRS",
180
+ "USE_PIPELINE",
181
+ "USE_FILES",
182
+ "USE_GITLAB_WIKI",
183
+ "USE_SNIPPETS",
184
+ "USE_RELEASES",
185
+ "USE_REFS",
186
+ "USE_LABELS",
187
+ "USE_MILESTONE",
188
+ "USE_MEMBERS",
189
+ "USE_SEARCH",
190
+ "USE_WEBHOOKS",
191
+ "USE_INTEGRATIONS",
192
+ "USE_VARIABLES",
193
+ ];
194
+ const selectedFeatures = featureFlags;
195
+ for (const feature of allFeatures) {
196
+ envOverrides[feature] = selectedFeatures.includes(feature) ? "true" : "false";
197
+ }
198
+ const readOnly = await p.confirm({
199
+ message: "Enable read-only mode?",
200
+ initialValue: false,
201
+ });
202
+ if (p.isCancel(readOnly)) {
203
+ return null;
204
+ }
205
+ if (readOnly) {
206
+ envOverrides.GITLAB_READ_ONLY_MODE = "true";
207
+ }
208
+ const configureScope = await p.confirm({
209
+ message: "Configure scope restrictions?",
210
+ initialValue: false,
211
+ });
212
+ if (p.isCancel(configureScope)) {
213
+ return null;
214
+ }
215
+ if (configureScope) {
216
+ const scopeType = await p.select({
217
+ message: "Scope type:",
218
+ options: [
219
+ { value: "project", label: "Single project", hint: "Restrict to one project" },
220
+ { value: "allowlist", label: "Project allowlist", hint: "Restrict to multiple projects" },
221
+ ],
222
+ });
223
+ if (p.isCancel(scopeType)) {
224
+ return null;
225
+ }
226
+ if (scopeType === "project") {
227
+ const project = await p.text({
228
+ message: "Project ID or path (e.g., group/project):",
229
+ validate: v => (!v ? "Project path is required" : undefined),
230
+ });
231
+ if (p.isCancel(project))
232
+ return null;
233
+ envOverrides.GITLAB_PROJECT_ID = project;
234
+ }
235
+ else {
236
+ const allowlist = await p.text({
237
+ message: "Allowed project paths (comma-separated, e.g., group/project1,group/project2):",
238
+ validate: v => (!v ? "At least one project path is required" : undefined),
239
+ });
240
+ if (p.isCancel(allowlist))
241
+ return null;
242
+ envOverrides.GITLAB_ALLOWED_PROJECT_IDS = allowlist;
243
+ }
244
+ }
245
+ const logLevel = await p.select({
246
+ message: "Log level:",
247
+ options: [
248
+ { value: "info", label: "Info (default)" },
249
+ { value: "debug", label: "Debug" },
250
+ { value: "warn", label: "Warn" },
251
+ { value: "error", label: "Error" },
252
+ ],
253
+ });
254
+ if (p.isCancel(logLevel)) {
255
+ return null;
256
+ }
257
+ if (logLevel !== "info") {
258
+ envOverrides.LOG_LEVEL = logLevel;
259
+ }
260
+ return {
261
+ mode: "advanced",
262
+ envOverrides,
263
+ };
264
+ }
265
+ //# sourceMappingURL=tool-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-selection.js","sourceRoot":"","sources":["../../../../../src/cli/setup/flows/tool-selection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,sDAUC;AAMD,oDAmCC;AAjFD,kDAAoC;AAEpC,wCAAkG;AAMlG,MAAM,gBAAgB,GAA2B;IAC/C,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,cAAc;IACzB,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE,eAAe;IAC1B,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,kBAAkB;CACjC,CAAC;AAMF,SAAgB,qBAAqB,CACnC,kBAA4B,EAC5B,GAA2B;IAE3B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAMM,KAAK,UAAU,oBAAoB;IAExC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAiB;QAC1C,OAAO,EAAE,qCAAqC;QAC9C,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,QAA0B;gBACjC,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,4CAA4C;aACnD;YACD;gBACE,KAAK,EAAE,QAA0B;gBACjC,KAAK,EAAE,uBAAuB;gBAC9B,IAAI,EAAE,mCAAmC;aAC1C;YACD;gBACE,KAAK,EAAE,UAA4B;gBACnC,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,6CAA6C;aACpD;SACF;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,kBAAkB,EAAE,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,kBAAkB,EAAE,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,mBAAmB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAKD,KAAK,UAAU,kBAAkB;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE,4BAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpC,KAAK,EAAE,CAAC,CAAC,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,IAAI,EAAE,CAAC,CAAC,WAAW;SACpB,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,4BAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAA,2BAAiB,GAAE,CAAC;IAEvC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,SAAS,IAAI,UAAU,QAAQ,CAAC,CAAC;IAEzD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,iBAAiB,EAAE,SAAS,EAAE,iBAAiB;KAChD,CAAC;AACJ,CAAC;AAOD,KAAK,UAAU,kBAAkB;IAC/B,MAAM,UAAU,GAAG,IAAA,2BAAiB,GAAE,CAAC;IAGvC,MAAM,sBAAsB,GAAG,yBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,gBAAgB,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,yBAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAEpF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC;QAC7C,OAAO,EAAE,2BAA2B,UAAU,gBAAgB;QAC9D,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/C,KAAK,EAAE,QAAQ,CAAC,EAAE;YAClB,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,SAAS;YAC1D,IAAI,EAAE,QAAQ,CAAC,WAAW;SAC3B,CAAC,CAAC;QAEH,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,UAAU,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC;IAE/C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,aAAa,IAAI,UAAU,QAAQ,CAAC,CAAC;IAE7D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,UAAU;KAC9B,CAAC;AACJ,CAAC;AAKD,KAAK,UAAU,mBAAmB;IAChC,MAAM,YAAY,GAA2B,EAAE,CAAC;IAGhD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC;QACvC,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,0BAA0B,EAAE;YACxF,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,+BAA+B,EAAE;YACpF,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE;YAChF,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE;YAC1E,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,EAAE;YACzE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE;YACnE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE;YACxE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,2BAA2B,EAAE;YAChF,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAClE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,sBAAsB,EAAE;YAC7E,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE;YAC1E,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE;YAC/D,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,EAAE;YAC3E,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,sBAAsB,EAAE;YAClF,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE;SAClF;QACD,aAAa,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,CAAC;QACxE,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,WAAW,GAAG;QAClB,eAAe;QACf,SAAS;QACT,cAAc;QACd,WAAW;QACX,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,UAAU;QACV,YAAY;QACZ,eAAe;QACf,aAAa;QACb,YAAY;QACZ,cAAc;QACd,kBAAkB;QAClB,eAAe;KAChB,CAAC;IACF,MAAM,gBAAgB,GAAG,YAAY,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,YAAY,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChF,CAAC;IAGD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE,wBAAwB;QACjC,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC9C,CAAC;IAGD,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QACrC,OAAO,EAAE,+BAA+B;QACxC,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,yBAAyB,EAAE;gBAC9E,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,+BAA+B,EAAE;aAC1F;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;gBAC3B,OAAO,EAAE,2CAA2C;gBACpD,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;aAC7D,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrC,YAAY,CAAC,iBAAiB,GAAG,OAAO,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;gBAC7B,OAAO,EAAE,+EAA+E;gBACxF,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,SAAS,CAAC;aAC1E,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvC,YAAY,CAAC,0BAA0B,GAAG,SAAS,CAAC;QACtD,CAAC;IACH,CAAC;IAGD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE;YAC1C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YAClC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;YAChC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC;IACpC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { runSetupWizard } from "./wizard";
2
+ export { runDiscovery, formatDiscoverySummary } from "./discovery";
3
+ export { TOOL_CATEGORIES, PRESET_DEFINITIONS, getPresetById, getCategoryById } from "./presets";
4
+ export * from "./types";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getCategoryById = exports.getPresetById = exports.PRESET_DEFINITIONS = exports.TOOL_CATEGORIES = exports.formatDiscoverySummary = exports.runDiscovery = exports.runSetupWizard = void 0;
18
+ var wizard_1 = require("./wizard");
19
+ Object.defineProperty(exports, "runSetupWizard", { enumerable: true, get: function () { return wizard_1.runSetupWizard; } });
20
+ var discovery_1 = require("./discovery");
21
+ Object.defineProperty(exports, "runDiscovery", { enumerable: true, get: function () { return discovery_1.runDiscovery; } });
22
+ Object.defineProperty(exports, "formatDiscoverySummary", { enumerable: true, get: function () { return discovery_1.formatDiscoverySummary; } });
23
+ var presets_1 = require("./presets");
24
+ Object.defineProperty(exports, "TOOL_CATEGORIES", { enumerable: true, get: function () { return presets_1.TOOL_CATEGORIES; } });
25
+ Object.defineProperty(exports, "PRESET_DEFINITIONS", { enumerable: true, get: function () { return presets_1.PRESET_DEFINITIONS; } });
26
+ Object.defineProperty(exports, "getPresetById", { enumerable: true, get: function () { return presets_1.getPresetById; } });
27
+ Object.defineProperty(exports, "getCategoryById", { enumerable: true, get: function () { return presets_1.getCategoryById; } });
28
+ __exportStar(require("./types"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/setup/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,yCAAmE;AAA1D,yGAAA,YAAY,OAAA;AAAE,mHAAA,sBAAsB,OAAA;AAC7C,qCAAgG;AAAvF,0GAAA,eAAe,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,0GAAA,eAAe,OAAA;AAC5E,0CAAwB"}
@@ -0,0 +1,7 @@
1
+ import { ToolCategory, PresetDefinition } from "./types";
2
+ export declare const TOOL_CATEGORIES: ToolCategory[];
3
+ export declare const PRESET_DEFINITIONS: PresetDefinition[];
4
+ export declare function getPresetById(id: string): PresetDefinition | undefined;
5
+ export declare function getCategoryById(id: string): ToolCategory | undefined;
6
+ export declare function getToolCount(categoryIds: string[]): number;
7
+ export declare function getTotalToolCount(): number;
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PRESET_DEFINITIONS = exports.TOOL_CATEGORIES = void 0;
4
+ exports.getPresetById = getPresetById;
5
+ exports.getCategoryById = getCategoryById;
6
+ exports.getToolCount = getToolCount;
7
+ exports.getTotalToolCount = getTotalToolCount;
8
+ exports.TOOL_CATEGORIES = [
9
+ {
10
+ id: "core",
11
+ name: "Core",
12
+ description: "Projects, namespaces, users",
13
+ tools: ["browse_projects", "browse_namespaces", "get_users"],
14
+ defaultEnabled: true,
15
+ },
16
+ {
17
+ id: "merge-requests",
18
+ name: "Merge Requests",
19
+ description: "MR browsing, creation, discussions, approvals",
20
+ tools: [
21
+ "browse_merge_requests",
22
+ "manage_merge_request",
23
+ "browse_mr_discussions",
24
+ "manage_mr_discussion",
25
+ "manage_draft_notes",
26
+ ],
27
+ defaultEnabled: true,
28
+ },
29
+ {
30
+ id: "work-items",
31
+ name: "Work Items",
32
+ description: "Issues, epics, tasks, incidents",
33
+ tools: ["browse_work_items", "manage_work_item"],
34
+ defaultEnabled: true,
35
+ },
36
+ {
37
+ id: "pipelines",
38
+ name: "Pipelines & CI/CD",
39
+ description: "Pipeline browsing, job management, triggers",
40
+ tools: ["browse_pipelines", "manage_pipeline", "manage_pipeline_job"],
41
+ defaultEnabled: true,
42
+ },
43
+ {
44
+ id: "files",
45
+ name: "Files",
46
+ description: "Repository file browsing and management",
47
+ tools: ["browse_files", "manage_files"],
48
+ defaultEnabled: true,
49
+ },
50
+ {
51
+ id: "commits",
52
+ name: "Commits",
53
+ description: "Commit history and diffs",
54
+ tools: ["browse_commits"],
55
+ defaultEnabled: true,
56
+ },
57
+ {
58
+ id: "refs",
59
+ name: "Branches & Tags",
60
+ description: "Branch/tag browsing and protection rules",
61
+ tools: ["browse_refs", "manage_ref"],
62
+ defaultEnabled: false,
63
+ },
64
+ {
65
+ id: "releases",
66
+ name: "Releases",
67
+ description: "Release management and asset links",
68
+ tools: ["browse_releases", "manage_release"],
69
+ defaultEnabled: false,
70
+ },
71
+ {
72
+ id: "labels",
73
+ name: "Labels",
74
+ description: "Label browsing and management",
75
+ tools: ["browse_labels", "manage_label"],
76
+ defaultEnabled: false,
77
+ },
78
+ {
79
+ id: "milestones",
80
+ name: "Milestones",
81
+ description: "Milestone tracking and burndown charts",
82
+ tools: ["browse_milestones", "manage_milestone"],
83
+ defaultEnabled: false,
84
+ },
85
+ {
86
+ id: "wiki",
87
+ name: "Wiki",
88
+ description: "Wiki page browsing and editing",
89
+ tools: ["browse_wiki", "manage_wiki"],
90
+ defaultEnabled: false,
91
+ },
92
+ {
93
+ id: "snippets",
94
+ name: "Snippets",
95
+ description: "Code snippet management",
96
+ tools: ["browse_snippets", "manage_snippet"],
97
+ defaultEnabled: false,
98
+ },
99
+ {
100
+ id: "variables",
101
+ name: "CI/CD Variables",
102
+ description: "Pipeline variable management",
103
+ tools: ["browse_variables", "manage_variable"],
104
+ defaultEnabled: false,
105
+ },
106
+ {
107
+ id: "webhooks",
108
+ name: "Webhooks",
109
+ description: "Webhook configuration and testing",
110
+ tools: ["browse_webhooks", "manage_webhook"],
111
+ defaultEnabled: false,
112
+ },
113
+ {
114
+ id: "integrations",
115
+ name: "Integrations",
116
+ description: "Third-party service integrations",
117
+ tools: ["browse_integrations", "manage_integration"],
118
+ defaultEnabled: false,
119
+ },
120
+ {
121
+ id: "members",
122
+ name: "Members",
123
+ description: "Team member management and access levels",
124
+ tools: ["browse_members", "manage_member"],
125
+ defaultEnabled: false,
126
+ },
127
+ {
128
+ id: "search",
129
+ name: "Search",
130
+ description: "Global, project, and group search",
131
+ tools: ["browse_search"],
132
+ defaultEnabled: false,
133
+ },
134
+ {
135
+ id: "context",
136
+ name: "Context",
137
+ description: "Runtime session context management",
138
+ tools: ["manage_context"],
139
+ defaultEnabled: false,
140
+ },
141
+ ];
142
+ exports.PRESET_DEFINITIONS = [
143
+ {
144
+ id: "developer",
145
+ name: "Developer",
146
+ description: "Standard development workflow (issues, MRs, pipelines)",
147
+ enabledCategories: [
148
+ "core",
149
+ "merge-requests",
150
+ "work-items",
151
+ "pipelines",
152
+ "files",
153
+ "commits",
154
+ "labels",
155
+ "snippets",
156
+ "releases",
157
+ "search",
158
+ ],
159
+ },
160
+ {
161
+ id: "senior-dev",
162
+ name: "Senior Developer",
163
+ description: "Extended access with refs, wiki, and branch management",
164
+ enabledCategories: [
165
+ "core",
166
+ "merge-requests",
167
+ "work-items",
168
+ "pipelines",
169
+ "files",
170
+ "commits",
171
+ "refs",
172
+ "labels",
173
+ "snippets",
174
+ "releases",
175
+ "search",
176
+ ],
177
+ },
178
+ {
179
+ id: "devops",
180
+ name: "DevOps Engineer",
181
+ description: "CI/CD focused (pipelines, variables, webhooks, releases)",
182
+ enabledCategories: [
183
+ "core",
184
+ "pipelines",
185
+ "files",
186
+ "commits",
187
+ "refs",
188
+ "releases",
189
+ "variables",
190
+ "webhooks",
191
+ "integrations",
192
+ "search",
193
+ ],
194
+ },
195
+ {
196
+ id: "code-reviewer",
197
+ name: "Code Reviewer",
198
+ description: "Code review workflow (MRs, discussions, approvals)",
199
+ enabledCategories: [
200
+ "core",
201
+ "merge-requests",
202
+ "work-items",
203
+ "pipelines",
204
+ "files",
205
+ "commits",
206
+ "labels",
207
+ "search",
208
+ ],
209
+ },
210
+ {
211
+ id: "full-access",
212
+ name: "Full Access",
213
+ description: "All features enabled (admin/tech-lead)",
214
+ enabledCategories: exports.TOOL_CATEGORIES.map(c => c.id),
215
+ },
216
+ {
217
+ id: "readonly",
218
+ name: "Read-Only",
219
+ description: "Read-only access for monitoring and viewing",
220
+ enabledCategories: [
221
+ "core",
222
+ "merge-requests",
223
+ "work-items",
224
+ "pipelines",
225
+ "files",
226
+ "commits",
227
+ "refs",
228
+ "releases",
229
+ "labels",
230
+ "milestones",
231
+ "members",
232
+ "search",
233
+ ],
234
+ },
235
+ ];
236
+ function getPresetById(id) {
237
+ return exports.PRESET_DEFINITIONS.find(p => p.id === id);
238
+ }
239
+ function getCategoryById(id) {
240
+ return exports.TOOL_CATEGORIES.find(c => c.id === id);
241
+ }
242
+ function getToolCount(categoryIds) {
243
+ return exports.TOOL_CATEGORIES.filter(c => categoryIds.includes(c.id)).reduce((count, c) => count + c.tools.length, 0);
244
+ }
245
+ function getTotalToolCount() {
246
+ return exports.TOOL_CATEGORIES.reduce((count, c) => count + c.tools.length, 0);
247
+ }
248
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../../src/cli/setup/presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { InstallableClient, ClientDetectionResult } from "../install/types";
2
+ import { DockerStatusResult, GitLabInstance } from "../docker/types";
3
+ export type SetupMode = "configure-existing" | "local" | "server";
4
+ export type TransportMode = "stdio" | "sse";
5
+ export type ToolConfigMode = "preset" | "manual" | "advanced";
6
+ export type DockerDeploymentType = "standalone" | "external-db" | "compose-bundle";
7
+ export interface DiscoveryResult {
8
+ clients: {
9
+ detected: ClientDetectionResult[];
10
+ configured: ClientDetectionResult[];
11
+ unconfigured: ClientDetectionResult[];
12
+ };
13
+ docker: DockerStatusResult;
14
+ summary: {
15
+ hasExistingSetup: boolean;
16
+ clientCount: number;
17
+ configuredCount: number;
18
+ dockerRunning: boolean;
19
+ containerExists: boolean;
20
+ };
21
+ }
22
+ export interface ToolCategory {
23
+ id: string;
24
+ name: string;
25
+ description: string;
26
+ tools: string[];
27
+ defaultEnabled: boolean;
28
+ }
29
+ export interface ToolConfig {
30
+ mode: ToolConfigMode;
31
+ preset?: string;
32
+ enabledCategories?: string[];
33
+ envOverrides?: Record<string, string>;
34
+ }
35
+ export interface SetupResult {
36
+ success: boolean;
37
+ mode?: SetupMode;
38
+ configuredClients?: InstallableClient[];
39
+ dockerConfig?: {
40
+ port: number;
41
+ deploymentType: DockerDeploymentType;
42
+ instances: GitLabInstance[];
43
+ };
44
+ error?: string;
45
+ }
46
+ export interface PresetDefinition {
47
+ id: string;
48
+ name: string;
49
+ description: string;
50
+ enabledCategories: string[];
51
+ }
52
+ export interface AdvancedSettingsGroup {
53
+ id: string;
54
+ name: string;
55
+ settings: AdvancedSetting[];
56
+ }
57
+ export interface AdvancedSetting {
58
+ envVar: string;
59
+ label: string;
60
+ description: string;
61
+ defaultValue: string;
62
+ type: "text" | "boolean" | "select" | "password";
63
+ options?: {
64
+ value: string;
65
+ label: string;
66
+ }[];
67
+ sensitive?: boolean;
68
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/setup/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { SetupMode, SetupResult } from "./types";
2
+ export declare function runSetupWizard(options?: {
3
+ mode?: SetupMode;
4
+ }): Promise<SetupResult>;