hub-launch 1.10.0 → 1.11.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.
- package/CHANGELOG.md +6 -0
- package/README.md +31 -0
- package/dist/commands/launch.d.ts +58 -0
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +281 -44
- package/dist/commands/launch.js.map +1 -1
- package/dist/templates/scripts/hula-launch-run.sh +48 -9
- package/dist/templates/skills/hula-launch/SKILL.md +34 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.11.0] - 2026-07-08
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Client support for the unified launch/cancel `ralph-run` API, with `--kill` to stop an active run and `--kill-and-relaunch` to restart it. (#287)
|
|
15
|
+
|
|
10
16
|
## [1.10.0] - 2026-07-07
|
|
11
17
|
|
|
12
18
|
### Added
|
package/README.md
CHANGED
|
@@ -208,6 +208,37 @@ clean it up afterward.
|
|
|
208
208
|
hula launch my-branch .hublaunch/plans/my-plan.md --test
|
|
209
209
|
```
|
|
210
210
|
|
|
211
|
+
### Stopping or replacing an in-flight task
|
|
212
|
+
|
|
213
|
+
Use `--kill-and-relaunch` to cancel the task currently running for a tracking
|
|
214
|
+
name and immediately launch a fresh one (stale state is reset server-side):
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
hula launch feature-auth .hublaunch/plans/2026-07-07-feature-auth.md --kill-and-relaunch
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Use `--kill` to just stop the in-flight task without relaunching. It needs
|
|
221
|
+
**only the branch name** — no plan path, and it sends no credentials:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
hula launch feature-auth --kill
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
When there is nothing to cancel, `--kill` prints "No active task to cancel…" and
|
|
228
|
+
exits 0 (a no-op is a success). `--kill` and `--kill-and-relaunch` are mutually
|
|
229
|
+
exclusive, and `--kill` cannot be combined with launch-only flags (`--resume`,
|
|
230
|
+
`--fix`, `--test`, `--handoff`, `--regression`).
|
|
231
|
+
|
|
232
|
+
If you run a normal `hula launch` while a task is already running for that
|
|
233
|
+
tracking name, the behavior depends on the context:
|
|
234
|
+
|
|
235
|
+
- **In an interactive terminal**, you're shown recovery options — kill and
|
|
236
|
+
relaunch, just stop the running task, resume from a step, or cancel — and the
|
|
237
|
+
launch is re-invoked with the flag you pick.
|
|
238
|
+
- **Non-interactively** (from the `/hula-launch` skill wrapper, CI, or a pipe),
|
|
239
|
+
the server's message (which names the recovery flags) is printed and the
|
|
240
|
+
process exits non-zero — no prompt, no hang.
|
|
241
|
+
|
|
211
242
|
### Forwarding environment variables to the container
|
|
212
243
|
|
|
213
244
|
Tests that need credentials (a test user login, a third-party API key, etc.) can
|
|
@@ -8,9 +8,67 @@ import type { Config } from '../types/index.js';
|
|
|
8
8
|
* Usage: hula launch --logs <name>
|
|
9
9
|
*/
|
|
10
10
|
export declare function launchCommand(program: Command, config: Config): void;
|
|
11
|
+
interface LaunchOptions {
|
|
12
|
+
url?: string;
|
|
13
|
+
apiKey?: string;
|
|
14
|
+
duration?: number;
|
|
15
|
+
launch?: string;
|
|
16
|
+
worktree?: string | boolean;
|
|
17
|
+
resume?: number;
|
|
18
|
+
fix?: string;
|
|
19
|
+
regression?: boolean;
|
|
20
|
+
kill?: boolean;
|
|
21
|
+
killAndRelaunch?: boolean;
|
|
22
|
+
verbose?: boolean;
|
|
23
|
+
test?: boolean;
|
|
24
|
+
handoff?: string;
|
|
25
|
+
show?: string;
|
|
26
|
+
logs?: string;
|
|
27
|
+
lines?: number;
|
|
28
|
+
type?: 'log' | 'output';
|
|
29
|
+
editor?: boolean;
|
|
30
|
+
anthropicKey?: string;
|
|
31
|
+
daytonaKey?: string;
|
|
32
|
+
daytonaTier?: number;
|
|
33
|
+
containerCpu?: number;
|
|
34
|
+
containerMemory?: number;
|
|
35
|
+
containerDisk?: number;
|
|
36
|
+
updateNotificationUrl?: string;
|
|
37
|
+
updateNotificationNameTag?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Validate the `--kill` / `--kill-and-relaunch` flag combination.
|
|
41
|
+
*
|
|
42
|
+
* - The two flags are mutually exclusive.
|
|
43
|
+
* - `--kill` composes with no other launch-only flag (`--resume`, `--fix`,
|
|
44
|
+
* `--test`, `--handoff`, `--regression`).
|
|
45
|
+
* - `--kill-and-relaunch` composes normally with every launch flag.
|
|
46
|
+
*
|
|
47
|
+
* Returns an error message when the combination is invalid, or `null` when OK.
|
|
48
|
+
*/
|
|
49
|
+
export declare function validateKillFlags(options: LaunchOptions): string | null;
|
|
50
|
+
/**
|
|
51
|
+
* Whether a plan path is required for the given flag combination.
|
|
52
|
+
* `--kill` needs only the tracking name; every other mode needs a plan.
|
|
53
|
+
*/
|
|
54
|
+
export declare function requiresPlanPath(options: LaunchOptions): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Derive the request `conflictMode` from the CLI flags (plus an optional explicit
|
|
57
|
+
* override used when re-invoking after an interactive 409 resolution).
|
|
58
|
+
*
|
|
59
|
+
* Returns `undefined` for the default `reject` path so the request body stays
|
|
60
|
+
* byte-identical to today's — the key is only added for `killAndRelaunch`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function deriveConflictMode(options: LaunchOptions, override?: 'killAndRelaunch'): 'killAndRelaunch' | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Build the request body for a cancel-only (`--kill`) call. Carries NO secrets —
|
|
65
|
+
* only the tracking name, repository id, and the `kill` conflict mode.
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildKillRequestBody(issueName: string, repositoryId: string): Record<string, unknown>;
|
|
11
68
|
/**
|
|
12
69
|
* Deprecated ralph command - alias for launch
|
|
13
70
|
* @deprecated Use launchCommand instead
|
|
14
71
|
*/
|
|
15
72
|
export declare function ralphCommand(program: Command, config: Config): void;
|
|
73
|
+
export {};
|
|
16
74
|
//# sourceMappingURL=launch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAyBhD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyGpE;AAED,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAavE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEhE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,iBAAiB,GAAG,SAAS,CAI/B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AA8/BD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAyCnE"}
|
package/dist/commands/launch.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
+
import inquirer from 'inquirer';
|
|
2
3
|
import chalk from 'chalk';
|
|
3
4
|
import os from 'os';
|
|
4
5
|
import path from 'path';
|
|
@@ -39,6 +40,8 @@ export function launchCommand(program, config) {
|
|
|
39
40
|
.option('--resume <step>', 'Resume from step N (1-9)', parseInt)
|
|
40
41
|
.option('--fix <instructions>', 'Fix instructions (use with --resume)')
|
|
41
42
|
.option('--regression', 'Force regression tests to run')
|
|
43
|
+
.option('--kill', 'Stop the in-flight task for this tracking name (no relaunch)')
|
|
44
|
+
.option('--kill-and-relaunch', 'Cancel the in-flight task, reset stale state, and relaunch')
|
|
42
45
|
.option('--verbose', 'Show full output')
|
|
43
46
|
// .option(
|
|
44
47
|
// '--test',
|
|
@@ -70,7 +73,24 @@ export function launchCommand(program, config) {
|
|
|
70
73
|
await showJobLogs(config, options.logs, options);
|
|
71
74
|
return;
|
|
72
75
|
}
|
|
73
|
-
//
|
|
76
|
+
// Validate the --kill / --kill-and-relaunch combination (mutual
|
|
77
|
+
// exclusion + composition with launch-only flags) before any work.
|
|
78
|
+
const killFlagError = validateKillFlags(options);
|
|
79
|
+
if (killFlagError) {
|
|
80
|
+
logger.error(killFlagError);
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
// --kill is a cancel-only path: it needs ONLY the tracking name (no
|
|
84
|
+
// plan path) and routes to the dedicated executeKill function.
|
|
85
|
+
if (options.kill) {
|
|
86
|
+
if (!issueName) {
|
|
87
|
+
logger.error('Usage: hula launch <issueName> --kill');
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
await executeKill(config, issueName, options);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
// Regular launch / --kill-and-relaunch requires issueName and planPath
|
|
74
94
|
if (!issueName || !planPath) {
|
|
75
95
|
logger.error('Usage: hula launch <issueName> <planPath>');
|
|
76
96
|
logger.info('Or use --show <name> or --logs <name> to view job details');
|
|
@@ -85,6 +105,69 @@ export function launchCommand(program, config) {
|
|
|
85
105
|
}
|
|
86
106
|
});
|
|
87
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Launch-only flags that are meaningless for a bare `--kill` (which just stops
|
|
110
|
+
* the running task). Keyed by option field with the user-facing flag name.
|
|
111
|
+
*/
|
|
112
|
+
const KILL_INCOMPATIBLE_FLAGS = [
|
|
113
|
+
{ key: 'resume', flag: '--resume' },
|
|
114
|
+
{ key: 'fix', flag: '--fix' },
|
|
115
|
+
{ key: 'test', flag: '--test' },
|
|
116
|
+
{ key: 'handoff', flag: '--handoff' },
|
|
117
|
+
{ key: 'regression', flag: '--regression' },
|
|
118
|
+
];
|
|
119
|
+
/**
|
|
120
|
+
* Validate the `--kill` / `--kill-and-relaunch` flag combination.
|
|
121
|
+
*
|
|
122
|
+
* - The two flags are mutually exclusive.
|
|
123
|
+
* - `--kill` composes with no other launch-only flag (`--resume`, `--fix`,
|
|
124
|
+
* `--test`, `--handoff`, `--regression`).
|
|
125
|
+
* - `--kill-and-relaunch` composes normally with every launch flag.
|
|
126
|
+
*
|
|
127
|
+
* Returns an error message when the combination is invalid, or `null` when OK.
|
|
128
|
+
*/
|
|
129
|
+
export function validateKillFlags(options) {
|
|
130
|
+
if (options.kill && options.killAndRelaunch) {
|
|
131
|
+
return '--kill and --kill-and-relaunch cannot be used together';
|
|
132
|
+
}
|
|
133
|
+
if (options.kill) {
|
|
134
|
+
for (const { key, flag } of KILL_INCOMPATIBLE_FLAGS) {
|
|
135
|
+
const value = options[key];
|
|
136
|
+
if (value !== undefined && value !== false) {
|
|
137
|
+
return `--kill does not take ${flag}; it only stops the running task`;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Whether a plan path is required for the given flag combination.
|
|
145
|
+
* `--kill` needs only the tracking name; every other mode needs a plan.
|
|
146
|
+
*/
|
|
147
|
+
export function requiresPlanPath(options) {
|
|
148
|
+
return !options.kill;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Derive the request `conflictMode` from the CLI flags (plus an optional explicit
|
|
152
|
+
* override used when re-invoking after an interactive 409 resolution).
|
|
153
|
+
*
|
|
154
|
+
* Returns `undefined` for the default `reject` path so the request body stays
|
|
155
|
+
* byte-identical to today's — the key is only added for `killAndRelaunch`.
|
|
156
|
+
*/
|
|
157
|
+
export function deriveConflictMode(options, override) {
|
|
158
|
+
if (override)
|
|
159
|
+
return override;
|
|
160
|
+
if (options.killAndRelaunch)
|
|
161
|
+
return 'killAndRelaunch';
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Build the request body for a cancel-only (`--kill`) call. Carries NO secrets —
|
|
166
|
+
* only the tracking name, repository id, and the `kill` conflict mode.
|
|
167
|
+
*/
|
|
168
|
+
export function buildKillRequestBody(issueName, repositoryId) {
|
|
169
|
+
return { issueName, repositoryId, conflictMode: 'kill' };
|
|
170
|
+
}
|
|
88
171
|
async function validateLaunchCredentials(anthropicApiKey, githubToken) {
|
|
89
172
|
console.log('Checking your credentials before launch...\n');
|
|
90
173
|
// --- Anthropic ---
|
|
@@ -254,8 +337,15 @@ async function verifyProTier(config, serverUrl, apiKey) {
|
|
|
254
337
|
return true;
|
|
255
338
|
}
|
|
256
339
|
}
|
|
257
|
-
async function executeLaunch(config, issueName, planPath, options
|
|
340
|
+
async function executeLaunch(config, issueName, planPath, options,
|
|
341
|
+
// Explicit conflict mode override. Set when re-invoking after the interactive
|
|
342
|
+
// 409 resolver picks "kill and relaunch" — it both forces the server to
|
|
343
|
+
// cancel+relaunch and (being non-undefined) suppresses re-entering the prompt.
|
|
344
|
+
conflictModeOverride) {
|
|
258
345
|
logger.section('Launch');
|
|
346
|
+
// Effective conflict mode: an explicit override (from the 409 resolver) or the
|
|
347
|
+
// --kill-and-relaunch flag. Undefined = default 'reject' (byte-identical body).
|
|
348
|
+
const conflictMode = deriveConflictMode(options, conflictModeOverride);
|
|
259
349
|
// Check if plan is synced to origin/main
|
|
260
350
|
const planSyncStatus = await checkPlanSyncStatus(config, planPath);
|
|
261
351
|
if (!planSyncStatus.synced) {
|
|
@@ -401,6 +491,13 @@ async function executeLaunch(config, issueName, planPath, options) {
|
|
|
401
491
|
if (options.test) {
|
|
402
492
|
requestBody.test = true;
|
|
403
493
|
}
|
|
494
|
+
// Maps to RalphRunRequest.conflictMode (hula-server PR #391). Only added for
|
|
495
|
+
// 'killAndRelaunch' — the server default 'reject' is expressed by omitting the
|
|
496
|
+
// key entirely, keeping the default-launch request body byte-identical to
|
|
497
|
+
// before this change (same pattern as `test` above).
|
|
498
|
+
if (conflictMode) {
|
|
499
|
+
requestBody.conflictMode = conflictMode;
|
|
500
|
+
}
|
|
404
501
|
if (options.verbose) {
|
|
405
502
|
requestBody.verbose = true;
|
|
406
503
|
}
|
|
@@ -504,6 +601,11 @@ async function executeLaunch(config, issueName, planPath, options) {
|
|
|
504
601
|
timeout: 30000, // 30 second timeout
|
|
505
602
|
});
|
|
506
603
|
if (response.data.success) {
|
|
604
|
+
// killAndRelaunch over an active task: note the cancellation before the
|
|
605
|
+
// normal launch success output.
|
|
606
|
+
if (response.data.killed === true) {
|
|
607
|
+
logger.info('Cancelled the previous in-flight task.');
|
|
608
|
+
}
|
|
507
609
|
logger.success(response.data.message);
|
|
508
610
|
logger.blank();
|
|
509
611
|
if (response.data.planId) {
|
|
@@ -528,52 +630,187 @@ async function executeLaunch(config, issueName, planPath, options) {
|
|
|
528
630
|
}
|
|
529
631
|
}
|
|
530
632
|
catch (error) {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
633
|
+
// A 409 on the default `reject` path means a task is already running for this
|
|
634
|
+
// tracking name. Offer recovery options interactively (or, when scripted,
|
|
635
|
+
// print the server message and exit). Skip this whenever a conflictMode is
|
|
636
|
+
// already in play — that request cannot produce a reject 409 and must not
|
|
637
|
+
// re-enter the prompt (loop guard).
|
|
638
|
+
if (!conflictMode &&
|
|
639
|
+
axios.isAxiosError(error) &&
|
|
640
|
+
error.response?.status === 409) {
|
|
641
|
+
await handleReject409(error, config, issueName, planPath, options);
|
|
642
|
+
return;
|
|
643
|
+
}
|
|
644
|
+
handleLaunchAxiosError(error, serverUrl, issueName, planPath);
|
|
645
|
+
process.exit(1);
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Shared axios error handler for the launch / kill request. Surfaces the server
|
|
650
|
+
* `data.error` for 400/403/404/409 (PR #391 returns specific, actionable
|
|
651
|
+
* messages), falling back to sensible generics. Re-throws non-axios errors so the
|
|
652
|
+
* caller's outer handler can report them.
|
|
653
|
+
*
|
|
654
|
+
* The interactive 409 resolution (reject path) is handled separately in
|
|
655
|
+
* executeLaunch before this is reached; here 409 is only a generic fallback.
|
|
656
|
+
*/
|
|
657
|
+
function handleLaunchAxiosError(error, serverUrl, issueName, planPath) {
|
|
658
|
+
if (axios.isAxiosError(error)) {
|
|
659
|
+
if (error.response) {
|
|
660
|
+
const status = error.response.status;
|
|
661
|
+
const data = error.response.data;
|
|
662
|
+
switch (status) {
|
|
663
|
+
case 400:
|
|
664
|
+
logger.error(`Bad request: ${data.error || 'Invalid parameters'}`);
|
|
665
|
+
break;
|
|
666
|
+
case 401:
|
|
667
|
+
logger.error('Authentication failed. Your API key may be invalid.');
|
|
668
|
+
logger.info("Run 'hula login' to re-authenticate.");
|
|
669
|
+
break;
|
|
670
|
+
case 402:
|
|
671
|
+
printFreeTierError();
|
|
672
|
+
break;
|
|
673
|
+
case 403:
|
|
674
|
+
// Surface the server's specific ownership message (kill /
|
|
675
|
+
// killAndRelaunch return one); fall back to the generic string.
|
|
676
|
+
logger.error(data.error || 'Access denied. You may not be authorized for launch.');
|
|
677
|
+
break;
|
|
678
|
+
case 404:
|
|
679
|
+
logger.error(data.error || `Not found: ${planPath ?? issueName}`);
|
|
680
|
+
break;
|
|
681
|
+
case 409:
|
|
682
|
+
logger.error(data.error || `Job already running: ${issueName}`);
|
|
683
|
+
break;
|
|
684
|
+
case 500:
|
|
685
|
+
logger.error(`Server error: ${data.error || 'Internal server error'}`);
|
|
686
|
+
break;
|
|
687
|
+
default:
|
|
688
|
+
logger.error(`Request failed with status ${status}: ${data.error || error.message}`);
|
|
572
689
|
}
|
|
573
690
|
}
|
|
691
|
+
else if (error.code === 'ECONNREFUSED') {
|
|
692
|
+
logger.error(`Cannot connect to server at ${serverUrl}`);
|
|
693
|
+
logger.info('Make sure the hula-project server is running.');
|
|
694
|
+
}
|
|
695
|
+
else if (error.code === 'ETIMEDOUT' || error.code === 'ECONNABORTED') {
|
|
696
|
+
logger.error('Request timed out');
|
|
697
|
+
logger.info('The server may be slow or unreachable.');
|
|
698
|
+
}
|
|
699
|
+
else {
|
|
700
|
+
logger.error(`Network error: ${error.message}`);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
else {
|
|
704
|
+
throw error;
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* Resolve a `reject` 409 ("a task is already running for this tracking name").
|
|
709
|
+
*
|
|
710
|
+
* - Non-interactive (no TTY — skill wrapper, cron, CI): print the server message
|
|
711
|
+
* (which now names the recovery flags) and exit 1. Never prompt, or the caller
|
|
712
|
+
* would hang.
|
|
713
|
+
* - Interactive: show the message, then an inquirer list. The chosen action
|
|
714
|
+
* re-invokes the launch with an explicit conflict mode (kill-and-relaunch),
|
|
715
|
+
* stops the task (kill), prints resume guidance, or cancels.
|
|
716
|
+
*/
|
|
717
|
+
async function handleReject409(error, config, issueName, planPath, options) {
|
|
718
|
+
const data = (error.response?.data ?? {});
|
|
719
|
+
const serverMessage = data.error || `A task is already running for '${issueName}'.`;
|
|
720
|
+
logger.error(serverMessage);
|
|
721
|
+
if (!process.stdout.isTTY) {
|
|
722
|
+
// Scriptable path: no prompt, exit non-zero so the wrapper reports cleanly.
|
|
723
|
+
process.exit(1);
|
|
724
|
+
}
|
|
725
|
+
logger.blank();
|
|
726
|
+
const { action } = await inquirer.prompt([
|
|
727
|
+
{
|
|
728
|
+
type: 'list',
|
|
729
|
+
name: 'action',
|
|
730
|
+
message: 'A task is already running for this tracking name. What next?',
|
|
731
|
+
choices: [
|
|
732
|
+
{ name: 'Kill the running task and relaunch', value: 'killAndRelaunch' },
|
|
733
|
+
{ name: 'Just stop the running task', value: 'kill' },
|
|
734
|
+
{ name: 'Resume from a step instead', value: 'resume' },
|
|
735
|
+
{ name: 'Cancel (do nothing)', value: 'cancel' },
|
|
736
|
+
],
|
|
737
|
+
},
|
|
738
|
+
]);
|
|
739
|
+
switch (action) {
|
|
740
|
+
case 'killAndRelaunch':
|
|
741
|
+
// Re-invoke with an explicit conflict mode: the server cancels+relaunches
|
|
742
|
+
// and this call cannot hit the reject 409 again (guard above skips prompt).
|
|
743
|
+
await executeLaunch(config, issueName, planPath, options, 'killAndRelaunch');
|
|
744
|
+
return;
|
|
745
|
+
case 'kill':
|
|
746
|
+
await executeKill(config, issueName, options);
|
|
747
|
+
return;
|
|
748
|
+
case 'resume':
|
|
749
|
+
logger.blank();
|
|
750
|
+
logger.info('To resume the existing task from a step, re-run with --resume <step> (optionally with --fix):');
|
|
751
|
+
logger.info(` hula launch ${issueName} ${planPath} --resume <step>`);
|
|
752
|
+
process.exit(0);
|
|
753
|
+
return;
|
|
754
|
+
case 'cancel':
|
|
755
|
+
default:
|
|
756
|
+
logger.info('Cancelled — no changes made.');
|
|
757
|
+
process.exit(0);
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Cancel-only path for `hula launch --kill`.
|
|
762
|
+
*
|
|
763
|
+
* Sends `{ issueName, repositoryId, conflictMode: 'kill' }` to the unified
|
|
764
|
+
* ralph-run endpoint and reports the outcome. This deliberately skips ALL
|
|
765
|
+
* launch-only work: no plan sync/upload, no Anthropic/Daytona/GitHub credential
|
|
766
|
+
* resolution or validation, no env-var collection, and no plan-file cleanup. It
|
|
767
|
+
* carries NO secrets — only the tracking name, repository id, and the API key
|
|
768
|
+
* header. The server enforces the Pro gate on every mode, so the pre-flight Pro
|
|
769
|
+
* check is retained. Ownership is enforced server-side (403); the client only
|
|
770
|
+
* surfaces the message. A no-op (nothing to cancel) is a success (exit 0).
|
|
771
|
+
*/
|
|
772
|
+
async function executeKill(config, issueName, options) {
|
|
773
|
+
logger.section('Cancel');
|
|
774
|
+
const serverUrl = options.url || config.hulaProjectUrl || HULA_PROJECT_URL;
|
|
775
|
+
const apiKey = options.apiKey || config.hulaApiKey || process.env.HULA_API_KEY;
|
|
776
|
+
if (!apiKey) {
|
|
777
|
+
logger.error('No API key configured.');
|
|
778
|
+
logger.info('Set hulaApiKey in your config or use --api-key option.');
|
|
779
|
+
logger.info('You can also set HULA_API_KEY environment variable.');
|
|
780
|
+
logger.info("Run 'hula login' to authenticate with hula-project.");
|
|
781
|
+
process.exit(1);
|
|
782
|
+
}
|
|
783
|
+
// The server gates all conflict modes (including kill) on the Pro tier.
|
|
784
|
+
const isProUser = await verifyProTier(config, serverUrl, apiKey);
|
|
785
|
+
if (!isProUser) {
|
|
786
|
+
process.exit(1);
|
|
787
|
+
}
|
|
788
|
+
const repositoryId = await resolveProject(config);
|
|
789
|
+
const endpoint = `${serverUrl.replace(/\/$/, '')}/api/v1/ralph-run`;
|
|
790
|
+
const requestBody = buildKillRequestBody(issueName, repositoryId);
|
|
791
|
+
logger.info('Stopping in-flight task...');
|
|
792
|
+
logger.log(` Issue Name: ${issueName}`);
|
|
793
|
+
logger.log(` Server: ${serverUrl}`);
|
|
794
|
+
logger.blank();
|
|
795
|
+
try {
|
|
796
|
+
const response = await axios.post(endpoint, requestBody, {
|
|
797
|
+
headers: {
|
|
798
|
+
'Content-Type': 'application/json',
|
|
799
|
+
Authorization: `Bearer ${apiKey}`,
|
|
800
|
+
},
|
|
801
|
+
timeout: 30000, // 30 second timeout
|
|
802
|
+
});
|
|
803
|
+
const data = response.data;
|
|
804
|
+
if (data.killed) {
|
|
805
|
+
logger.success(data.message || `Cancelled '${issueName}'`);
|
|
806
|
+
}
|
|
574
807
|
else {
|
|
575
|
-
|
|
808
|
+
// No active task to cancel is a success, not an error — exit 0.
|
|
809
|
+
logger.info(data.message || `No active task to cancel for '${issueName}'`);
|
|
576
810
|
}
|
|
811
|
+
}
|
|
812
|
+
catch (error) {
|
|
813
|
+
handleLaunchAxiosError(error, serverUrl, issueName, undefined);
|
|
577
814
|
process.exit(1);
|
|
578
815
|
}
|
|
579
816
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# hula-launch-run.sh — Step 4 of the hula.launch workflow
|
|
3
|
-
# Usage: bash .github/scripts/hula-launch-run.sh <plan-path> <branch-name> [--handoff <username>] [--test]
|
|
3
|
+
# Usage: bash .github/scripts/hula-launch-run.sh <plan-path> <branch-name> [--handoff <username>] [--test] [--kill] [--kill-and-relaunch]
|
|
4
|
+
# bash .github/scripts/hula-launch-run.sh <branch-name> --kill # cancel only; no plan path required
|
|
4
5
|
#
|
|
5
6
|
# Performs: hula launch (which handles plan upload automatically)
|
|
6
7
|
# Outputs structured JSON to stdout; all other output goes to stderr.
|
|
@@ -37,6 +38,8 @@ PLAN_PATH=''
|
|
|
37
38
|
BRANCH_NAME=''
|
|
38
39
|
HANDOFF=''
|
|
39
40
|
TEST=''
|
|
41
|
+
KILL=''
|
|
42
|
+
KILL_AND_RELAUNCH=''
|
|
40
43
|
|
|
41
44
|
while [[ $# -gt 0 ]]; do
|
|
42
45
|
case "$1" in
|
|
@@ -46,6 +49,10 @@ while [[ $# -gt 0 ]]; do
|
|
|
46
49
|
HANDOFF="${1#--handoff=}"; shift ;;
|
|
47
50
|
--test)
|
|
48
51
|
TEST=1; shift ;;
|
|
52
|
+
--kill)
|
|
53
|
+
KILL=1; shift ;;
|
|
54
|
+
--kill-and-relaunch)
|
|
55
|
+
KILL_AND_RELAUNCH=1; shift ;;
|
|
49
56
|
*)
|
|
50
57
|
if [[ -z "$PLAN_PATH" ]]; then
|
|
51
58
|
PLAN_PATH="$1"
|
|
@@ -58,28 +65,60 @@ while [[ $# -gt 0 ]]; do
|
|
|
58
65
|
esac
|
|
59
66
|
done
|
|
60
67
|
|
|
61
|
-
if [[ -
|
|
62
|
-
die 1 "
|
|
68
|
+
if [[ -n "$KILL" && -n "$KILL_AND_RELAUNCH" ]]; then
|
|
69
|
+
die 1 "--kill and --kill-and-relaunch cannot be used together"
|
|
63
70
|
fi
|
|
64
71
|
|
|
65
|
-
|
|
66
|
-
|
|
72
|
+
if [[ -n "$KILL" ]]; then
|
|
73
|
+
# kill needs ONLY the branch name. Accept either "<branch-name> --kill" (a
|
|
74
|
+
# single positional) or "<plan-path> <branch-name> --kill" (the plan path is
|
|
75
|
+
# ignored — kill sends none). When only one positional was given it lands in
|
|
76
|
+
# PLAN_PATH, so re-home it as the branch name.
|
|
77
|
+
if [[ -z "$BRANCH_NAME" ]]; then
|
|
78
|
+
BRANCH_NAME="$PLAN_PATH"
|
|
79
|
+
PLAN_PATH=''
|
|
80
|
+
fi
|
|
81
|
+
if [[ -z "$BRANCH_NAME" ]]; then
|
|
82
|
+
die 1 "Usage: bash .github/scripts/hula-launch-run.sh <branch-name> --kill"
|
|
83
|
+
fi
|
|
84
|
+
else
|
|
85
|
+
if [[ -z "$PLAN_PATH" || -z "$BRANCH_NAME" ]]; then
|
|
86
|
+
die 1 "Usage: bash .github/scripts/hula-launch-run.sh <plan-path> <branch-name> [--handoff <username>] [--test] [--kill-and-relaunch]"
|
|
87
|
+
fi
|
|
88
|
+
fi
|
|
89
|
+
|
|
90
|
+
# Reject paths with directory traversal sequences (only when a plan is in play)
|
|
91
|
+
if [[ -n "$PLAN_PATH" ]] && printf '%s' "$PLAN_PATH" | grep -q '\.\.'; then
|
|
67
92
|
die 1 "Invalid plan path (path traversal not allowed): ${PLAN_PATH}"
|
|
68
93
|
fi
|
|
69
94
|
|
|
70
95
|
# ── Step 4: Run hula launch ─────────────────────────────────────────────────
|
|
71
96
|
|
|
72
|
-
|
|
97
|
+
if [[ -n "$KILL" ]]; then
|
|
98
|
+
printf '🛑 Stopping in-flight task for branch: %s\n' "$BRANCH_NAME" >&2
|
|
99
|
+
else
|
|
100
|
+
printf '🚀 Launching issue from plan: %s\n' "$PLAN_PATH" >&2
|
|
101
|
+
fi
|
|
73
102
|
|
|
74
|
-
# Build the launch invocation as an args array so
|
|
75
|
-
#
|
|
76
|
-
|
|
103
|
+
# Build the launch invocation as an args array so the flags compose without
|
|
104
|
+
# combinatorial if/else branching. Branch name is always first; the plan path is
|
|
105
|
+
# a positional appended only when present (a bare --kill sends no plan path).
|
|
106
|
+
LAUNCH_ARGS=("$BRANCH_NAME")
|
|
107
|
+
if [[ -n "$PLAN_PATH" && -z "$KILL" ]]; then
|
|
108
|
+
LAUNCH_ARGS+=("$PLAN_PATH")
|
|
109
|
+
fi
|
|
77
110
|
if [[ -n "$HANDOFF" ]]; then
|
|
78
111
|
LAUNCH_ARGS+=(--handoff "$HANDOFF")
|
|
79
112
|
fi
|
|
80
113
|
if [[ -n "$TEST" ]]; then
|
|
81
114
|
LAUNCH_ARGS+=(--test)
|
|
82
115
|
fi
|
|
116
|
+
if [[ -n "$KILL" ]]; then
|
|
117
|
+
LAUNCH_ARGS+=(--kill)
|
|
118
|
+
fi
|
|
119
|
+
if [[ -n "$KILL_AND_RELAUNCH" ]]; then
|
|
120
|
+
LAUNCH_ARGS+=(--kill-and-relaunch)
|
|
121
|
+
fi
|
|
83
122
|
LAUNCH_OUTPUT=$(hula launch "${LAUNCH_ARGS[@]}" 2>&1) \
|
|
84
123
|
|| die 2 "Launch failed: $LAUNCH_OUTPUT"
|
|
85
124
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: hula-launch
|
|
3
3
|
description: Launch a GitHub issue from the current plan. Use when the user asks to launch or assign the plan to a remote agent.
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
argument-hint: <branch-name> [<plan-path>] [--handoff <username>] [--test]
|
|
5
|
+
argument-hint: <branch-name> [<plan-path>] [--handoff <username>] [--test] [--kill] [--kill-and-relaunch]
|
|
6
6
|
allowed-tools: Bash Read
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -15,26 +15,35 @@ From `$ARGUMENTS`:
|
|
|
15
15
|
- **Plan path** (optional): the second word, if present (e.g., `.hublaunch/plans/2026-06-10-14:00-feature-auth.md`).
|
|
16
16
|
- **--handoff** (optional): a `--handoff <username>` flag anywhere in `$ARGUMENTS`.
|
|
17
17
|
- **--test** (optional): the bare flag `--test`, anywhere in `$ARGUMENTS`. Sets test mode (server uses a mock Claude — fast E2E run; a real PR is still created).
|
|
18
|
+
- **--kill** (optional): the bare flag `--kill`, anywhere in `$ARGUMENTS`. Stops the in-flight task for this branch name **without** relaunching. A plan path is **not** required with `--kill` — the branch name alone is enough.
|
|
19
|
+
- **--kill-and-relaunch** (optional): the bare flag `--kill-and-relaunch`, anywhere in `$ARGUMENTS`. Cancels the in-flight task, resets stale state, and launches a fresh task (needs a plan path, like a normal launch).
|
|
20
|
+
|
|
21
|
+
`--kill` and `--kill-and-relaunch` are mutually exclusive; if the user passes both, stop with:
|
|
22
|
+
```
|
|
23
|
+
❌ --kill and --kill-and-relaunch cannot be used together.
|
|
24
|
+
```
|
|
18
25
|
|
|
19
26
|
If no branch name is provided, stop with:
|
|
20
27
|
```
|
|
21
|
-
❌ Branch name required. Usage: /hula-launch <branch-name> [<plan-path>] [--handoff <username>] [--test]
|
|
28
|
+
❌ Branch name required. Usage: /hula-launch <branch-name> [<plan-path>] [--handoff <username>] [--test] [--kill] [--kill-and-relaunch]
|
|
22
29
|
```
|
|
23
30
|
|
|
31
|
+
**Plan path resolution** (skip entirely when `--kill` is set — a bare kill needs only the branch name):
|
|
32
|
+
|
|
24
33
|
If no plan path was given in `$ARGUMENTS`, look in the current chat history for the HTML comment:
|
|
25
34
|
```
|
|
26
35
|
<!-- hula-plan: <path> -->
|
|
27
36
|
```
|
|
28
37
|
Use the path from the most recent such comment.
|
|
29
38
|
|
|
30
|
-
If no plan path is found in `$ARGUMENTS` or chat history, stop with:
|
|
39
|
+
If no plan path is found in `$ARGUMENTS` or chat history (and `--kill` is not set), stop with:
|
|
31
40
|
```
|
|
32
41
|
❌ No plan found in this chat. Run /hula-plan first, or pass the plan path as the second argument.
|
|
33
42
|
```
|
|
34
43
|
|
|
35
44
|
## Step 2: Run the launch script
|
|
36
45
|
|
|
37
|
-
With
|
|
46
|
+
With the values known, run exactly one Bash command.
|
|
38
47
|
|
|
39
48
|
Without handoff:
|
|
40
49
|
```bash
|
|
@@ -58,11 +67,31 @@ bash .github/scripts/hula-launch-run.sh <plan-path> <branch-name> --handoff <use
|
|
|
58
67
|
|
|
59
68
|
Append `--test` whenever the user passed it; it composes with `--handoff`.
|
|
60
69
|
|
|
70
|
+
**Stop the in-flight task without relaunching (`--kill`)** — pass only the branch name (no plan path):
|
|
71
|
+
```bash
|
|
72
|
+
bash .github/scripts/hula-launch-run.sh <branch-name> --kill
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Kill the in-flight task and relaunch fresh (`--kill-and-relaunch`)** — needs a plan path, like a normal launch, and composes with `--handoff`/`--test`:
|
|
76
|
+
```bash
|
|
77
|
+
bash .github/scripts/hula-launch-run.sh <plan-path> <branch-name> --kill-and-relaunch
|
|
78
|
+
```
|
|
79
|
+
|
|
61
80
|
## Step 3: Show the result
|
|
62
81
|
|
|
63
82
|
Parse the JSON output from the script:
|
|
64
83
|
- If `status` is `"error"`, display `❌ Launch failed: <message>` and stop.
|
|
65
|
-
- If `status` is `"success"
|
|
84
|
+
- If `status` is `"success"` **and this was a `--kill` (cancel-only) run** — indicated by an empty `issueNumber` — there is no new issue/PR. Display a cancel summary instead of the launch template:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
🛑 Kill request sent for branch `<branchName>`
|
|
88
|
+
|
|
89
|
+
<cliOutput>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The `cliOutput` already says whether a task was cancelled (`Cancelled '<branch>'`) or there was nothing to cancel (`No active task to cancel for '<branch>'`). Do **not** emit a `hula-issue` comment for a pure kill.
|
|
93
|
+
|
|
94
|
+
- Otherwise (`status` is `"success"` with a non-empty `issueNumber` — a normal launch or `--kill-and-relaunch`), display:
|
|
66
95
|
|
|
67
96
|
```
|
|
68
97
|
✅ Launched issue #<issueNumber> on branch `<branchName>`
|
package/package.json
CHANGED