fission-worker 0.1.6 → 0.2.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/docker.d.ts CHANGED
@@ -14,4 +14,9 @@ export interface PipelineJob {
14
14
  };
15
15
  githubToken?: string | null;
16
16
  }
17
+ /**
18
+ * Start a pipeline session on the host machine (no Docker).
19
+ * Clones repo to a temp workspace, runs Claude CLI directly,
20
+ * cleans up when done. Uses the host's Claude subscription auth.
21
+ */
17
22
  export declare function startSession(job: PipelineJob, config: WorkerConfig, activeSessions: Map<string, ChildProcess>): void;
package/dist/docker.js CHANGED
@@ -3,92 +3,135 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.startSession = startSession;
4
4
  const child_process_1 = require("child_process");
5
5
  const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ /**
8
+ * Start a pipeline session on the host machine (no Docker).
9
+ * Clones repo to a temp workspace, runs Claude CLI directly,
10
+ * cleans up when done. Uses the host's Claude subscription auth.
11
+ */
6
12
  function startSession(job, config, activeSessions) {
7
- const cacheDir = `${config.cacheDir}/${job.projectId}`;
8
- (0, child_process_1.execSync)(`mkdir -p ${cacheDir}`);
9
- const claudeHome = `${process.env.HOME}/.claude`;
13
+ const tag = job.sessionId.slice(0, 8);
10
14
  const repo = job.project.repos[0];
11
15
  if (!repo) {
12
- console.error(`[${job.sessionId.slice(0, 8)}] No repository found for project — skipping`);
16
+ console.error(`[${tag}] No repository found for project — skipping`);
13
17
  reportCompletion(config, job.sessionId, 1);
14
18
  return;
15
19
  }
16
- const containerName = `fission-${job.sessionId.slice(0, 8)}`;
17
- const IMAGE = "ghcr.io/junreytejas/fission-runner:latest";
18
- // Pull latest image (best-effort — use cached if offline)
19
- try {
20
- (0, child_process_1.execSync)(`docker pull ${IMAGE}`, { stdio: "pipe" });
20
+ const workspaceDir = (0, path_1.join)(config.cacheDir, "..", "workspaces", tag);
21
+ const repoDir = (0, path_1.join)(workspaceDir, "repo");
22
+ // Create workspace
23
+ (0, fs_1.mkdirSync)(workspaceDir, { recursive: true });
24
+ // Clone the repo
25
+ const gitToken = job.githubToken || config.githubToken;
26
+ let cloneUrl;
27
+ if (gitToken && repo.repoUrl.startsWith("https://")) {
28
+ cloneUrl = repo.repoUrl.replace("https://", `https://x-access-token:${gitToken}@`);
29
+ }
30
+ else if (gitToken && !repo.repoUrl.startsWith("https://")) {
31
+ cloneUrl = `https://x-access-token:${gitToken}@github.com/${repo.repoUrl}.git`;
21
32
  }
22
- catch {
23
- console.log(`[${containerName}] Using cached image`);
33
+ else {
34
+ cloneUrl = repo.repoUrl;
24
35
  }
36
+ console.log(`[${tag}] Cloning ${repo.repoUrl} (branch: ${repo.branch || "main"})...`);
25
37
  try {
26
- // Create container (no volume mounts use docker cp instead)
27
- const createArgs = [
28
- "create",
29
- "--name", containerName,
30
- "-e", `FISSION_API_URL=${config.fissionUrl}`,
31
- "-e", `FISSION_API_KEY=${config.apiKey}`,
32
- "-e", `SESSION_ID=${job.sessionId}`,
33
- "-e", `PROJECT_ID=${job.projectId}`,
34
- "-e", `REPO_URL=${repo.repoUrl}`,
35
- "-e", `REPO_BRANCH=${repo.branch || "main"}`,
36
- "-e", `GITHUB_TOKEN=${job.githubToken || config.githubToken || ""}`,
37
- IMAGE,
38
- ];
39
- (0, child_process_1.execSync)(`docker ${createArgs.join(" ")}`, { stdio: "pipe" });
40
- // Copy Claude auth config into the container (CLI is pre-installed in image)
41
- console.log(`[${containerName}] Copying Claude auth into container...`);
42
- (0, child_process_1.execSync)(`docker cp "${claudeHome}" ${containerName}:/root/.claude`, { stdio: "pipe" });
43
- // Set up git credentials inside the container for private repo access
44
- // Prefer API-provided token (from GitHub App installation) over config token
45
- const gitToken = job.githubToken || config.githubToken;
46
- if (gitToken) {
47
- const tmpGitCreds = `/tmp/fission-git-creds-${job.sessionId.slice(0, 8)}`;
48
- const tmpGitConfig = `/tmp/fission-gitconfig-${job.sessionId.slice(0, 8)}`;
49
- (0, fs_1.writeFileSync)(tmpGitCreds, `https://x-access-token:${gitToken}@github.com\n`);
50
- (0, fs_1.writeFileSync)(tmpGitConfig, `[credential]\n\thelper = store\n`);
51
- (0, child_process_1.execSync)(`docker cp "${tmpGitCreds}" ${containerName}:/root/.git-credentials`, { stdio: "pipe" });
52
- (0, child_process_1.execSync)(`docker cp "${tmpGitConfig}" ${containerName}:/root/.gitconfig`, { stdio: "pipe" });
53
- (0, fs_1.unlinkSync)(tmpGitCreds);
54
- (0, fs_1.unlinkSync)(tmpGitConfig);
55
- }
38
+ (0, child_process_1.execSync)(`git clone --depth=50 -b ${repo.branch || "main"} "${cloneUrl}" "${repoDir}"`, { stdio: "pipe" });
56
39
  }
57
40
  catch (err) {
58
- console.error(`[${containerName}] Failed to create container: ${err}`);
59
- try {
60
- (0, child_process_1.execSync)(`docker rm -f ${containerName}`, { stdio: "pipe" });
61
- }
62
- catch { }
41
+ console.error(`[${tag}] Clone failed: ${err}`);
42
+ cleanup(workspaceDir);
63
43
  reportCompletion(config, job.sessionId, 1);
64
44
  return;
65
45
  }
66
- // Start and stream output
67
- const proc = (0, child_process_1.spawn)("docker", ["start", "-a", containerName], {
46
+ console.log(`[${tag}] Clone complete, starting pipeline...`);
47
+ // Emit initial progress to the dashboard
48
+ emitEvent(config, job.projectId, "phase_changed", {
49
+ sessionId: job.sessionId,
50
+ phase: "REVIEW",
51
+ reason: "Worker starting pipeline",
52
+ });
53
+ // Run Claude in the cloned repo — uses host's Claude subscription
54
+ const prompt = `You are an autonomous R&D pipeline. Analyze this codebase and do the following:\n\n` +
55
+ `1. REVIEW: Scan for the top 3-5 issues (bugs, security, performance, improvements)\n` +
56
+ `2. PLAN: For each issue, create a concrete implementation task\n` +
57
+ `3. BUILD: Implement the highest priority task — make the changes and commit\n` +
58
+ `4. REVIEW: Check your work for correctness\n\n` +
59
+ `Work autonomously. Make real code changes and commit them with descriptive messages.\n` +
60
+ `When done, report what you accomplished as JSON:\n` +
61
+ `{summary: string, tasksCompleted: string[], filesChanged: string[], commits: string[]}\n` +
62
+ `Return ONLY valid JSON.`;
63
+ const proc = (0, child_process_1.spawn)("claude", [
64
+ "-p", prompt,
65
+ "--output-format", "json",
66
+ "--verbose",
67
+ ], {
68
+ cwd: repoDir,
69
+ env: { ...process.env },
68
70
  stdio: ["ignore", "pipe", "pipe"],
69
71
  });
70
72
  activeSessions.set(job.sessionId, proc);
73
+ let stdout = "";
71
74
  proc.stdout?.on("data", (chunk) => {
72
- const text = chunk.toString().trim();
73
- if (text)
74
- console.log(`[${job.sessionId.slice(0, 8)}] ${text}`);
75
+ stdout += chunk.toString();
75
76
  });
76
77
  proc.stderr?.on("data", (chunk) => {
77
78
  const text = chunk.toString().trim();
78
- if (text)
79
- console.error(`[${job.sessionId.slice(0, 8)}] ${text}`);
79
+ if (text) {
80
+ console.log(`[${tag}] ${text.slice(0, 200)}`);
81
+ // Stream Claude's activity to the dashboard
82
+ emitEvent(config, job.projectId, "claude_output", {
83
+ text,
84
+ phase: "BUILD",
85
+ });
86
+ }
80
87
  });
81
88
  proc.on("close", (code) => {
82
- console.log(`[${job.sessionId.slice(0, 8)}] Container exited with code ${code}`);
89
+ console.log(`[${tag}] Pipeline exited with code ${code}`);
83
90
  activeSessions.delete(job.sessionId);
84
- // Cleanup container
91
+ // Try to parse and report results
85
92
  try {
86
- (0, child_process_1.execSync)(`docker rm -f ${containerName}`, { stdio: "pipe" });
93
+ const jsonStart = stdout.indexOf("{");
94
+ const jsonEnd = stdout.lastIndexOf("}");
95
+ if (jsonStart !== -1 && jsonEnd > jsonStart) {
96
+ const result = JSON.parse(stdout.slice(jsonStart, jsonEnd + 1));
97
+ console.log(`[${tag}] Summary: ${result.summary || "No summary"}`);
98
+ emitEvent(config, job.projectId, "pipeline_summary", {
99
+ sessionId: job.sessionId,
100
+ summary: {
101
+ sessionId: job.sessionId,
102
+ projectName: job.project.name,
103
+ duration: "unknown",
104
+ tasksCompleted: (result.tasksCompleted || []).map((t) => ({ title: t })),
105
+ tasksFailed: [],
106
+ findingsCreated: 0,
107
+ filesChanged: result.filesChanged || [],
108
+ commitMessages: result.commits || [],
109
+ },
110
+ });
111
+ }
87
112
  }
88
- catch { /* ignore */ }
113
+ catch { /* ignore parse errors */ }
114
+ emitEvent(config, job.projectId, "pipeline_complete", { sessionId: job.sessionId });
115
+ cleanup(workspaceDir);
89
116
  reportCompletion(config, job.sessionId, code ?? 1);
90
117
  });
91
118
  }
119
+ function emitEvent(config, projectId, type, data) {
120
+ fetch(`${config.fissionUrl}/api/v1/worker/events`, {
121
+ method: "POST",
122
+ headers: {
123
+ Authorization: `Bearer ${config.apiKey}`,
124
+ "Content-Type": "application/json",
125
+ },
126
+ body: JSON.stringify({ projectId, type, data }),
127
+ }).catch(() => { });
128
+ }
129
+ function cleanup(workspaceDir) {
130
+ try {
131
+ (0, fs_1.rmSync)(workspaceDir, { recursive: true, force: true });
132
+ }
133
+ catch { /* best effort */ }
134
+ }
92
135
  function reportCompletion(config, sessionId, exitCode) {
93
136
  fetch(`${config.fissionUrl}/api/v1/worker/sessions/${sessionId}/complete`, {
94
137
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fission-worker",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "Fission Worker Agent — polls Fission API for pipeline jobs, runs them in Docker containers",
5
5
  "main": "dist/index.js",
6
6
  "bin": {