bmalph 2.7.3 → 2.7.4
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/transition/fix-plan.js +4 -4
- package/dist/transition/fix-plan.js.map +1 -1
- package/dist/transition/orchestration.js +45 -13
- package/dist/transition/orchestration.js.map +1 -1
- package/dist/transition/preflight.js +9 -1
- package/dist/transition/preflight.js.map +1 -1
- package/dist/transition/story-id.js +46 -0
- package/dist/transition/story-id.js.map +1 -0
- package/dist/transition/story-parsing.js +3 -4
- package/dist/transition/story-parsing.js.map +1 -1
- package/package.json +1 -1
- package/ralph/drivers/claude-code.sh +44 -2
- package/ralph/drivers/codex.sh +10 -1
- package/ralph/drivers/copilot.sh +5 -0
- package/ralph/drivers/cursor.sh +10 -7
- package/ralph/lib/response_analyzer.sh +357 -111
- package/ralph/ralph_loop.sh +73 -61
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createFixPlanStoryLinePattern, createOpenFixPlanStoryLinePattern, formatStoryAnchor, } from "./story-id.js";
|
|
1
2
|
function buildSpecPath(planningSpecsSubpath, fileName) {
|
|
2
3
|
const normalizedPath = [planningSpecsSubpath, fileName].filter(Boolean).join("/");
|
|
3
4
|
return `specs/${normalizedPath}`;
|
|
@@ -28,7 +29,7 @@ export function generateFixPlan(stories, storiesFileName, planningSpecsSubpath =
|
|
|
28
29
|
lines.push(` > AC: ${ac}`);
|
|
29
30
|
}
|
|
30
31
|
// Add spec-link for easy reference to full story details
|
|
31
|
-
const anchor = story.id
|
|
32
|
+
const anchor = formatStoryAnchor(story.id);
|
|
32
33
|
const fileName = storiesFileName || story.sourceFile || "stories.md";
|
|
33
34
|
const specPath = buildSpecPath(planningSpecsSubpath, fileName);
|
|
34
35
|
lines.push(` > Spec: ${specPath}#story-${anchor}`);
|
|
@@ -41,8 +42,7 @@ export function hasFixPlanProgress(content) {
|
|
|
41
42
|
}
|
|
42
43
|
export function parseFixPlan(content) {
|
|
43
44
|
const items = [];
|
|
44
|
-
|
|
45
|
-
const pattern = /^\s*-\s*\[([ xX])\]\s*Story\s+(\d+\.\d+):\s*(.+?)$/gm;
|
|
45
|
+
const pattern = createFixPlanStoryLinePattern();
|
|
46
46
|
let match;
|
|
47
47
|
while ((match = pattern.exec(content)) !== null) {
|
|
48
48
|
items.push({
|
|
@@ -110,7 +110,7 @@ export function buildCompletedTitleMap(items) {
|
|
|
110
110
|
}
|
|
111
111
|
export function mergeFixPlanProgress(newFixPlan, completedIds, titleMap, completedTitles) {
|
|
112
112
|
// Replace [ ] with [x] for completed story IDs or title matches
|
|
113
|
-
return newFixPlan.replace(
|
|
113
|
+
return newFixPlan.replace(createOpenFixPlanStoryLinePattern(), (match, prefix, suffix, id) => {
|
|
114
114
|
if (completedIds.has(id))
|
|
115
115
|
return `${prefix}[x]${suffix}`;
|
|
116
116
|
// Title-based fallback: check if title matches a completed story
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-plan.js","sourceRoot":"","sources":["../../src/transition/fix-plan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fix-plan.js","sourceRoot":"","sources":["../../src/transition/fix-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,18 +11,47 @@ import { detectTechStack, customizeAgentMd } from "./tech-stack.js";
|
|
|
11
11
|
import { findArtifactsDir, resolvePlanningSpecsSubpath } from "./artifacts.js";
|
|
12
12
|
import { runPreflight, PreflightValidationError } from "./preflight.js";
|
|
13
13
|
import { collectTransitionArtifacts, combineArtifactContents } from "./artifact-collection.js";
|
|
14
|
+
import { compareStoryIds } from "./story-id.js";
|
|
14
15
|
import { extractProjectContext, generateProjectContextMd, generatePrompt, detectTruncation, } from "./context.js";
|
|
15
16
|
import { generateSpecsChangelog, formatChangelog } from "./specs-changelog.js";
|
|
16
17
|
import { generateSpecsIndex, formatSpecsIndexMd } from "./specs-index.js";
|
|
17
18
|
import { parseSprintStatus } from "./sprint-status.js";
|
|
18
19
|
import { prepareSpecsDirectory } from "./specs-sync.js";
|
|
19
|
-
function
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
|
|
20
|
+
async function swapSpecsDirectory(specsDir, specsTmpDir) {
|
|
21
|
+
const specsOldDir = `${specsDir}.old`;
|
|
22
|
+
let hasBackup = false;
|
|
23
|
+
if (await exists(specsDir)) {
|
|
24
|
+
await rm(specsOldDir, { recursive: true, force: true });
|
|
25
|
+
await rename(specsDir, specsOldDir);
|
|
26
|
+
hasBackup = true;
|
|
27
|
+
}
|
|
28
|
+
else if (await exists(specsOldDir)) {
|
|
29
|
+
hasBackup = true;
|
|
30
|
+
debug("Found existing .ralph/specs.old from previous failed transition, preserving backup");
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
debug("No existing .ralph/specs to preserve (first transition)");
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
await rename(specsTmpDir, specsDir);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
if (hasBackup) {
|
|
40
|
+
debug(`Specs swap failed, restoring original: ${formatError(err)}`);
|
|
41
|
+
try {
|
|
42
|
+
await rename(specsOldDir, specsDir);
|
|
43
|
+
}
|
|
44
|
+
catch (restoreErr) {
|
|
45
|
+
if (!isEnoent(restoreErr)) {
|
|
46
|
+
debug(`Could not restore .ralph/specs.old: ${formatError(restoreErr)}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
if (hasBackup) {
|
|
53
|
+
await rm(specsOldDir, { recursive: true, force: true });
|
|
24
54
|
}
|
|
25
|
-
return leftStory - rightStory;
|
|
26
55
|
}
|
|
27
56
|
function ensureUniqueStoryIds(stories) {
|
|
28
57
|
const sourceById = new Map();
|
|
@@ -117,6 +146,9 @@ export async function runTransition(projectDir, options) {
|
|
|
117
146
|
// Pre-flight validation
|
|
118
147
|
info("Pre-flight validation...");
|
|
119
148
|
const preflightResult = runPreflight(artifactContents, collectedArtifacts.files, stories, parseWarnings);
|
|
149
|
+
const preflightIssues = options?.force
|
|
150
|
+
? preflightResult.issues.map((issue) => issue.severity === "error" ? { ...issue, severity: "warning" } : issue)
|
|
151
|
+
: preflightResult.issues;
|
|
120
152
|
if (!preflightResult.pass) {
|
|
121
153
|
if (options?.force) {
|
|
122
154
|
warn("Pre-flight validation has errors but --force was used, continuing...");
|
|
@@ -223,8 +255,7 @@ export async function runTransition(projectDir, options) {
|
|
|
223
255
|
warn(`Could not generate SPECS_CHANGELOG.md: ${formatError(err)}`);
|
|
224
256
|
}
|
|
225
257
|
info("Copying specs to .ralph/specs/...");
|
|
226
|
-
await
|
|
227
|
-
await rename(specsTmpDir, specsDir);
|
|
258
|
+
await swapSpecsDirectory(specsDir, specsTmpDir);
|
|
228
259
|
generatedFiles.push({ path: ".ralph/specs/", action: "updated" });
|
|
229
260
|
// Generate SPECS_INDEX.md for intelligent spec reading
|
|
230
261
|
info("Generating SPECS_INDEX.md...");
|
|
@@ -319,11 +350,12 @@ export async function runTransition(projectDir, options) {
|
|
|
319
350
|
}
|
|
320
351
|
}
|
|
321
352
|
// Collect warnings from all sources
|
|
322
|
-
const preflightWarnings =
|
|
323
|
-
.filter((i) => i.severity === "warning"
|
|
353
|
+
const preflightWarnings = preflightIssues
|
|
354
|
+
.filter((i) => i.severity === "warning")
|
|
324
355
|
.map((i) => i.message);
|
|
325
|
-
// Keep parse warnings not already covered by preflight
|
|
326
|
-
const nonPreflightParseWarnings = parseWarnings.filter((w) => !/
|
|
356
|
+
// Keep parse warnings not already covered by preflight.
|
|
357
|
+
const nonPreflightParseWarnings = parseWarnings.filter((w) => !/malformed story id/i.test(w) &&
|
|
358
|
+
!/has no acceptance criteria/i.test(w) &&
|
|
327
359
|
!/has no description/i.test(w) &&
|
|
328
360
|
!/not under an epic/i.test(w));
|
|
329
361
|
const warnings = [
|
|
@@ -349,7 +381,7 @@ export async function runTransition(projectDir, options) {
|
|
|
349
381
|
storiesCount: stories.length,
|
|
350
382
|
warnings,
|
|
351
383
|
fixPlanPreserved,
|
|
352
|
-
preflightIssues
|
|
384
|
+
preflightIssues,
|
|
353
385
|
generatedFiles,
|
|
354
386
|
};
|
|
355
387
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/transition/orchestration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/transition/orchestration.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,15 @@ export function validateArchitecture(content) {
|
|
|
87
87
|
export function validateStories(stories, parseWarnings) {
|
|
88
88
|
const issues = [];
|
|
89
89
|
for (const warning of parseWarnings) {
|
|
90
|
-
if (/
|
|
90
|
+
if (/malformed story id/i.test(warning)) {
|
|
91
|
+
issues.push({
|
|
92
|
+
id: "E2",
|
|
93
|
+
severity: "error",
|
|
94
|
+
message: warning,
|
|
95
|
+
suggestion: "Fix malformed story headers to use the N.M format, or use --force to continue with deterministic fallback ordering.",
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else if (/has no acceptance criteria/i.test(warning)) {
|
|
91
99
|
issues.push({
|
|
92
100
|
id: "W8",
|
|
93
101
|
severity: "warning",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/transition/preflight.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/transition/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const RAW_STORY_ID_SOURCE = String.raw `[\d.]+`;
|
|
2
|
+
const CANONICAL_STORY_ID_PATTERN = /^(\d+)\.(\d+)$/;
|
|
3
|
+
export const STORY_HEADER_PATTERN = new RegExp(String.raw `^###\s+Story\s+(${RAW_STORY_ID_SOURCE}):\s+(.+)`);
|
|
4
|
+
export function createFixPlanStoryLinePattern() {
|
|
5
|
+
return new RegExp(String.raw `^\s*-\s*\[([ xX])\]\s*Story\s+(${RAW_STORY_ID_SOURCE}):\s*(.+?)$`, "gm");
|
|
6
|
+
}
|
|
7
|
+
export function createOpenFixPlanStoryLinePattern() {
|
|
8
|
+
return new RegExp(String.raw `^(\s*-\s*)\[ \](\s*Story\s+(${RAW_STORY_ID_SOURCE}):)`, "gm");
|
|
9
|
+
}
|
|
10
|
+
export function isCanonicalStoryId(value) {
|
|
11
|
+
return CANONICAL_STORY_ID_PATTERN.test(value);
|
|
12
|
+
}
|
|
13
|
+
export function parseCanonicalStoryId(value) {
|
|
14
|
+
const match = value.match(CANONICAL_STORY_ID_PATTERN);
|
|
15
|
+
if (!match) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
epic: Number(match[1]),
|
|
20
|
+
story: Number(match[2]),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function compareStoryIds(left, right) {
|
|
24
|
+
const leftParts = parseCanonicalStoryId(left);
|
|
25
|
+
const rightParts = parseCanonicalStoryId(right);
|
|
26
|
+
if (leftParts && rightParts) {
|
|
27
|
+
if (leftParts.epic !== rightParts.epic) {
|
|
28
|
+
return leftParts.epic - rightParts.epic;
|
|
29
|
+
}
|
|
30
|
+
return leftParts.story - rightParts.story;
|
|
31
|
+
}
|
|
32
|
+
if (leftParts) {
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
if (rightParts) {
|
|
36
|
+
return 1;
|
|
37
|
+
}
|
|
38
|
+
return left.localeCompare(right);
|
|
39
|
+
}
|
|
40
|
+
export function formatStoryAnchor(value) {
|
|
41
|
+
return value.replaceAll(".", "-");
|
|
42
|
+
}
|
|
43
|
+
export function formatMalformedStoryIdWarning(id, title) {
|
|
44
|
+
return `Malformed story ID "${id}" in "${title}" (expected format: N.M)`;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=story-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"story-id.js","sourceRoot":"","sources":["../../src/transition/story-id.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA,QAAQ,CAAC;AAC/C,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAOpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAC5C,MAAM,CAAC,GAAG,CAAA,mBAAmB,mBAAmB,WAAW,CAC5D,CAAC;AAEF,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,MAAM,CACf,MAAM,CAAC,GAAG,CAAA,kCAAkC,mBAAmB,aAAa,EAC5E,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,+BAA+B,mBAAmB,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa;IACzD,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAEhD,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAAU,EAAE,KAAa;IACrE,OAAO,uBAAuB,EAAE,SAAS,KAAK,0BAA0B,CAAC;AAC3E,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { STORY_HEADER_PATTERN, formatMalformedStoryIdWarning, isCanonicalStoryId, } from "./story-id.js";
|
|
1
2
|
// Cached regex patterns for performance (compiled once at module load)
|
|
2
3
|
const GIVEN_LINE_PATTERN = /^(?:[-*]\s+)?(?:\*\*)?Given(?:\*\*)?\s/i;
|
|
3
4
|
const AC_KEYWORD_LINE_PATTERN = /^(?:[-*]\s+)?(?:\*\*)?(Given|When|Then|And)(?:\*\*)?\s/i;
|
|
4
5
|
const BOLD_PATTERN = /\*\*/g;
|
|
5
6
|
const EPIC_HEADER_PATTERN = /^##\s+Epic\s+\d+:\s+(.+)/;
|
|
6
7
|
const HEADING_PATTERN = /^#{2,3}\s/;
|
|
7
|
-
const STORY_HEADER_PATTERN = /^###\s+Story\s+([\d.]+):\s+(.+)/;
|
|
8
|
-
const STORY_ID_PATTERN = /^\d+\.\d+$/;
|
|
9
8
|
const AC_HEADING_PATTERN = /^\*?\*?Acceptance Criteria\*?\*?:?/i;
|
|
10
9
|
function isGivenLine(line) {
|
|
11
10
|
return GIVEN_LINE_PATTERN.test(line.trim());
|
|
@@ -84,8 +83,8 @@ export function parseStoriesWithWarnings(content, sourceFile = "stories.md") {
|
|
|
84
83
|
const id = storyMatch[1];
|
|
85
84
|
const title = storyMatch[2].trim();
|
|
86
85
|
// Validate story ID format (should be like "1.1", "2.3", etc.)
|
|
87
|
-
if (!
|
|
88
|
-
warnings.push(
|
|
86
|
+
if (!isCanonicalStoryId(id)) {
|
|
87
|
+
warnings.push(formatMalformedStoryIdWarning(id, title));
|
|
89
88
|
}
|
|
90
89
|
// Collect all body lines until next heading
|
|
91
90
|
const bodyLines = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story-parsing.js","sourceRoot":"","sources":["../../src/transition/story-parsing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"story-parsing.js","sourceRoot":"","sources":["../../src/transition/story-parsing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -112,7 +112,49 @@ driver_supports_sessions() {
|
|
|
112
112
|
return 0 # true
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
#
|
|
115
|
+
# Claude Code supports stream-json live output.
|
|
116
|
+
driver_supports_live_output() {
|
|
117
|
+
return 0 # true
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
# Prepare command arguments for live stream-json output.
|
|
121
|
+
driver_prepare_live_command() {
|
|
122
|
+
LIVE_CMD_ARGS=()
|
|
123
|
+
local skip_next=false
|
|
124
|
+
|
|
125
|
+
for arg in "${CLAUDE_CMD_ARGS[@]}"; do
|
|
126
|
+
if [[ "$skip_next" == "true" ]]; then
|
|
127
|
+
LIVE_CMD_ARGS+=("stream-json")
|
|
128
|
+
skip_next=false
|
|
129
|
+
elif [[ "$arg" == "--output-format" ]]; then
|
|
130
|
+
LIVE_CMD_ARGS+=("$arg")
|
|
131
|
+
skip_next=true
|
|
132
|
+
else
|
|
133
|
+
LIVE_CMD_ARGS+=("$arg")
|
|
134
|
+
fi
|
|
135
|
+
done
|
|
136
|
+
|
|
137
|
+
if [[ "$skip_next" == "true" ]]; then
|
|
138
|
+
return 1
|
|
139
|
+
fi
|
|
140
|
+
|
|
141
|
+
LIVE_CMD_ARGS+=("--verbose" "--include-partial-messages")
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
# Stream filter for raw Claude stream-json events.
|
|
116
145
|
driver_stream_filter() {
|
|
117
|
-
echo '
|
|
146
|
+
echo '
|
|
147
|
+
if .type == "stream_event" then
|
|
148
|
+
if .event.type == "content_block_delta" and .event.delta.type == "text_delta" then
|
|
149
|
+
.event.delta.text
|
|
150
|
+
elif .event.type == "content_block_start" and .event.content_block.type == "tool_use" then
|
|
151
|
+
"\n\n⚡ [" + .event.content_block.name + "]\n"
|
|
152
|
+
elif .event.type == "content_block_stop" then
|
|
153
|
+
"\n"
|
|
154
|
+
else
|
|
155
|
+
empty
|
|
156
|
+
end
|
|
157
|
+
else
|
|
158
|
+
empty
|
|
159
|
+
end'
|
|
118
160
|
}
|
package/ralph/drivers/codex.sh
CHANGED
|
@@ -75,7 +75,16 @@ driver_supports_sessions() {
|
|
|
75
75
|
return 0 # true - Codex supports session resume
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
# Codex JSONL output is already suitable for live display.
|
|
79
|
+
driver_supports_live_output() {
|
|
80
|
+
return 0 # true
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
driver_prepare_live_command() {
|
|
84
|
+
LIVE_CMD_ARGS=("${CLAUDE_CMD_ARGS[@]}")
|
|
85
|
+
}
|
|
86
|
+
|
|
78
87
|
# Codex outputs JSONL events
|
|
79
88
|
driver_stream_filter() {
|
|
80
|
-
echo 'select(.type == "
|
|
89
|
+
echo 'select(.type == "item.completed" and .item.type == "agent_message") | (.item.text // ([.item.content[]? | select(.type == "output_text") | .text] | join("\n")) // empty)'
|
|
81
90
|
}
|
package/ralph/drivers/copilot.sh
CHANGED
|
@@ -82,6 +82,11 @@ driver_supports_sessions() {
|
|
|
82
82
|
return 1 # false — session IDs not capturable from -p output
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
# Copilot CLI does not expose structured live output for jq streaming.
|
|
86
|
+
driver_supports_live_output() {
|
|
87
|
+
return 1 # false
|
|
88
|
+
}
|
|
89
|
+
|
|
85
90
|
# Copilot CLI outputs plain text only (no JSON streaming).
|
|
86
91
|
# Passthrough filter — no transformation needed.
|
|
87
92
|
driver_stream_filter() {
|
package/ralph/drivers/cursor.sh
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# Known limitations:
|
|
6
6
|
# - CLI is in beta — binary name and flags may change
|
|
7
7
|
# - NDJSON stream format assumes {type: "text", content: "..."} events
|
|
8
|
-
# - Session
|
|
8
|
+
# - Session continuity is disabled until Cursor exposes a stable capturable session ID
|
|
9
9
|
|
|
10
10
|
driver_name() {
|
|
11
11
|
echo "cursor"
|
|
@@ -85,11 +85,6 @@ driver_build_command() {
|
|
|
85
85
|
# NDJSON streaming output
|
|
86
86
|
CLAUDE_CMD_ARGS+=("--output-format" "stream-json")
|
|
87
87
|
|
|
88
|
-
# Session resume — gated on CLAUDE_USE_CONTINUE to respect --no-continue flag
|
|
89
|
-
if [[ "$CLAUDE_USE_CONTINUE" == "true" && -n "$session_id" ]]; then
|
|
90
|
-
CLAUDE_CMD_ARGS+=("--resume" "$session_id")
|
|
91
|
-
fi
|
|
92
|
-
|
|
93
88
|
# Build prompt with context prepended
|
|
94
89
|
local prompt_content
|
|
95
90
|
if driver_running_on_windows; then
|
|
@@ -107,7 +102,15 @@ $prompt_content"
|
|
|
107
102
|
}
|
|
108
103
|
|
|
109
104
|
driver_supports_sessions() {
|
|
110
|
-
return
|
|
105
|
+
return 1 # false — session IDs are not capturable from current NDJSON output
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
driver_supports_live_output() {
|
|
109
|
+
return 0 # true
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
driver_prepare_live_command() {
|
|
113
|
+
LIVE_CMD_ARGS=("${CLAUDE_CMD_ARGS[@]}")
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
# Cursor CLI outputs NDJSON events
|