@idea1/cli 1.8.3 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +121 -59
- package/dist/cli/resolver.d.ts +1 -0
- package/dist/cli/resolver.d.ts.map +1 -1
- package/dist/cli/resolver.js +5 -0
- package/dist/cli/resolver.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/approve-pr.d.ts.map +1 -1
- package/dist/commands/approve-pr.js +20 -37
- package/dist/commands/approve-pr.js.map +1 -1
- package/dist/commands/attach-project-item.d.ts.map +1 -1
- package/dist/commands/attach-project-item.js +2 -5
- package/dist/commands/attach-project-item.js.map +1 -1
- package/dist/commands/close-worktree.d.ts.map +1 -1
- package/dist/commands/close-worktree.js +4 -3
- package/dist/commands/close-worktree.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +9 -5
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/join-project-item.d.ts.map +1 -1
- package/dist/commands/join-project-item.js +22 -48
- package/dist/commands/join-project-item.js.map +1 -1
- package/dist/commands/next-workflow-step.d.ts.map +1 -1
- package/dist/commands/next-workflow-step.js +22 -23
- package/dist/commands/next-workflow-step.js.map +1 -1
- package/dist/commands/ready-for-approval.d.ts.map +1 -1
- package/dist/commands/ready-for-approval.js +26 -18
- package/dist/commands/ready-for-approval.js.map +1 -1
- package/dist/commands/release.d.ts +3 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +98 -19
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/ship-local-changes.d.ts.map +1 -1
- package/dist/commands/ship-local-changes.js +4 -3
- package/dist/commands/ship-local-changes.js.map +1 -1
- package/dist/commands/start-agent-implementation.js +2 -2
- package/dist/commands/start-agent-implementation.js.map +1 -1
- package/dist/commands/start-dev-implementation.d.ts.map +1 -1
- package/dist/commands/start-dev-implementation.js +8 -3
- package/dist/commands/start-dev-implementation.js.map +1 -1
- package/dist/commands/start.d.ts +2 -2
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +27 -21
- package/dist/commands/start.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +164 -0
- package/dist/interactive.js.map +1 -1
- package/dist/jobs/job.d.ts +81 -0
- package/dist/jobs/job.d.ts.map +1 -0
- package/dist/jobs/job.js +258 -0
- package/dist/jobs/job.js.map +1 -0
- package/dist/jobs/targets.d.ts +58 -0
- package/dist/jobs/targets.d.ts.map +1 -0
- package/dist/jobs/targets.js +215 -0
- package/dist/jobs/targets.js.map +1 -0
- package/dist/lib/logger.d.ts +10 -0
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +16 -0
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/prompt.d.ts +7 -0
- package/dist/lib/prompt.d.ts.map +1 -1
- package/dist/lib/prompt.js +29 -0
- package/dist/lib/prompt.js.map +1 -1
- package/dist/lib/shell.d.ts +2 -1
- package/dist/lib/shell.d.ts.map +1 -1
- package/dist/lib/shell.js +17 -1
- package/dist/lib/shell.js.map +1 -1
- package/dist/services/git.d.ts +7 -0
- package/dist/services/git.d.ts.map +1 -1
- package/dist/services/git.js +10 -7
- package/dist/services/git.js.map +1 -1
- package/dist/services/github.d.ts +13 -0
- package/dist/services/github.d.ts.map +1 -1
- package/dist/services/github.js +35 -3
- package/dist/services/github.js.map +1 -1
- package/dist/services/setup.d.ts +4 -2
- package/dist/services/setup.d.ts.map +1 -1
- package/dist/services/setup.js +43 -13
- package/dist/services/setup.js.map +1 -1
- package/dist/services/worktree.js +1 -1
- package/dist/services/worktree.js.map +1 -1
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/workflow/engine/approval-flow.d.ts +2 -1
- package/dist/workflow/engine/approval-flow.d.ts.map +1 -1
- package/dist/workflow/engine/approval-flow.js +35 -1
- package/dist/workflow/engine/approval-flow.js.map +1 -1
- package/dist/workflow/engine/branch-setup.d.ts +8 -2
- package/dist/workflow/engine/branch-setup.d.ts.map +1 -1
- package/dist/workflow/engine/branch-setup.js +16 -6
- package/dist/workflow/engine/branch-setup.js.map +1 -1
- package/dist/workflow/engine/handlers/agent-implementation.d.ts.map +1 -1
- package/dist/workflow/engine/handlers/agent-implementation.js +3 -10
- package/dist/workflow/engine/handlers/agent-implementation.js.map +1 -1
- package/dist/workflow/engine/handlers/dev-implementation.d.ts +2 -2
- package/dist/workflow/engine/handlers/dev-implementation.d.ts.map +1 -1
- package/dist/workflow/engine/handlers/dev-implementation.js +13 -7
- package/dist/workflow/engine/handlers/dev-implementation.js.map +1 -1
- package/dist/workflow/engine/release-engine.d.ts +7 -1
- package/dist/workflow/engine/release-engine.d.ts.map +1 -1
- package/dist/workflow/engine/release-engine.js +16 -6
- package/dist/workflow/engine/release-engine.js.map +1 -1
- package/dist/workflow/engine/ship-flow.d.ts +5 -4
- package/dist/workflow/engine/ship-flow.d.ts.map +1 -1
- package/dist/workflow/engine/ship-flow.js +8 -13
- package/dist/workflow/engine/ship-flow.js.map +1 -1
- package/dist/workflow/engine/workflow-engine.d.ts +67 -13
- package/dist/workflow/engine/workflow-engine.d.ts.map +1 -1
- package/dist/workflow/engine/workflow-engine.js +137 -47
- package/dist/workflow/engine/workflow-engine.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/integrate.d.ts +0 -13
- package/dist/commands/integrate.d.ts.map +0 -1
- package/dist/commands/integrate.js +0 -128
- package/dist/commands/integrate.js.map +0 -1
- package/dist/commands/start-project-item.d.ts +0 -27
- package/dist/commands/start-project-item.d.ts.map +0 -1
- package/dist/commands/start-project-item.js +0 -325
- package/dist/commands/start-project-item.js.map +0 -1
- package/dist/services/hooks.d.ts +0 -8
- package/dist/services/hooks.d.ts.map +0 -1
- package/dist/services/hooks.js +0 -72
- package/dist/services/hooks.js.map +0 -1
- package/dist/services/workflow.d.ts +0 -17
- package/dist/services/workflow.d.ts.map +0 -1
- package/dist/services/workflow.js +0 -39
- package/dist/services/workflow.js.map +0 -1
package/dist/interactive.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import boxen from 'boxen';
|
|
3
3
|
import readline from 'readline';
|
|
4
|
+
import { existsSync } from 'fs';
|
|
4
5
|
import { getAllCommands, getCommand } from './commands/index.js';
|
|
6
|
+
import { describeRun, setBackgroundJobHost, summarizeJob } from './jobs/job.js';
|
|
5
7
|
import { logger } from './lib/logger.js';
|
|
8
|
+
import { promptConfirm, promptSelect } from './lib/prompt.js';
|
|
6
9
|
import { exec } from './lib/shell.js';
|
|
7
10
|
import { VERSION } from './version.js';
|
|
8
11
|
import { getProjectItemSummaryForCurrentBranch } from './workflow/engine/workflow-engine.js';
|
|
@@ -95,6 +98,7 @@ function displayCommands() {
|
|
|
95
98
|
const aliases = cmd.aliases.length > 0 ? chalk.dim(` (${cmd.aliases.join(', ')})`) : '';
|
|
96
99
|
console.log(` ${chalk.cyan('/' + cmd.name)}${aliases} - ${cmd.description}`);
|
|
97
100
|
}
|
|
101
|
+
console.log(` ${chalk.cyan('/jobs')} - Watch the commands running in the background`);
|
|
98
102
|
console.log(` ${chalk.cyan('/exit')}${chalk.dim(' (q, quit)')} - Exit the CLI`);
|
|
99
103
|
logger.newline();
|
|
100
104
|
}
|
|
@@ -134,6 +138,13 @@ function buildCommandMenuItems() {
|
|
|
134
138
|
matchTerms: ['/' + cmd.name, ...cmd.aliases.map(a => '/' + a)]
|
|
135
139
|
});
|
|
136
140
|
}
|
|
141
|
+
items.push({
|
|
142
|
+
commandName: '/jobs',
|
|
143
|
+
aliasText: '',
|
|
144
|
+
description: 'Watch the commands running in the background',
|
|
145
|
+
value: '/jobs',
|
|
146
|
+
matchTerms: ['/jobs']
|
|
147
|
+
});
|
|
137
148
|
// Add exit command
|
|
138
149
|
items.push({
|
|
139
150
|
commandName: '/exit',
|
|
@@ -428,6 +439,7 @@ function createInteractivePrompt() {
|
|
|
428
439
|
};
|
|
429
440
|
let keypressHandler;
|
|
430
441
|
const cleanup = () => {
|
|
442
|
+
printAbovePrompt = null;
|
|
431
443
|
process.stdin.off('keypress', keypressHandler);
|
|
432
444
|
escapeHandler.dispose();
|
|
433
445
|
closeMenu();
|
|
@@ -456,6 +468,18 @@ function createInteractivePrompt() {
|
|
|
456
468
|
cleanup();
|
|
457
469
|
resolve(currentInput);
|
|
458
470
|
};
|
|
471
|
+
// Print notices above the prompt while it waits, then draw it again below them.
|
|
472
|
+
printAbovePrompt = lines => {
|
|
473
|
+
const wasMenuOpen = menuOpen;
|
|
474
|
+
closeMenu();
|
|
475
|
+
process.stdout.write('\r\x1b[2K');
|
|
476
|
+
process.stdout.write(lines.join('\n') + '\n');
|
|
477
|
+
renderPromptLine();
|
|
478
|
+
if (wasMenuOpen) {
|
|
479
|
+
openMenu();
|
|
480
|
+
renderMenu();
|
|
481
|
+
}
|
|
482
|
+
};
|
|
459
483
|
// Initial prompt
|
|
460
484
|
renderPromptLine();
|
|
461
485
|
keypressHandler = (str, key) => {
|
|
@@ -531,15 +555,136 @@ function createInteractivePrompt() {
|
|
|
531
555
|
process.stdin.on('keypress', keypressHandler);
|
|
532
556
|
});
|
|
533
557
|
}
|
|
558
|
+
/** The jobs started in this session, which run in the background while the prompt is in use. */
|
|
559
|
+
const jobs = [];
|
|
560
|
+
/** Prints lines above the command prompt while it is waiting for input; null while it is not. */
|
|
561
|
+
let printAbovePrompt = null;
|
|
562
|
+
/** Notices that arrived while the prompt was not showing, printed before it shows next. */
|
|
563
|
+
const pendingNotices = [];
|
|
564
|
+
function notify(lines) {
|
|
565
|
+
if (printAbovePrompt) {
|
|
566
|
+
printAbovePrompt(lines);
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
pendingNotices.push(lines);
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
function flushNotices() {
|
|
573
|
+
for (const lines of pendingNotices.splice(0)) {
|
|
574
|
+
console.log(lines.join('\n'));
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
function addBackgroundJob(job) {
|
|
578
|
+
jobs.push(job);
|
|
579
|
+
void job.done.then(() => notify(['', ...summarizeJob(job), chalk.dim('Type /jobs for details.')]));
|
|
580
|
+
}
|
|
581
|
+
function describeJob(job) {
|
|
582
|
+
const state = job.isRunning ? 'running' : job.succeeded ? 'succeeded' : 'did not succeed';
|
|
583
|
+
return `Job ${job.id} - ${job.spec.title} (${state})`;
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* `/jobs`: every job of the session with each run's state, then a job to watch live.
|
|
587
|
+
*/
|
|
588
|
+
async function showJobs() {
|
|
589
|
+
if (jobs.length === 0) {
|
|
590
|
+
logger.info('No jobs have been started in this session. A command run on several targets runs as a job.');
|
|
591
|
+
return;
|
|
592
|
+
}
|
|
593
|
+
logger.newline();
|
|
594
|
+
for (const job of jobs) {
|
|
595
|
+
console.log(chalk.bold(describeJob(job)));
|
|
596
|
+
for (const run of job.allRuns) {
|
|
597
|
+
console.log(` ${describeRun(run)}`);
|
|
598
|
+
}
|
|
599
|
+
console.log(chalk.dim(` Logs: ${job.logDirectory}`));
|
|
600
|
+
}
|
|
601
|
+
logger.newline();
|
|
602
|
+
const id = await promptSelect('Watch a job (Esc to go back):', jobs.map(job => ({ label: describeJob(job), value: String(job.id) })));
|
|
603
|
+
const job = jobs.find(candidate => String(candidate.id) === id);
|
|
604
|
+
if (job) {
|
|
605
|
+
await watchJob(job);
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
/** How many of each run's latest lines the live view starts with. */
|
|
609
|
+
const WATCH_BACKLOG_LINES = 15;
|
|
610
|
+
/**
|
|
611
|
+
* Follow a job live: each run's latest output, then everything its runs write and every step they
|
|
612
|
+
* reach as it happens, until Esc returns to the prompt. The job keeps running either way.
|
|
613
|
+
*/
|
|
614
|
+
function watchJob(job) {
|
|
615
|
+
const prefix = (run) => chalk.dim(`[${run.label}] `);
|
|
616
|
+
logger.header(`${describeJob(job)} - Esc to go back`);
|
|
617
|
+
for (const run of job.allRuns) {
|
|
618
|
+
for (const line of run.tail.slice(-WATCH_BACKLOG_LINES)) {
|
|
619
|
+
console.log(prefix(run) + line);
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
for (const run of job.allRuns) {
|
|
623
|
+
console.log(describeRun(run));
|
|
624
|
+
}
|
|
625
|
+
const onOutput = (run, line) => console.log(prefix(run) + line);
|
|
626
|
+
const onStep = (run) => console.log(prefix(run) + (run.status === 'running' ? chalk.cyan(`→ ${run.step}`) : describeRun(run)));
|
|
627
|
+
const onDone = () => console.log(['', ...summarizeJob(job), chalk.dim('Esc to go back')].join('\n'));
|
|
628
|
+
job.on('output', onOutput);
|
|
629
|
+
job.on('step', onStep);
|
|
630
|
+
job.once('done', onDone);
|
|
631
|
+
return new Promise(resolve => {
|
|
632
|
+
readline.emitKeypressEvents(process.stdin);
|
|
633
|
+
if (process.stdin.isTTY) {
|
|
634
|
+
process.stdin.setRawMode(true);
|
|
635
|
+
}
|
|
636
|
+
process.stdin.resume();
|
|
637
|
+
const keypressHandler = (_str, key) => {
|
|
638
|
+
if (key?.name !== 'escape' && !(key?.ctrl && key.name === 'c')) {
|
|
639
|
+
return;
|
|
640
|
+
}
|
|
641
|
+
process.stdin.off('keypress', keypressHandler);
|
|
642
|
+
job.off('output', onOutput);
|
|
643
|
+
job.off('step', onStep);
|
|
644
|
+
job.off('done', onDone);
|
|
645
|
+
if (process.stdin.isTTY) {
|
|
646
|
+
process.stdin.setRawMode(false);
|
|
647
|
+
}
|
|
648
|
+
process.stdin.pause();
|
|
649
|
+
logger.newline();
|
|
650
|
+
resolve();
|
|
651
|
+
};
|
|
652
|
+
process.stdin.on('keypress', keypressHandler);
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
/**
|
|
656
|
+
* Whether to leave the CLI: straight away when no job is running, otherwise once the user agrees
|
|
657
|
+
* to stop the running jobs - which are then stopped.
|
|
658
|
+
*/
|
|
659
|
+
async function confirmExit() {
|
|
660
|
+
const running = jobs.filter(job => job.isRunning);
|
|
661
|
+
if (running.length === 0) {
|
|
662
|
+
return true;
|
|
663
|
+
}
|
|
664
|
+
const stop = await promptConfirm(`${running.length} job(s) are still running. Stop them and exit?`, { default: false });
|
|
665
|
+
if (!stop) {
|
|
666
|
+
return false;
|
|
667
|
+
}
|
|
668
|
+
for (const job of running) {
|
|
669
|
+
job.stop();
|
|
670
|
+
}
|
|
671
|
+
await Promise.all(running.map(job => job.done));
|
|
672
|
+
return true;
|
|
673
|
+
}
|
|
534
674
|
/**
|
|
535
675
|
* Run the interactive REPL
|
|
536
676
|
*/
|
|
537
677
|
export async function runInteractiveMode(repoRoot) {
|
|
538
678
|
await displayHeader(repoRoot);
|
|
539
679
|
displayCommands();
|
|
680
|
+
// Commands run on several targets become background jobs, so the prompt stays in use.
|
|
681
|
+
setBackgroundJobHost({ add: addBackgroundJob });
|
|
682
|
+
// A command can move into a branch's checkout; the session stays where it started.
|
|
683
|
+
const startDirectory = process.cwd();
|
|
540
684
|
// eslint-disable-next-line no-constant-condition
|
|
541
685
|
while (true) {
|
|
542
686
|
try {
|
|
687
|
+
flushNotices();
|
|
543
688
|
const selectedCommand = await createInteractivePrompt();
|
|
544
689
|
if (!selectedCommand) {
|
|
545
690
|
continue;
|
|
@@ -551,9 +696,20 @@ export async function runInteractiveMode(repoRoot) {
|
|
|
551
696
|
}
|
|
552
697
|
// Handle exit commands
|
|
553
698
|
if (['exit', 'q', 'quit'].includes(command.toLowerCase())) {
|
|
699
|
+
if (!await confirmExit().catch(() => false)) {
|
|
700
|
+
continue;
|
|
701
|
+
}
|
|
554
702
|
logger.info('Goodbye!');
|
|
555
703
|
break;
|
|
556
704
|
}
|
|
705
|
+
if (command === 'jobs') {
|
|
706
|
+
await showJobs().catch((error) => {
|
|
707
|
+
if (!error.message?.includes('command cancelled')) {
|
|
708
|
+
logger.error(error.message);
|
|
709
|
+
}
|
|
710
|
+
});
|
|
711
|
+
continue;
|
|
712
|
+
}
|
|
557
713
|
// Handle help shortcut
|
|
558
714
|
if (command === '?' || command === 'commands') {
|
|
559
715
|
displayCommands();
|
|
@@ -584,12 +740,20 @@ export async function runInteractiveMode(repoRoot) {
|
|
|
584
740
|
}
|
|
585
741
|
logger.error(err.message);
|
|
586
742
|
}
|
|
743
|
+
finally {
|
|
744
|
+
if (process.cwd() !== startDirectory && existsSync(startDirectory)) {
|
|
745
|
+
process.chdir(startDirectory);
|
|
746
|
+
}
|
|
747
|
+
}
|
|
587
748
|
}
|
|
588
749
|
catch (error) {
|
|
589
750
|
// Handle Ctrl+C gracefully
|
|
590
751
|
const err = error;
|
|
591
752
|
if (err.message?.includes('force closed') || err.name === 'ExitPromptError') {
|
|
592
753
|
logger.newline();
|
|
754
|
+
if (!await confirmExit().catch(() => false)) {
|
|
755
|
+
continue;
|
|
756
|
+
}
|
|
593
757
|
logger.info('Goodbye!');
|
|
594
758
|
break;
|
|
595
759
|
}
|
package/dist/interactive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
export type RunStatus = 'running' | 'succeeded' | 'failed' | 'stopped' | 'skipped';
|
|
3
|
+
/** One CLI command a job runs, in its own process. */
|
|
4
|
+
export interface RunSpec {
|
|
5
|
+
/** What progress output calls the run, e.g. `#590 Fix login` or a branch name. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** The command and its options, as on the command line. */
|
|
8
|
+
args: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface JobSpec {
|
|
11
|
+
/** What the job is, e.g. `approve-pr on 3 targets`. */
|
|
12
|
+
title: string;
|
|
13
|
+
runs: RunSpec[];
|
|
14
|
+
/** Run once every run succeeded; skipped otherwise. */
|
|
15
|
+
followUp: RunSpec | null;
|
|
16
|
+
/** Stop every other run as soon as one fails (the follow-up is skipped either way). */
|
|
17
|
+
failFast: boolean;
|
|
18
|
+
}
|
|
19
|
+
/** One run of a job: its process, where it is, and how it ended. */
|
|
20
|
+
export declare class JobRun {
|
|
21
|
+
readonly spec: RunSpec;
|
|
22
|
+
readonly logPath: string;
|
|
23
|
+
status: RunStatus;
|
|
24
|
+
/** The last step the run reported. */
|
|
25
|
+
step: string;
|
|
26
|
+
/** Why the run failed: the last error it reported, or its exit code. */
|
|
27
|
+
error: string | null;
|
|
28
|
+
/** The run's most recent output lines. */
|
|
29
|
+
readonly tail: string[];
|
|
30
|
+
private child;
|
|
31
|
+
private stopRequested;
|
|
32
|
+
constructor(spec: RunSpec, logPath: string);
|
|
33
|
+
get label(): string;
|
|
34
|
+
/** Start the run and settle once it has exited, reporting each step and output line. */
|
|
35
|
+
run(cwd: string, onStep: () => void, onOutput: (line: string) => void): Promise<void>;
|
|
36
|
+
stop(): void;
|
|
37
|
+
skip(): void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A running job. Emits `step` (run) when a run reports a step or ends, `output` (run, line) for
|
|
41
|
+
* every line a run writes, and `done` once every run has ended.
|
|
42
|
+
*/
|
|
43
|
+
export declare class Job extends EventEmitter {
|
|
44
|
+
readonly spec: JobSpec;
|
|
45
|
+
readonly id: number;
|
|
46
|
+
readonly runs: JobRun[];
|
|
47
|
+
readonly followUp: JobRun | null;
|
|
48
|
+
readonly done: Promise<void>;
|
|
49
|
+
/** Where the runs' log files are. */
|
|
50
|
+
readonly logDirectory: string;
|
|
51
|
+
private constructor();
|
|
52
|
+
/**
|
|
53
|
+
* Start a job in the main clone, its logs kept in the clone's `.idea1/jobs` folder - one folder
|
|
54
|
+
* per job; the CLI's setup keeps the folder in `.idea1/.gitignore` - after pruning the logs of
|
|
55
|
+
* old jobs.
|
|
56
|
+
*/
|
|
57
|
+
static start(spec: JobSpec): Promise<Job>;
|
|
58
|
+
get isRunning(): boolean;
|
|
59
|
+
/** Whether every run, and the follow-up, succeeded. */
|
|
60
|
+
get succeeded(): boolean;
|
|
61
|
+
/** Every run, the follow-up last. */
|
|
62
|
+
get allRuns(): JobRun[];
|
|
63
|
+
stop(): void;
|
|
64
|
+
private runAll;
|
|
65
|
+
}
|
|
66
|
+
/** One line saying where a run is, or how it ended. */
|
|
67
|
+
export declare function describeRun(run: JobRun): string;
|
|
68
|
+
/** The job's outcome: a headline and one line per run, with the log of each run that failed. */
|
|
69
|
+
export declare function summarizeJob(job: Job): string[];
|
|
70
|
+
/** Where a job goes when the CLI can run it in the background: the interactive CLI. */
|
|
71
|
+
export interface BackgroundJobHost {
|
|
72
|
+
add(job: Job): void;
|
|
73
|
+
}
|
|
74
|
+
export declare function setBackgroundJobHost(host: BackgroundJobHost): void;
|
|
75
|
+
/**
|
|
76
|
+
* Run a job: in the background when the interactive CLI hosts it, which tells the user when it is
|
|
77
|
+
* done; otherwise in the foreground, reporting each run's steps as they happen and the outcome at
|
|
78
|
+
* the end. A foreground job that did not succeed throws, so the command fails.
|
|
79
|
+
*/
|
|
80
|
+
export declare function runJob(spec: JobSpec): Promise<void>;
|
|
81
|
+
//# sourceMappingURL=job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/jobs/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AA8BtC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnF,sDAAsD;AACtD,MAAM,WAAW,OAAO;IACtB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,uDAAuD;IACvD,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,oEAAoE;AACpE,qBAAa,MAAM;IAWL,QAAQ,CAAC,IAAI,EAAE,OAAO;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM;IAV5D,MAAM,EAAE,SAAS,CAAa;IAC9B,sCAAsC;IACtC,IAAI,SAAc;IAClB,wEAAwE;IACxE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAM;IAC7B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,aAAa,CAAS;gBAET,IAAI,EAAE,OAAO,EAAW,OAAO,EAAE,MAAM;IAE5D,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,wFAAwF;IAClF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD3F,IAAI,IAAI,IAAI;IAOZ,IAAI,IAAI,IAAI;CAGb;AAiCD;;;GAGG;AACH,qBAAa,GAAI,SAAQ,YAAY;IAQf,QAAQ,CAAC,IAAI,EAAE,OAAO;IAP1C,QAAQ,CAAC,EAAE,SAAe;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,OAAO;IAUP;;;;OAIG;WACU,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAW/C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,uDAAuD;IACvD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,qCAAqC;IACrC,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED,IAAI,IAAI,IAAI;YAME,MAAM;CAsBrB;AAED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAc/C;AAED,uFAAuF;AACvF,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CACrB;AAID,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAElE;AAED;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBzD"}
|