@viraatdas/rudder 0.1.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/dist/main.js ADDED
@@ -0,0 +1,303 @@
1
+ import { authStoreExists, runDoctor, runOnboard } from "./auth.js";
2
+ import { cleanupRuns, listProjectRuns, mergeRun, printLogs, startRun, statusRuns, stopRun, watchRun, workerRun, } from "./run-manager.js";
3
+ import { isTty } from "./util.js";
4
+ export async function main() {
5
+ const parsed = parseArgs(process.argv.slice(2));
6
+ if (parsed.flags.cwd) {
7
+ process.chdir(parsed.flags.cwd);
8
+ }
9
+ if (!parsed.command || parsed.flags.help) {
10
+ if (!parsed.command && parsed.args.length > 0) {
11
+ await maybeOnboard();
12
+ await startRun({
13
+ task: parsed.args.join(" "),
14
+ backend: parsed.flags.backend,
15
+ model: parsed.flags.model,
16
+ detach: parsed.flags.detach,
17
+ worktree: parsed.flags.worktree,
18
+ queue: parsed.flags.queue,
19
+ json: parsed.flags.json,
20
+ });
21
+ return;
22
+ }
23
+ printHelp();
24
+ return;
25
+ }
26
+ switch (parsed.command) {
27
+ case "__worker": {
28
+ const repo = parsed.flags.repo;
29
+ const run = parsed.flags.run;
30
+ if (!repo || !run) {
31
+ throw new Error("__worker requires --repo and --run");
32
+ }
33
+ await workerRun(repo, run);
34
+ return;
35
+ }
36
+ case "onboard":
37
+ await runOnboard({
38
+ nonInteractive: parsed.flags.nonInteractive,
39
+ json: parsed.flags.json,
40
+ });
41
+ return;
42
+ case "doctor":
43
+ await runDoctor({ json: parsed.flags.json });
44
+ return;
45
+ case "run": {
46
+ await maybeOnboard();
47
+ const task = parsed.args.join(" ").trim();
48
+ if (!task) {
49
+ throw new Error("Missing task. Usage: rudder run \"fix the tests\"");
50
+ }
51
+ await startRun({
52
+ task,
53
+ backend: parsed.flags.backend,
54
+ model: parsed.flags.model,
55
+ detach: parsed.flags.detach,
56
+ worktree: parsed.flags.worktree,
57
+ queue: parsed.flags.queue,
58
+ json: parsed.flags.json,
59
+ });
60
+ return;
61
+ }
62
+ case "claude":
63
+ case "codex": {
64
+ await maybeOnboard();
65
+ const task = parsed.args.join(" ").trim();
66
+ if (!task) {
67
+ throw new Error(`Missing task. Usage: rudder ${parsed.command} "fix the tests"`);
68
+ }
69
+ await startRun({
70
+ task,
71
+ backend: parsed.command,
72
+ model: parsed.flags.model,
73
+ detach: parsed.flags.detach,
74
+ worktree: parsed.flags.worktree,
75
+ queue: parsed.flags.queue,
76
+ json: parsed.flags.json,
77
+ });
78
+ return;
79
+ }
80
+ case "acpx": {
81
+ await maybeOnboard();
82
+ const args = parsed.args[0] === "codex" ? parsed.args.slice(1) : parsed.args;
83
+ const task = args.join(" ").trim();
84
+ if (!task) {
85
+ throw new Error('Missing task. Usage: rudder acpx codex "fix the tests"');
86
+ }
87
+ await startRun({
88
+ task,
89
+ backend: "acpx",
90
+ model: parsed.flags.model,
91
+ detach: parsed.flags.detach,
92
+ worktree: parsed.flags.worktree,
93
+ queue: parsed.flags.queue,
94
+ json: parsed.flags.json,
95
+ });
96
+ return;
97
+ }
98
+ case "watch":
99
+ await watchRun({ runId: parsed.args[0], follow: true });
100
+ return;
101
+ case "logs":
102
+ await printLogs(parsed.args[0], Boolean(parsed.flags.follow));
103
+ return;
104
+ case "status":
105
+ await statusRuns({ json: parsed.flags.json });
106
+ return;
107
+ case "runs":
108
+ await listProjectRuns({ json: parsed.flags.json });
109
+ return;
110
+ case "stop": {
111
+ const run = parsed.args[0];
112
+ if (!run) {
113
+ throw new Error("Missing run id.");
114
+ }
115
+ await stopRun(run);
116
+ return;
117
+ }
118
+ case "merge": {
119
+ const run = parsed.args[0];
120
+ if (!run) {
121
+ throw new Error("Missing run id.");
122
+ }
123
+ await mergeRun(run, Boolean(parsed.flags.allowDirty));
124
+ return;
125
+ }
126
+ case "cleanup":
127
+ await cleanupRuns(Boolean(parsed.flags.force));
128
+ return;
129
+ default: {
130
+ await maybeOnboard();
131
+ await startRun({
132
+ task: [parsed.command, ...parsed.args].join(" "),
133
+ backend: parsed.flags.backend,
134
+ model: parsed.flags.model,
135
+ detach: parsed.flags.detach,
136
+ worktree: parsed.flags.worktree,
137
+ queue: parsed.flags.queue,
138
+ json: parsed.flags.json,
139
+ });
140
+ }
141
+ }
142
+ }
143
+ function parseArgs(argv) {
144
+ const parsed = { args: [], flags: {} };
145
+ for (let i = 0; i < argv.length; i += 1) {
146
+ const arg = argv[i] ?? "";
147
+ if (arg === "--") {
148
+ parsed.args.push(...argv.slice(i + 1));
149
+ break;
150
+ }
151
+ if (arg === "--help" || arg === "-h") {
152
+ parsed.flags.help = true;
153
+ continue;
154
+ }
155
+ if (arg === "--json") {
156
+ parsed.flags.json = true;
157
+ continue;
158
+ }
159
+ if (arg === "--quiet" || arg === "-q") {
160
+ parsed.flags.quiet = true;
161
+ continue;
162
+ }
163
+ if (arg === "--detach" || arg === "-d") {
164
+ parsed.flags.detach = true;
165
+ continue;
166
+ }
167
+ if (arg === "--watch") {
168
+ parsed.flags.watch = true;
169
+ continue;
170
+ }
171
+ if (arg === "--follow" || arg === "-f") {
172
+ parsed.flags.follow = true;
173
+ continue;
174
+ }
175
+ if (arg === "--worktree") {
176
+ parsed.flags.worktree = true;
177
+ continue;
178
+ }
179
+ if (arg === "--queue") {
180
+ parsed.flags.queue = true;
181
+ continue;
182
+ }
183
+ if (arg === "--allow-dirty") {
184
+ parsed.flags.allowDirty = true;
185
+ continue;
186
+ }
187
+ if (arg === "--force") {
188
+ parsed.flags.force = true;
189
+ continue;
190
+ }
191
+ if (arg === "--non-interactive") {
192
+ parsed.flags.nonInteractive = true;
193
+ continue;
194
+ }
195
+ if (takesValue(arg, "--model", "-m")) {
196
+ parsed.flags.model = readValue(argv, ++i, arg);
197
+ continue;
198
+ }
199
+ if (takesValue(arg, "--backend", "-b")) {
200
+ parsed.flags.backend = normalizeBackend(readValue(argv, ++i, arg));
201
+ continue;
202
+ }
203
+ if (takesValue(arg, "--cwd", "-C")) {
204
+ parsed.flags.cwd = readValue(argv, ++i, arg);
205
+ continue;
206
+ }
207
+ if (takesValue(arg, "--repo")) {
208
+ parsed.flags.repo = readValue(argv, ++i, arg);
209
+ continue;
210
+ }
211
+ if (takesValue(arg, "--run")) {
212
+ parsed.flags.run = readValue(argv, ++i, arg);
213
+ continue;
214
+ }
215
+ if (arg.startsWith("--model=")) {
216
+ parsed.flags.model = arg.slice("--model=".length);
217
+ continue;
218
+ }
219
+ if (arg.startsWith("--backend=")) {
220
+ parsed.flags.backend = normalizeBackend(arg.slice("--backend=".length));
221
+ continue;
222
+ }
223
+ if (arg.startsWith("--cwd=")) {
224
+ parsed.flags.cwd = arg.slice("--cwd=".length);
225
+ continue;
226
+ }
227
+ if (arg.startsWith("--repo=")) {
228
+ parsed.flags.repo = arg.slice("--repo=".length);
229
+ continue;
230
+ }
231
+ if (arg.startsWith("--run=")) {
232
+ parsed.flags.run = arg.slice("--run=".length);
233
+ continue;
234
+ }
235
+ if (!parsed.command && !arg.startsWith("-")) {
236
+ parsed.command = arg;
237
+ continue;
238
+ }
239
+ parsed.args.push(arg);
240
+ }
241
+ return parsed;
242
+ }
243
+ function takesValue(arg, ...names) {
244
+ return names.includes(arg);
245
+ }
246
+ function readValue(argv, index, flag) {
247
+ const value = argv[index];
248
+ if (!value) {
249
+ throw new Error(`${flag} requires a value`);
250
+ }
251
+ return value;
252
+ }
253
+ function normalizeBackend(value) {
254
+ if (value === "claude" || value === "codex" || value === "acpx") {
255
+ return value;
256
+ }
257
+ throw new Error(`Unknown backend: ${value}`);
258
+ }
259
+ async function maybeOnboard() {
260
+ if (await authStoreExists()) {
261
+ return;
262
+ }
263
+ if (!isTty()) {
264
+ await runOnboard({ nonInteractive: true });
265
+ return;
266
+ }
267
+ await runOnboard();
268
+ }
269
+ function printHelp() {
270
+ console.log(`rudder
271
+
272
+ Usage:
273
+ rudder "task"
274
+ rudder run [options] "task"
275
+ rudder claude [options] "task"
276
+ rudder codex [options] "task"
277
+ rudder acpx codex [options] "task"
278
+
279
+ Run management:
280
+ rudder watch [run] Attach to live output
281
+ rudder logs [run] [--follow] Print saved output
282
+ rudder status [--json] Show active runs for this repo
283
+ rudder runs [--json] List runs for this repo
284
+ rudder stop <run> Cancel a run
285
+ rudder merge <run> Merge a worktree run into current branch
286
+ rudder cleanup [--force] Remove merged worktrees
287
+
288
+ Setup:
289
+ rudder onboard
290
+ rudder doctor [--json]
291
+
292
+ Options:
293
+ -d, --detach Start in background
294
+ --worktree Always isolate in a git worktree
295
+ --queue Queue mode (reserved)
296
+ -m, --model <model> Backend model
297
+ -b, --backend <backend> claude, codex, or acpx
298
+ -C, --cwd <dir> Run from another directory
299
+ --json Machine-readable output
300
+ --allow-dirty Allow merge into dirty target branch
301
+ `);
302
+ }
303
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { BackendId } from "./types.js";
2
+ export declare function startRun(params: {
3
+ task: string;
4
+ backend?: BackendId;
5
+ model?: string;
6
+ detach?: boolean;
7
+ worktree?: boolean;
8
+ queue?: boolean;
9
+ json?: boolean;
10
+ }): Promise<void>;
11
+ export declare function workerRun(repoRoot: string, runId: string): Promise<void>;
12
+ export declare function statusRuns(options?: {
13
+ json?: boolean;
14
+ }): Promise<void>;
15
+ export declare function listProjectRuns(options?: {
16
+ json?: boolean;
17
+ }): Promise<void>;
18
+ export declare function watchRun(params: {
19
+ repoRoot?: string;
20
+ runId?: string;
21
+ follow?: boolean;
22
+ }): Promise<void>;
23
+ export declare function printLogs(runId?: string, follow?: boolean): Promise<void>;
24
+ export declare function stopRun(runId: string): Promise<void>;
25
+ export declare function mergeRun(runId: string, allowDirty?: boolean): Promise<void>;
26
+ export declare function cleanupRuns(force?: boolean): Promise<void>;