@viraatdas/rudder 2.10.8 → 2.10.10
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/native/rudder-native +0 -0
- package/package.json +3 -2
- package/dist/hooks.d.ts +0 -6
- package/dist/hooks.js +0 -203
- package/dist/hooks.js.map +0 -1
- package/dist/recipes.d.ts +0 -11
- package/dist/recipes.js +0 -212
- package/dist/recipes.js.map +0 -1
- package/dist/repl.d.ts +0 -7
- package/dist/repl.js +0 -241
- package/dist/repl.js.map +0 -1
- package/dist/routines.d.ts +0 -9
- package/dist/routines.js +0 -153
- package/dist/routines.js.map +0 -1
- package/dist/tmux-dashboard.d.ts +0 -10
- package/dist/tmux-dashboard.js +0 -890
- package/dist/tmux-dashboard.js.map +0 -1
- package/dist/tmux-state.d.ts +0 -18
- package/dist/tmux-state.js +0 -23
- package/dist/tmux-state.js.map +0 -1
- package/dist/tmux.d.ts +0 -39
- package/dist/tmux.js +0 -193
- package/dist/tmux.js.map +0 -1
- package/dist/tui.d.ts +0 -9
- package/dist/tui.js +0 -1443
- package/dist/tui.js.map +0 -1
package/dist/repl.js
DELETED
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
import readline from "node:readline/promises";
|
|
2
|
-
import { stdin as input, stdout as output } from "node:process";
|
|
3
|
-
import { runDoctor } from "./auth.js";
|
|
4
|
-
import { currentBranch, findRepoRoot } from "./git.js";
|
|
5
|
-
import { cleanupRuns, listProjectRuns, mergeRun, printLogs, startRun, statusRuns, stopRun, syncRun, watchRun, } from "./run-manager.js";
|
|
6
|
-
import { loadConfig, rememberBackendSelection } from "./state.js";
|
|
7
|
-
import { shortenHome } from "./util.js";
|
|
8
|
-
export async function runInteractiveShell(defaults) {
|
|
9
|
-
const config = await loadConfig();
|
|
10
|
-
const backend = defaults?.backend ?? config.lastUsedBackend ?? config.defaultBackend;
|
|
11
|
-
const state = {
|
|
12
|
-
backend,
|
|
13
|
-
model: defaults?.model ?? modelForBackend(backend, config),
|
|
14
|
-
worktree: defaults?.worktree ? "always" : "auto",
|
|
15
|
-
detach: Boolean(defaults?.detach),
|
|
16
|
-
};
|
|
17
|
-
const repoRoot = findRepoRoot();
|
|
18
|
-
const branch = await currentBranch(repoRoot);
|
|
19
|
-
console.log("rudder");
|
|
20
|
-
console.log(`${shortenHome(repoRoot)}${branch ? ` ${branch}` : ""} ${formatBackend(state)} worktree:${state.worktree}`);
|
|
21
|
-
console.log("Type a task. /help for commands. Ctrl-C detaches while watching.");
|
|
22
|
-
const rl = readline.createInterface({ input, output });
|
|
23
|
-
try {
|
|
24
|
-
while (true) {
|
|
25
|
-
const line = await rl.question(`${promptLabel(state)} `).catch((error) => {
|
|
26
|
-
if (isReadlineClosed(error)) {
|
|
27
|
-
return "/exit";
|
|
28
|
-
}
|
|
29
|
-
throw error;
|
|
30
|
-
});
|
|
31
|
-
const trimmed = line.trim();
|
|
32
|
-
if (!trimmed) {
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (trimmed.startsWith("/")) {
|
|
36
|
-
const shouldExit = await handleSlashCommand(trimmed, state);
|
|
37
|
-
if (shouldExit) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
await runTaskFromShell(trimmed, state);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
finally {
|
|
46
|
-
rl.close();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async function handleSlashCommand(line, state) {
|
|
50
|
-
const [command = "", ...args] = line.slice(1).trim().split(/\s+/).filter(Boolean);
|
|
51
|
-
switch (command) {
|
|
52
|
-
case "?":
|
|
53
|
-
case "help":
|
|
54
|
-
printShellHelp();
|
|
55
|
-
return false;
|
|
56
|
-
case "exit":
|
|
57
|
-
case "quit":
|
|
58
|
-
case "q":
|
|
59
|
-
return true;
|
|
60
|
-
case "backend":
|
|
61
|
-
if (setBackend(state, args[0])) {
|
|
62
|
-
await rememberBackendSelection({ backend: state.backend });
|
|
63
|
-
}
|
|
64
|
-
return false;
|
|
65
|
-
case "model":
|
|
66
|
-
state.model = args.join(" ") || undefined;
|
|
67
|
-
await rememberBackendSelection({
|
|
68
|
-
backend: state.backend,
|
|
69
|
-
model: state.model,
|
|
70
|
-
updateModel: true,
|
|
71
|
-
});
|
|
72
|
-
console.log(`model: ${state.model || "(backend default)"}`);
|
|
73
|
-
return false;
|
|
74
|
-
case "worktree":
|
|
75
|
-
setWorktree(state, args[0]);
|
|
76
|
-
return false;
|
|
77
|
-
case "detach":
|
|
78
|
-
state.detach = parseOnOff(args[0], !state.detach);
|
|
79
|
-
console.log(`watch: ${state.detach ? "off" : "on"}`);
|
|
80
|
-
return false;
|
|
81
|
-
case "status":
|
|
82
|
-
await statusRuns();
|
|
83
|
-
return false;
|
|
84
|
-
case "runs":
|
|
85
|
-
await listProjectRuns();
|
|
86
|
-
return false;
|
|
87
|
-
case "watch":
|
|
88
|
-
await watchFromShell(args[0]);
|
|
89
|
-
return false;
|
|
90
|
-
case "logs":
|
|
91
|
-
await printLogs(args[0], args.includes("--follow") || args.includes("-f"));
|
|
92
|
-
return false;
|
|
93
|
-
case "stop":
|
|
94
|
-
if (!args[0]) {
|
|
95
|
-
console.log("usage: /stop <run>");
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
await stopRun(args[0]);
|
|
99
|
-
return false;
|
|
100
|
-
case "merge":
|
|
101
|
-
if (!args[0]) {
|
|
102
|
-
console.log("usage: /merge <run>");
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
await mergeRun(args[0], args.includes("--allow-dirty"));
|
|
106
|
-
return false;
|
|
107
|
-
case "sync":
|
|
108
|
-
await syncRun(args[0]);
|
|
109
|
-
return false;
|
|
110
|
-
case "cleanup":
|
|
111
|
-
await cleanupRuns(args.includes("--force"));
|
|
112
|
-
return false;
|
|
113
|
-
case "doctor":
|
|
114
|
-
await runDoctor();
|
|
115
|
-
return false;
|
|
116
|
-
case "clear":
|
|
117
|
-
process.stdout.write("\x1Bc");
|
|
118
|
-
return false;
|
|
119
|
-
default:
|
|
120
|
-
console.log(`Unknown command: /${command}`);
|
|
121
|
-
console.log("Type /help for commands.");
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
async function runTaskFromShell(task, state) {
|
|
126
|
-
const controller = new AbortController();
|
|
127
|
-
let detachedBySignal = false;
|
|
128
|
-
const onSigint = () => {
|
|
129
|
-
detachedBySignal = true;
|
|
130
|
-
controller.abort();
|
|
131
|
-
console.log("\n[rudder] detached. Run continues in the background.");
|
|
132
|
-
};
|
|
133
|
-
process.once("SIGINT", onSigint);
|
|
134
|
-
try {
|
|
135
|
-
await startRun({
|
|
136
|
-
task,
|
|
137
|
-
backend: state.backend,
|
|
138
|
-
model: state.model,
|
|
139
|
-
detach: state.detach,
|
|
140
|
-
worktree: state.worktree === "always",
|
|
141
|
-
exitOnComplete: false,
|
|
142
|
-
watchSignal: controller.signal,
|
|
143
|
-
quiet: true,
|
|
144
|
-
view: "shell",
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
finally {
|
|
148
|
-
process.off("SIGINT", onSigint);
|
|
149
|
-
}
|
|
150
|
-
if (state.detach || detachedBySignal) {
|
|
151
|
-
console.log("[rudder] use /status, /watch, or /logs to follow up.");
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
async function watchFromShell(runId) {
|
|
155
|
-
const controller = new AbortController();
|
|
156
|
-
const onSigint = () => {
|
|
157
|
-
controller.abort();
|
|
158
|
-
console.log("\n[rudder] detached from watch.");
|
|
159
|
-
};
|
|
160
|
-
process.once("SIGINT", onSigint);
|
|
161
|
-
try {
|
|
162
|
-
await watchRun({ runId, follow: true, exitOnComplete: false, signal: controller.signal, view: "shell" });
|
|
163
|
-
}
|
|
164
|
-
finally {
|
|
165
|
-
process.off("SIGINT", onSigint);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
function setBackend(state, value) {
|
|
169
|
-
if (value !== "claude" && value !== "codex" && value !== "acpx") {
|
|
170
|
-
console.log("usage: /backend claude|codex|acpx");
|
|
171
|
-
return false;
|
|
172
|
-
}
|
|
173
|
-
state.backend = value;
|
|
174
|
-
state.model = undefined;
|
|
175
|
-
console.log(`backend: ${formatBackend(state)}`);
|
|
176
|
-
return true;
|
|
177
|
-
}
|
|
178
|
-
function setWorktree(state, value) {
|
|
179
|
-
if (value === "auto" || value === undefined) {
|
|
180
|
-
state.worktree = "auto";
|
|
181
|
-
}
|
|
182
|
-
else if (value === "always" || value === "on") {
|
|
183
|
-
state.worktree = "always";
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
console.log("usage: /worktree auto|always");
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
console.log(`worktree: ${state.worktree}`);
|
|
190
|
-
}
|
|
191
|
-
function parseOnOff(value, fallback) {
|
|
192
|
-
if (!value) {
|
|
193
|
-
return fallback;
|
|
194
|
-
}
|
|
195
|
-
if (["on", "yes", "true", "1"].includes(value.toLowerCase())) {
|
|
196
|
-
return true;
|
|
197
|
-
}
|
|
198
|
-
if (["off", "no", "false", "0"].includes(value.toLowerCase())) {
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
return fallback;
|
|
202
|
-
}
|
|
203
|
-
function printShellHelp() {
|
|
204
|
-
console.log(`Commands:
|
|
205
|
-
/backend claude|codex|acpx Choose worker backend
|
|
206
|
-
/model <model> Set model for new tasks
|
|
207
|
-
/worktree auto|always Isolate runs in worktrees/workspaces
|
|
208
|
-
/detach on|off Start tasks without watching output
|
|
209
|
-
/status Show active runs
|
|
210
|
-
/runs List recent runs
|
|
211
|
-
/watch [run] Attach to a run
|
|
212
|
-
/logs [run] [--follow] Print saved output
|
|
213
|
-
/stop <run> Cancel a run
|
|
214
|
-
/merge <run> Merge a worktree run
|
|
215
|
-
/sync [run] Rebase a worktree onto its base branch; conflicts stay in that worktree
|
|
216
|
-
/cleanup [--force] Remove merged worktrees
|
|
217
|
-
/doctor Check local tools and auth
|
|
218
|
-
/exit Leave the shell
|
|
219
|
-
|
|
220
|
-
Type any non-command line to start a task.`);
|
|
221
|
-
}
|
|
222
|
-
function promptLabel(state) {
|
|
223
|
-
void state;
|
|
224
|
-
return ">";
|
|
225
|
-
}
|
|
226
|
-
function formatBackend(state) {
|
|
227
|
-
return `${state.backend}${state.model ? ` (${state.model})` : ""}`;
|
|
228
|
-
}
|
|
229
|
-
function modelForBackend(backend, config) {
|
|
230
|
-
if (backend === "claude") {
|
|
231
|
-
return config.backends.claude?.model;
|
|
232
|
-
}
|
|
233
|
-
if (backend === "codex") {
|
|
234
|
-
return config.backends.codex?.model;
|
|
235
|
-
}
|
|
236
|
-
return config.backends.acpx?.model;
|
|
237
|
-
}
|
|
238
|
-
function isReadlineClosed(error) {
|
|
239
|
-
return error instanceof Error && error.message.includes("readline was closed");
|
|
240
|
-
}
|
|
241
|
-
//# sourceMappingURL=repl.js.map
|
package/dist/repl.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
package/dist/routines.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { RudderBus } from "./bus.js";
|
|
2
|
-
import type { RoutineDefinition, RoutineState } from "./types.js";
|
|
3
|
-
export declare function routinesConfigPath(repoRoot: string): string;
|
|
4
|
-
export declare function routinesStatePath(repoRoot: string): string;
|
|
5
|
-
export declare function loadRoutines(repoRoot: string): Promise<RoutineDefinition[]>;
|
|
6
|
-
export declare function loadRoutineState(repoRoot: string): Promise<RoutineState>;
|
|
7
|
-
export declare function saveRoutineState(repoRoot: string, state: RoutineState): Promise<void>;
|
|
8
|
-
export declare function tickRoutines(repoRoot: string, bus: RudderBus): Promise<void>;
|
|
9
|
-
export declare function initRoutineTemplates(repoRoot: string): Promise<string>;
|
package/dist/routines.js
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import fsp from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { reconcileInjection } from "./scheduler.js";
|
|
4
|
-
import { loadConfig, projectStateDir } from "./state.js";
|
|
5
|
-
import { nowIso, readJson, writeJson } from "./util.js";
|
|
6
|
-
import { runRecipe } from "./recipes.js";
|
|
7
|
-
export function routinesConfigPath(repoRoot) {
|
|
8
|
-
return path.join(projectStateDir(repoRoot), "routines.json");
|
|
9
|
-
}
|
|
10
|
-
export function routinesStatePath(repoRoot) {
|
|
11
|
-
return path.join(projectStateDir(repoRoot), "routines-state.json");
|
|
12
|
-
}
|
|
13
|
-
export async function loadRoutines(repoRoot) {
|
|
14
|
-
const config = await loadConfig();
|
|
15
|
-
if (config.routines?.enabled === false) {
|
|
16
|
-
return [];
|
|
17
|
-
}
|
|
18
|
-
const raw = await readJson(routinesConfigPath(repoRoot));
|
|
19
|
-
if (!raw || raw.version !== 1 || !Array.isArray(raw.routines)) {
|
|
20
|
-
return [];
|
|
21
|
-
}
|
|
22
|
-
return raw.routines.filter(isRoutineDefinition);
|
|
23
|
-
}
|
|
24
|
-
export async function loadRoutineState(repoRoot) {
|
|
25
|
-
const state = await readJson(routinesStatePath(repoRoot));
|
|
26
|
-
if (state?.version === 1 && state.routines) {
|
|
27
|
-
return state;
|
|
28
|
-
}
|
|
29
|
-
return { version: 1, routines: {} };
|
|
30
|
-
}
|
|
31
|
-
export async function saveRoutineState(repoRoot, state) {
|
|
32
|
-
await fsp.mkdir(projectStateDir(repoRoot), { recursive: true });
|
|
33
|
-
await writeJson(routinesStatePath(repoRoot), state, { mode: 0o600 });
|
|
34
|
-
}
|
|
35
|
-
export async function tickRoutines(repoRoot, bus) {
|
|
36
|
-
const routines = await loadRoutines(repoRoot);
|
|
37
|
-
if (!routines.length) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const state = await loadRoutineState(repoRoot);
|
|
41
|
-
let changed = false;
|
|
42
|
-
const now = Date.now();
|
|
43
|
-
for (const routine of routines) {
|
|
44
|
-
const current = state.routines[routine.id] ?? { running: 0 };
|
|
45
|
-
state.routines[routine.id] = current;
|
|
46
|
-
if (routine.enabled === false) {
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
if (!routine.intervalMs || routine.intervalMs <= 0) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
const last = current.lastTriggeredAt ? Date.parse(current.lastTriggeredAt) : 0;
|
|
53
|
-
if (Number.isFinite(last) && now - last < routine.intervalMs) {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
const maxConcurrent = routine.maxConcurrent ?? 1;
|
|
57
|
-
if ((current.running ?? 0) >= maxConcurrent) {
|
|
58
|
-
bus.publish({
|
|
59
|
-
ts: nowIso(),
|
|
60
|
-
runId: "routine",
|
|
61
|
-
type: "routine.skipped",
|
|
62
|
-
message: `routine ${routine.id} skipped: already running`,
|
|
63
|
-
data: { routineId: routine.id },
|
|
64
|
-
});
|
|
65
|
-
continue;
|
|
66
|
-
}
|
|
67
|
-
current.lastTriggeredAt = nowIso();
|
|
68
|
-
current.running = (current.running ?? 0) + 1;
|
|
69
|
-
changed = true;
|
|
70
|
-
bus.publish({
|
|
71
|
-
ts: nowIso(),
|
|
72
|
-
runId: "routine",
|
|
73
|
-
type: "routine.triggered",
|
|
74
|
-
message: `routine ${routine.id} triggered`,
|
|
75
|
-
data: { routineId: routine.id },
|
|
76
|
-
});
|
|
77
|
-
void executeRoutine(repoRoot, routine, bus).finally(async () => {
|
|
78
|
-
const latest = await loadRoutineState(repoRoot);
|
|
79
|
-
const entry = latest.routines[routine.id] ?? { running: 0 };
|
|
80
|
-
entry.running = Math.max(0, (entry.running ?? 1) - 1);
|
|
81
|
-
entry.lastCompletedAt = nowIso();
|
|
82
|
-
latest.routines[routine.id] = entry;
|
|
83
|
-
await saveRoutineState(repoRoot, latest).catch(() => undefined);
|
|
84
|
-
bus.publish({
|
|
85
|
-
ts: nowIso(),
|
|
86
|
-
runId: "routine",
|
|
87
|
-
type: "routine.completed",
|
|
88
|
-
message: `routine ${routine.id} completed`,
|
|
89
|
-
data: { routineId: routine.id },
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
if (changed) {
|
|
94
|
-
await saveRoutineState(repoRoot, state);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
export async function initRoutineTemplates(repoRoot) {
|
|
98
|
-
const target = routinesConfigPath(repoRoot);
|
|
99
|
-
const config = {
|
|
100
|
-
version: 1,
|
|
101
|
-
routines: [
|
|
102
|
-
{
|
|
103
|
-
id: "daily-context-audit",
|
|
104
|
-
description: "Run a context audit reminder once a day",
|
|
105
|
-
enabled: false,
|
|
106
|
-
intervalMs: 24 * 60 * 60 * 1000,
|
|
107
|
-
action: {
|
|
108
|
-
kind: "task",
|
|
109
|
-
prompt: "Run `rudder context audit`, summarize high-severity issues, and suggest the smallest cleanup.",
|
|
110
|
-
title: "Daily context audit",
|
|
111
|
-
},
|
|
112
|
-
},
|
|
113
|
-
],
|
|
114
|
-
};
|
|
115
|
-
await fsp.mkdir(projectStateDir(repoRoot), { recursive: true });
|
|
116
|
-
await writeJson(target, config, { mode: 0o600 });
|
|
117
|
-
return target;
|
|
118
|
-
}
|
|
119
|
-
async function executeRoutine(repoRoot, routine, bus) {
|
|
120
|
-
switch (routine.action.kind) {
|
|
121
|
-
case "task":
|
|
122
|
-
await reconcileInjection(repoRoot, {
|
|
123
|
-
prompt: routine.action.prompt,
|
|
124
|
-
...(routine.action.title ? { title: routine.action.title } : {}),
|
|
125
|
-
...(routine.action.backend ? { backend: routine.action.backend } : {}),
|
|
126
|
-
...(routine.action.model ? { model: routine.action.model } : {}),
|
|
127
|
-
...(routine.action.effort ? { effort: routine.action.effort } : {}),
|
|
128
|
-
}, bus);
|
|
129
|
-
return;
|
|
130
|
-
case "recipe":
|
|
131
|
-
await runRecipe(routine.action.name, routine.action.args ?? {}, { repoRoot });
|
|
132
|
-
return;
|
|
133
|
-
case "review-all":
|
|
134
|
-
case "cloud":
|
|
135
|
-
bus.publish({
|
|
136
|
-
ts: nowIso(),
|
|
137
|
-
runId: "routine",
|
|
138
|
-
type: "routine.skipped",
|
|
139
|
-
message: `routine ${routine.id} action ${routine.action.kind} is not supported in daemon v1`,
|
|
140
|
-
data: { routineId: routine.id },
|
|
141
|
-
});
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
function isRoutineDefinition(value) {
|
|
146
|
-
const routine = value;
|
|
147
|
-
if (!routine || typeof routine.id !== "string" || !routine.id.trim() || !routine.action) {
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
const action = routine.action;
|
|
151
|
-
return action.kind === "task" || action.kind === "recipe" || action.kind === "review-all" || action.kind === "cloud";
|
|
152
|
-
}
|
|
153
|
-
//# sourceMappingURL=routines.js.map
|
package/dist/routines.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routines.js","sourceRoot":"","sources":["../src/routines.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux-dashboard.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { BackendId } from "./types.js";
|
|
2
|
-
type PaneDefaults = {
|
|
3
|
-
tmuxSessionName: string;
|
|
4
|
-
backend?: BackendId;
|
|
5
|
-
model?: string;
|
|
6
|
-
};
|
|
7
|
-
export declare function runTmuxAgentPane(defaults: PaneDefaults): Promise<void>;
|
|
8
|
-
export declare function runTmuxTaskPane(defaults: PaneDefaults): Promise<void>;
|
|
9
|
-
export declare function runTmuxWorkerIdle(defaults: PaneDefaults): Promise<void>;
|
|
10
|
-
export {};
|