@copado/agentia-cli 0.37.0-alpha.0 → 0.40.0-alpha.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 (91) hide show
  1. package/README.md +573 -136
  2. package/dist/commands/auth/set.d.ts +2 -13
  3. package/dist/commands/auth/set.js +42 -110
  4. package/dist/commands/auth/set.js.map +1 -1
  5. package/dist/commands/auth/unset.d.ts +15 -0
  6. package/dist/commands/auth/unset.js +64 -0
  7. package/dist/commands/auth/unset.js.map +1 -0
  8. package/dist/commands/setup.d.ts +1 -1
  9. package/dist/commands/setup.js +16 -7
  10. package/dist/commands/setup.js.map +1 -1
  11. package/dist/commands/testing/build/abort.d.ts +26 -0
  12. package/dist/commands/testing/build/abort.js +38 -0
  13. package/dist/commands/testing/build/abort.js.map +1 -0
  14. package/dist/commands/testing/build/list.js +2 -2
  15. package/dist/commands/testing/build/list.js.map +1 -1
  16. package/dist/commands/testing/build/run.d.ts +8 -0
  17. package/dist/commands/testing/build/run.js +4 -2
  18. package/dist/commands/testing/build/run.js.map +1 -1
  19. package/dist/commands/testing/job/create.d.ts +7 -0
  20. package/dist/commands/testing/job/create.js +11 -2
  21. package/dist/commands/testing/job/create.js.map +1 -1
  22. package/dist/commands/testing/job/delete.d.ts +24 -0
  23. package/dist/commands/testing/job/delete.js +30 -0
  24. package/dist/commands/testing/job/delete.js.map +1 -0
  25. package/dist/commands/testing/job/list.js +2 -2
  26. package/dist/commands/testing/job/list.js.map +1 -1
  27. package/dist/commands/testing/job/run.d.ts +1 -0
  28. package/dist/commands/testing/job/run.js +2 -0
  29. package/dist/commands/testing/job/run.js.map +1 -0
  30. package/dist/commands/testing/job/update.d.ts +42 -0
  31. package/dist/commands/testing/job/update.js +137 -0
  32. package/dist/commands/testing/job/update.js.map +1 -0
  33. package/dist/commands/testing/project/delete.d.ts +22 -0
  34. package/dist/commands/testing/project/delete.js +29 -0
  35. package/dist/commands/testing/project/delete.js.map +1 -0
  36. package/dist/commands/testing/robot/delete.d.ts +21 -0
  37. package/dist/commands/testing/robot/delete.js +30 -0
  38. package/dist/commands/testing/robot/delete.js.map +1 -0
  39. package/dist/commands/testing/run.d.ts +8 -0
  40. package/dist/commands/testing/run.js +4 -2
  41. package/dist/commands/testing/run.js.map +1 -1
  42. package/dist/commands/testing/status.js +2 -2
  43. package/dist/commands/testing/status.js.map +1 -1
  44. package/dist/commands/testing/test/run.d.ts +34 -1
  45. package/dist/commands/testing/test/run.js +58 -1
  46. package/dist/commands/testing/test/run.js.map +1 -1
  47. package/dist/commands/testing/variable/create.d.ts +1 -1
  48. package/dist/commands/testing/variable/update.d.ts +21 -0
  49. package/dist/commands/testing/variable/update.js +63 -0
  50. package/dist/commands/testing/variable/update.js.map +1 -0
  51. package/dist/lib/auth-config.d.ts +62 -0
  52. package/dist/lib/auth-config.js +246 -0
  53. package/dist/lib/auth-config.js.map +1 -0
  54. package/dist/lib/credential-store.d.ts +3 -0
  55. package/dist/lib/credential-store.js +9 -0
  56. package/dist/lib/credential-store.js.map +1 -1
  57. package/dist/lib/cursor-mcp-config.d.ts +62 -0
  58. package/dist/lib/cursor-mcp-config.js +173 -0
  59. package/dist/lib/cursor-mcp-config.js.map +1 -0
  60. package/dist/lib/mcp/testing-tools.d.ts +98 -2
  61. package/dist/lib/mcp/testing-tools.js +227 -15
  62. package/dist/lib/mcp/testing-tools.js.map +1 -1
  63. package/dist/lib/mcp/tools.d.ts +158 -0
  64. package/dist/lib/mcp/tools.js +10 -34
  65. package/dist/lib/mcp/tools.js.map +1 -1
  66. package/dist/lib/project-setup.d.ts +16 -14
  67. package/dist/lib/project-setup.js +101 -145
  68. package/dist/lib/project-setup.js.map +1 -1
  69. package/dist/lib/setup-prompts.d.ts +30 -0
  70. package/dist/lib/setup-prompts.js +13 -0
  71. package/dist/lib/setup-prompts.js.map +1 -0
  72. package/dist/lib/setup-wizard.d.ts +42 -0
  73. package/dist/lib/setup-wizard.js +422 -0
  74. package/dist/lib/setup-wizard.js.map +1 -0
  75. package/dist/lib/testing-config.d.ts +4 -2
  76. package/dist/lib/testing-config.js +23 -3
  77. package/dist/lib/testing-config.js.map +1 -1
  78. package/dist/lib/testing-flags.d.ts +35 -1
  79. package/dist/lib/testing-flags.js +85 -0
  80. package/dist/lib/testing-flags.js.map +1 -1
  81. package/dist/lib/testing-gateway.d.ts +13 -0
  82. package/dist/lib/testing-gateway.js +42 -1
  83. package/dist/lib/testing-gateway.js.map +1 -1
  84. package/dist/lib/testing-operations.d.ts +93 -5
  85. package/dist/lib/testing-operations.js +211 -19
  86. package/dist/lib/testing-operations.js.map +1 -1
  87. package/dist/lib/testing-types.d.ts +76 -5
  88. package/dist/lib/testing-types.js +65 -1
  89. package/dist/lib/testing-types.js.map +1 -1
  90. package/oclif.manifest.json +1237 -191
  91. package/package.json +2 -1
@@ -3,18 +3,14 @@ import { chmod, readFile, writeFile } from 'node:fs/promises';
3
3
  import * as http from 'node:http';
4
4
  import * as https from 'node:https';
5
5
  import path from 'node:path';
6
- import { stdin as input, stdout as output } from 'node:process';
7
- import readline from 'node:readline';
8
6
  import { URL } from 'node:url';
9
- import { getCurrentBranch, getGitRepoRoot, getRemoteUrl, isInsideGitWorkTree, stageAndCommit, } from './git-worktree.js';
10
- import { QUALITY_GATES_SCRIPT_UNIX, QUALITY_GATES_SCRIPT_WINDOWS, } from './local-quality-gates.js';
7
+ import { getCurrentBranch, getGitRepoRoot, getRemoteUrl, isInsideGitWorkTree } from './git-worktree.js';
8
+ import { QUALITY_GATES_SCRIPT_UNIX, QUALITY_GATES_SCRIPT_WINDOWS } from './local-quality-gates.js';
11
9
  import { AGENTIA_GITIGNORE_ENTRY, BUNDLED_AGENTS_MD, DEFAULT_AGENTS_MD_URL, qualityGatesExplanation, SAMPLE_QUALITY_GATES_UNIX, SAMPLE_QUALITY_GATES_WINDOWS, } from './setup-templates.js';
12
10
  let testDeps;
13
- // Test-only hook
14
11
  export function setProjectSetupDepsForTests(deps) {
15
12
  testDeps = deps;
16
13
  }
17
- // Test-only hook
18
14
  export function resetProjectSetupDepsForTests() {
19
15
  testDeps = undefined;
20
16
  }
@@ -28,9 +24,8 @@ function resolveDeps(overrides = {}) {
28
24
  getGitRepoRoot: merged.getGitRepoRoot ?? getGitRepoRoot,
29
25
  getRemoteUrl: merged.getRemoteUrl ?? getRemoteUrl,
30
26
  isInsideGitWorkTree: merged.isInsideGitWorkTree ?? isInsideGitWorkTree,
31
- promptYesNo: merged.promptYesNo ?? defaultPromptYesNo,
27
+ prompts: merged.prompts,
32
28
  readFile: merged.readFile ?? ((filePath, encoding) => readFile(filePath, encoding)),
33
- stageAndCommit: merged.stageAndCommit ?? stageAndCommit,
34
29
  writeFile: merged.writeFile ?? ((filePath, contents, encoding) => writeFile(filePath, contents, encoding)),
35
30
  };
36
31
  }
@@ -60,16 +55,6 @@ async function defaultFetchText(urlString) {
60
55
  req.on('error', reject);
61
56
  });
62
57
  }
63
- async function defaultPromptYesNo(question) {
64
- const rl = readline.createInterface({ input, output });
65
- return new Promise((resolve) => {
66
- rl.question(`${question} [y/N] `, (answer) => {
67
- rl.close();
68
- const normalized = answer.trim().toLowerCase();
69
- resolve(normalized === 'y' || normalized === 'yes');
70
- });
71
- });
72
- }
73
58
  export function gitignoreHasAgentiaEntry(contents) {
74
59
  return contents.split(/\r?\n/).some((line) => {
75
60
  const trimmed = line.trim();
@@ -92,7 +77,6 @@ export async function ensureAgentiaGitignore(repoRoot, deps = {}) {
92
77
  await resolved.writeFile(gitignorePath, `${current}${separator}${AGENTIA_GITIGNORE_ENTRY}\n`, 'utf8');
93
78
  return { path: gitignorePath, status: 'updated' };
94
79
  }
95
- /** Locate `.agentia_quality_gates.sh` / `.agentia_quality_gates.cmd` at the project (git) root. */
96
80
  export function findLocalQualityGateScripts(repoRoot, deps = {}) {
97
81
  const resolved = resolveDeps(deps);
98
82
  const candidates = [
@@ -105,16 +89,16 @@ export function findLocalQualityGateScripts(repoRoot, deps = {}) {
105
89
  present: existingPaths.length > 0,
106
90
  };
107
91
  }
108
- export async function createLocalQualityGateScripts(repoRoot, deps = {}) {
92
+ export async function createLocalQualityGateScripts(repoRoot, deps = {}, overwrite = false) {
109
93
  const resolved = resolveDeps(deps);
110
94
  const unixPath = path.join(repoRoot, QUALITY_GATES_SCRIPT_UNIX);
111
95
  const windowsPath = path.join(repoRoot, QUALITY_GATES_SCRIPT_WINDOWS);
112
96
  const unixExists = resolved.existsSync(unixPath);
113
97
  const windowsExists = resolved.existsSync(windowsPath);
114
- if (unixExists && windowsExists) {
98
+ if (unixExists && windowsExists && !overwrite) {
115
99
  return { paths: [unixPath, windowsPath], status: 'unchanged' };
116
100
  }
117
- if (!unixExists) {
101
+ if (!unixExists || overwrite) {
118
102
  await resolved.writeFile(unixPath, SAMPLE_QUALITY_GATES_UNIX, 'utf8');
119
103
  try {
120
104
  await resolved.chmod(unixPath, 0o755);
@@ -123,7 +107,7 @@ export async function createLocalQualityGateScripts(repoRoot, deps = {}) {
123
107
  // Best-effort executable bit; Windows and some FS may reject chmod.
124
108
  }
125
109
  }
126
- if (!windowsExists) {
110
+ if (!windowsExists || overwrite) {
127
111
  await resolved.writeFile(windowsPath, SAMPLE_QUALITY_GATES_WINDOWS, 'utf8');
128
112
  }
129
113
  return {
@@ -148,7 +132,6 @@ export async function resolveAgentsMdContent(deps = {}, url = DEFAULT_AGENTS_MD_
148
132
  return { content: BUNDLED_AGENTS_MD, source: 'bundled' };
149
133
  }
150
134
  }
151
- /** Locate `AGENTS.md` at the project (git) root. */
152
135
  export function findAgentsMd(repoRoot, deps = {}) {
153
136
  const resolved = resolveDeps(deps);
154
137
  const agentsPath = path.join(repoRoot, 'AGENTS.md');
@@ -169,12 +152,6 @@ export async function writeAgentsMd(repoRoot, deps = {}, url = DEFAULT_AGENTS_MD
169
152
  status: existed ? 'updated' : 'created',
170
153
  };
171
154
  }
172
- function buildNextSteps(bin) {
173
- return [
174
- `Run \`${bin} auth set --cicd <copado-api-key> --region <na|eu|au>\` (or \`--custom-url <url>\`) to store credentials.`,
175
- `If you use an AI agent or IDE, configure it to run \`${bin} mcp start\` as an MCP server.`,
176
- ];
177
- }
178
155
  function logGitignoreResult(log, cwd, gitignore) {
179
156
  const relative = path.relative(cwd, gitignore.path) || '.gitignore';
180
157
  if (gitignore.status === 'created') {
@@ -191,124 +168,115 @@ function toRelativePaths(cwd, absolutePaths) {
191
168
  return absolutePaths.map((filePath) => path.relative(cwd, filePath) || path.basename(filePath));
192
169
  }
193
170
  async function maybeCreateQualityGates(params) {
194
- const { bin, cwd, deps, gitignorePath, includeGitignore, log, noPrompt, requested, resolved, root, } = params;
171
+ const { bin, cwd, deps, log, noPrompt, requested, resolved, root } = params;
195
172
  const existing = findLocalQualityGateScripts(root, deps);
196
173
  const existingRelative = toRelativePaths(cwd, existing.existingPaths);
197
- if (existing.present && !requested) {
174
+ if (existing.present) {
198
175
  log(`Local quality gates already set at project root (${existingRelative.join(', ')}).`);
176
+ }
177
+ if (existing.present && !requested && noPrompt) {
199
178
  return {
200
- gitignoreConsumed: false,
201
- qualityGates: {
202
- committed: false,
203
- existingPaths: existingRelative,
204
- paths: existingRelative,
205
- status: 'unchanged',
206
- },
179
+ existingPaths: existingRelative,
180
+ paths: existingRelative,
181
+ status: 'unchanged',
207
182
  };
208
183
  }
209
- if (existing.present && requested) {
210
- log(`Local quality gates already set at project root (${existingRelative.join(', ')}).`);
211
- }
212
184
  const shouldCreate = requested ||
213
185
  (!noPrompt &&
214
- (await resolved.promptYesNo('Create and commit sample local quality gates (.agentia_quality_gates.sh / .cmd)?')));
186
+ resolved.prompts !== undefined &&
187
+ (await resolved.prompts.confirm({
188
+ default: false,
189
+ message: existing.present
190
+ ? 'Regenerate sample local quality gates (.agentia_quality_gates.sh / .cmd)?'
191
+ : 'Create sample local quality gates (.agentia_quality_gates.sh / .cmd)?',
192
+ })));
215
193
  if (!shouldCreate) {
216
194
  log(noPrompt
217
195
  ? 'Skipped local quality gates (pass --create-local-quality-gates to add them).'
218
196
  : 'Skipped local quality gates.');
219
197
  return {
220
- gitignoreConsumed: false,
221
- qualityGates: {
222
- committed: false,
223
- existingPaths: existingRelative,
224
- status: 'skipped',
225
- },
198
+ existingPaths: existingRelative,
199
+ paths: existing.present ? existingRelative : undefined,
200
+ status: existing.present ? 'unchanged' : 'skipped',
226
201
  };
227
202
  }
228
- const created = await createLocalQualityGateScripts(root, deps);
203
+ const created = await createLocalQualityGateScripts(root, deps, existing.present);
229
204
  const relativePaths = toRelativePaths(cwd, created.paths);
230
- if (created.status === 'unchanged' && !includeGitignore) {
205
+ if (created.status === 'unchanged') {
231
206
  log(`Local quality gates already present (${relativePaths.join(', ')}).`);
232
207
  log(qualityGatesExplanation(bin));
233
208
  return {
234
- gitignoreConsumed: false,
235
- qualityGates: {
236
- committed: false,
237
- existingPaths: existingRelative,
238
- paths: relativePaths,
239
- status: 'unchanged',
240
- },
209
+ existingPaths: existingRelative,
210
+ paths: relativePaths,
211
+ status: 'unchanged',
241
212
  };
242
213
  }
243
- const commitPaths = [...created.paths];
244
- if (includeGitignore) {
245
- commitPaths.push(gitignorePath);
246
- }
247
- await resolved.stageAndCommit('Add Agentia local quality gates', commitPaths);
248
- log(`Local quality gates ${created.status} and committed (${relativePaths.join(', ')}).`);
214
+ log(`Local quality gates ${created.status} (${relativePaths.join(', ')}).`);
249
215
  log(qualityGatesExplanation(bin));
250
216
  return {
251
- gitignoreConsumed: includeGitignore,
252
- qualityGates: {
253
- committed: true,
254
- existingPaths: existingRelative,
255
- paths: relativePaths,
256
- status: created.status,
257
- },
217
+ existingPaths: existingRelative,
218
+ paths: relativePaths,
219
+ status: created.status,
258
220
  };
259
221
  }
260
222
  async function maybeCreateAgentsMd(params) {
261
- const { cwd, deps, gitignorePath, includeGitignore, log, noPrompt, requested, resolved, root } = params;
223
+ const { cwd, deps, log, noPrompt, requested, resolved, root } = params;
262
224
  const existing = findAgentsMd(root, deps);
263
225
  const relativePath = path.relative(cwd, existing.path) || 'AGENTS.md';
264
- if (existing.present && !requested) {
226
+ if (existing.present) {
265
227
  log(`AGENTS.md already set at project root (${relativePath}).`);
228
+ }
229
+ if (existing.present && !requested && noPrompt) {
266
230
  return {
267
- agentsMd: {
268
- committed: false,
269
- path: relativePath,
270
- present: true,
271
- status: 'unchanged',
272
- },
273
- gitignoreConsumed: false,
231
+ path: relativePath,
232
+ present: true,
233
+ status: 'unchanged',
274
234
  };
275
235
  }
276
- if (existing.present && requested) {
277
- log(`AGENTS.md already set at project root (${relativePath}).`);
278
- }
279
236
  const shouldCreate = requested ||
280
237
  (!noPrompt &&
281
- (await resolved.promptYesNo('Add or update AGENTS.md with instructions for AI agents and IDEs?')));
238
+ resolved.prompts !== undefined &&
239
+ (await resolved.prompts.confirm({
240
+ default: false,
241
+ message: existing.present
242
+ ? 'Regenerate AGENTS.md with instructions for AI agents and IDEs?'
243
+ : 'Add or update AGENTS.md with instructions for AI agents and IDEs?',
244
+ })));
282
245
  if (!shouldCreate) {
283
246
  log(noPrompt ? 'Skipped AGENTS.md (pass --create-agents-md to add it).' : 'Skipped AGENTS.md.');
284
247
  return {
285
- agentsMd: {
286
- committed: false,
287
- path: existing.present ? relativePath : undefined,
288
- present: existing.present,
289
- status: 'skipped',
290
- },
291
- gitignoreConsumed: false,
248
+ path: existing.present ? relativePath : undefined,
249
+ present: existing.present,
250
+ status: existing.present ? 'unchanged' : 'skipped',
292
251
  };
293
252
  }
294
253
  const written = await writeAgentsMd(root, deps);
295
254
  const writtenRelative = path.relative(cwd, written.path) || 'AGENTS.md';
296
- const commitPaths = [written.path];
297
- if (includeGitignore) {
298
- commitPaths.push(gitignorePath);
299
- }
300
- await resolved.stageAndCommit('Add Agentia AGENTS.md', commitPaths);
301
255
  const sourceLabel = written.source === 'download' ? 'downloaded' : 'bundled template';
302
- log(`AGENTS.md ${written.status} from ${sourceLabel} and committed.`);
256
+ log(`AGENTS.md ${written.status} from ${sourceLabel}.`);
303
257
  return {
304
- agentsMd: {
305
- committed: true,
306
- path: writtenRelative,
307
- present: existing.present,
308
- source: written.source,
309
- status: written.status,
258
+ path: writtenRelative,
259
+ present: existing.present,
260
+ source: written.source,
261
+ status: written.status,
262
+ };
263
+ }
264
+ export async function resolveProjectContext(cwd, deps = {}) {
265
+ const resolved = resolveDeps(deps);
266
+ const insideGit = await resolved.isInsideGitWorkTree();
267
+ if (!insideGit) {
268
+ return { cwd, insideGit, projectRoot: cwd };
269
+ }
270
+ const root = await resolved.getGitRepoRoot();
271
+ return {
272
+ cwd,
273
+ git: {
274
+ branch: await resolved.getCurrentBranch(),
275
+ remoteUrl: await resolved.getRemoteUrl('origin'),
276
+ root,
310
277
  },
311
- gitignoreConsumed: includeGitignore,
278
+ insideGit,
279
+ projectRoot: root,
312
280
  };
313
281
  }
314
282
  export async function runProjectSetup(options = {}, deps = {}) {
@@ -319,65 +287,53 @@ export async function runProjectSetup(options = {}, deps = {}) {
319
287
  });
320
288
  const noPrompt = options.noPrompt ?? false;
321
289
  const cwd = options.cwd ?? process.cwd();
322
- if (!(await resolved.isInsideGitWorkTree())) {
323
- throw new Error(`Not a git repository: ${cwd}. Run this command from a git project.`);
290
+ const context = await resolveProjectContext(cwd, deps);
291
+ const { insideGit, projectRoot } = context;
292
+ const { git } = context;
293
+ let gitignore;
294
+ if (insideGit && git !== undefined) {
295
+ log(`Directory: ${cwd}`);
296
+ log(`Git root: ${git.root}`);
297
+ log(`Branch: ${git.branch}`);
298
+ log(`Remote: ${git.remoteUrl ?? '(no origin remote)'}`);
299
+ const ensured = await ensureAgentiaGitignore(git.root, deps);
300
+ logGitignoreResult(log, cwd, ensured);
301
+ gitignore = {
302
+ path: path.relative(cwd, ensured.path) || '.gitignore',
303
+ status: ensured.status,
304
+ };
324
305
  }
325
- const root = await resolved.getGitRepoRoot();
326
- const branch = await resolved.getCurrentBranch();
327
- const remoteUrl = await resolved.getRemoteUrl('origin');
328
- log(`Directory: ${cwd}`);
329
- log(`Git root: ${root}`);
330
- log(`Branch: ${branch}`);
331
- log(`Remote: ${remoteUrl ?? '(no origin remote)'}`);
332
- const gitignore = await ensureAgentiaGitignore(root, deps);
333
- logGitignoreResult(log, cwd, gitignore);
334
- let includeGitignore = gitignore.status === 'created' || gitignore.status === 'updated';
335
- const qualityGatesOutcome = await maybeCreateQualityGates({
306
+ else {
307
+ log(`Directory: ${cwd}`);
308
+ log('Not a git repository; skipped .gitignore updates.');
309
+ gitignore = { status: 'skipped' };
310
+ }
311
+ const qualityGates = await maybeCreateQualityGates({
336
312
  bin,
337
313
  cwd,
338
314
  deps,
339
- gitignorePath: gitignore.path,
340
- includeGitignore,
341
315
  log,
342
316
  noPrompt,
343
317
  requested: options.createLocalQualityGates === true,
344
318
  resolved,
345
- root,
319
+ root: projectRoot,
346
320
  });
347
- if (qualityGatesOutcome.gitignoreConsumed) {
348
- includeGitignore = false;
349
- }
350
- const agentsOutcome = await maybeCreateAgentsMd({
321
+ const agentsMd = await maybeCreateAgentsMd({
351
322
  cwd,
352
323
  deps,
353
- gitignorePath: gitignore.path,
354
- includeGitignore,
355
324
  log,
356
325
  noPrompt,
357
326
  requested: options.createAgentsMd === true,
358
327
  resolved,
359
- root,
328
+ root: projectRoot,
360
329
  });
361
- const nextSteps = buildNextSteps(bin);
362
- log('');
363
- log('Next steps:');
364
- for (const step of nextSteps) {
365
- log(` • ${step}`);
366
- }
367
330
  return {
368
- agentsMd: agentsOutcome.agentsMd,
331
+ agentsMd,
369
332
  cwd,
370
- git: {
371
- branch,
372
- remoteUrl,
373
- root,
374
- },
375
- gitignore: {
376
- path: path.relative(cwd, gitignore.path) || '.gitignore',
377
- status: gitignore.status,
378
- },
379
- nextSteps,
380
- qualityGates: qualityGatesOutcome.qualityGates,
333
+ git,
334
+ gitignore,
335
+ projectRoot,
336
+ qualityGates,
381
337
  };
382
338
  }
383
339
  //# sourceMappingURL=project-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../../src/lib/project-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-setup.js","sourceRoot":"","sources":["../../src/lib/project-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export type ConfirmPromptOptions = {
2
+ default?: boolean;
3
+ message: string;
4
+ };
5
+ export type InputPromptOptions = {
6
+ default?: string;
7
+ message: string;
8
+ validate?: (value: string) => boolean | string;
9
+ };
10
+ export type PasswordPromptOptions = {
11
+ message: string;
12
+ validate?: (value: string) => boolean | string;
13
+ };
14
+ export type SelectChoice<T> = {
15
+ name: string;
16
+ value: T;
17
+ };
18
+ export type SelectPromptOptions<T> = {
19
+ choices: Array<SelectChoice<T>>;
20
+ default?: T;
21
+ message: string;
22
+ };
23
+ export type SetupPrompts = {
24
+ confirm: (options: ConfirmPromptOptions) => Promise<boolean>;
25
+ input: (options: InputPromptOptions) => Promise<string>;
26
+ password: (options: PasswordPromptOptions) => Promise<string>;
27
+ select: <T>(options: SelectPromptOptions<T>) => Promise<T>;
28
+ };
29
+ export declare function isPromptCanceled(error: unknown): boolean;
30
+ export declare function createInquirerSetupPrompts(): SetupPrompts;
@@ -0,0 +1,13 @@
1
+ import { confirm, input, password, select } from '@inquirer/prompts';
2
+ export function isPromptCanceled(error) {
3
+ return typeof error === 'object' && error !== null && error.name === 'ExitPromptError';
4
+ }
5
+ export function createInquirerSetupPrompts() {
6
+ return {
7
+ confirm: (options) => confirm(options),
8
+ input: (options) => input(options),
9
+ password: (options) => password({ ...options, mask: true }),
10
+ select: (options) => select(options),
11
+ };
12
+ }
13
+ //# sourceMappingURL=setup-prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-prompts.js","sourceRoot":"","sources":["../../src/lib/setup-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAA;AAoClE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAyB,CAAC,IAAI,KAAK,iBAAiB,CAAA;AAC7G,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;QACzD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;KACrC,CAAA;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { applyAuthSet, getCicdAuthStatus, getCrtAuthStatus } from './auth-config.js';
2
+ import { type CursorMcpStatus, detectCursorInstall, getCursorMcpStatus, upsertAgentiaCursorMcp } from './cursor-mcp-config.js';
3
+ import { type ProjectAssetSetupResult, type SetupActionStatus, type SetupDeps, type SetupOptions } from './project-setup.js';
4
+ export type SetupWizardAuthResult = {
5
+ baseUrl?: string;
6
+ configured: boolean;
7
+ domain?: string;
8
+ orgId?: string;
9
+ status: SetupActionStatus;
10
+ };
11
+ export type SetupWizardCursorResult = {
12
+ detected: boolean;
13
+ global: CursorMcpStatus & {
14
+ status: SetupActionStatus;
15
+ };
16
+ local: CursorMcpStatus & {
17
+ status: SetupActionStatus;
18
+ };
19
+ };
20
+ export type SetupResult = ProjectAssetSetupResult & {
21
+ auth: {
22
+ cicd: SetupWizardAuthResult;
23
+ crt: SetupWizardAuthResult;
24
+ };
25
+ cursorMcp: SetupWizardCursorResult;
26
+ nextSteps: string[];
27
+ };
28
+ export type SetupWizardOptions = SetupOptions & {
29
+ withSpinner?: <T>(message: string, action: () => Promise<T>) => Promise<T>;
30
+ };
31
+ export type SetupWizardDeps = SetupDeps & {
32
+ applyAuthSet?: typeof applyAuthSet;
33
+ detectCursorInstall?: typeof detectCursorInstall;
34
+ getCicdAuthStatus?: typeof getCicdAuthStatus;
35
+ getCrtAuthStatus?: typeof getCrtAuthStatus;
36
+ getCursorMcpStatus?: typeof getCursorMcpStatus;
37
+ homedir?: () => string;
38
+ upsertAgentiaCursorMcp?: typeof upsertAgentiaCursorMcp;
39
+ };
40
+ export declare function setSetupWizardDepsForTests(deps: SetupWizardDeps | undefined): void;
41
+ export declare function resetSetupWizardDepsForTests(): void;
42
+ export declare function runSetupWizard(options?: SetupWizardOptions, deps?: SetupWizardDeps): Promise<SetupResult>;