bueller-wheel 0.3.1 → 0.3.2
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/issue-reader.js +4 -38
- package/dist/issue-summarize.js +19 -19
- package/package.json +1 -1
package/dist/issue-reader.js
CHANGED
|
@@ -33,24 +33,10 @@ export function parseIssueContent(content) {
|
|
|
33
33
|
if (!trimmedSection) {
|
|
34
34
|
continue;
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
messages.push({
|
|
41
|
-
index: messageIndex++,
|
|
42
|
-
author: 'user',
|
|
43
|
-
content: userMatch[1].trim(),
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
else if (claudeMatch) {
|
|
47
|
-
messages.push({
|
|
48
|
-
index: messageIndex++,
|
|
49
|
-
author: 'claude',
|
|
50
|
-
content: claudeMatch[1].trim(),
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
// If no match, skip this section (handles malformed sections)
|
|
36
|
+
messages.push({
|
|
37
|
+
index: messageIndex++,
|
|
38
|
+
content: trimmedSection,
|
|
39
|
+
});
|
|
54
40
|
}
|
|
55
41
|
return {
|
|
56
42
|
messages,
|
|
@@ -69,24 +55,4 @@ export function getLatestMessage(issue) {
|
|
|
69
55
|
}
|
|
70
56
|
return issue.messages[issue.messages.length - 1];
|
|
71
57
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Gets all messages from a specific author
|
|
74
|
-
*
|
|
75
|
-
* @param issue - Parsed issue object
|
|
76
|
-
* @param author - Author to filter by ('user' or 'claude')
|
|
77
|
-
* @returns Array of messages from the specified author
|
|
78
|
-
*/
|
|
79
|
-
export function getMessagesByAuthor(issue, author) {
|
|
80
|
-
return issue.messages.filter((msg) => msg.author === author);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Formats a message for appending to an issue file
|
|
84
|
-
*
|
|
85
|
-
* @param author - Author of the message ('user' or 'claude')
|
|
86
|
-
* @param content - Content of the message
|
|
87
|
-
* @returns Formatted message string ready to append to an issue file
|
|
88
|
-
*/
|
|
89
|
-
export function formatMessage(author, content) {
|
|
90
|
-
return `---\n\n@${author}: ${content}`;
|
|
91
|
-
}
|
|
92
58
|
//# sourceMappingURL=issue-reader.js.map
|
package/dist/issue-summarize.js
CHANGED
|
@@ -65,6 +65,19 @@ export async function resolveIssueReference(reference, issuesDir) {
|
|
|
65
65
|
// Otherwise, treat it as a filename and search for it
|
|
66
66
|
return locateIssueFile(reference, issuesDir);
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Condenses text by trimming lines and replacing newlines with single spaces
|
|
70
|
+
*
|
|
71
|
+
* @param text - Text to condense
|
|
72
|
+
* @returns Condensed text
|
|
73
|
+
*/
|
|
74
|
+
function condenseText(text) {
|
|
75
|
+
return text
|
|
76
|
+
.split('\n')
|
|
77
|
+
.map((line) => line.trim())
|
|
78
|
+
.filter((line) => line.length > 0)
|
|
79
|
+
.join(' ');
|
|
80
|
+
}
|
|
68
81
|
/**
|
|
69
82
|
* Abbreviates a message based on its position in the conversation
|
|
70
83
|
*
|
|
@@ -75,15 +88,16 @@ export async function resolveIssueReference(reference, issuesDir) {
|
|
|
75
88
|
*/
|
|
76
89
|
function abbreviateMessage(message, _position, maxLength) {
|
|
77
90
|
const fullContent = message.content;
|
|
78
|
-
|
|
91
|
+
// Condense the content for abbreviation (replace newlines with spaces)
|
|
92
|
+
const condensed = condenseText(fullContent);
|
|
93
|
+
let abbreviated = condensed;
|
|
79
94
|
let isAbbreviated = false;
|
|
80
|
-
if (
|
|
81
|
-
abbreviated =
|
|
95
|
+
if (condensed.length > maxLength) {
|
|
96
|
+
abbreviated = condensed.substring(0, maxLength).trimEnd() + '…';
|
|
82
97
|
isAbbreviated = true;
|
|
83
98
|
}
|
|
84
99
|
return {
|
|
85
100
|
index: message.index,
|
|
86
|
-
author: message.author,
|
|
87
101
|
content: abbreviated,
|
|
88
102
|
isAbbreviated,
|
|
89
103
|
fullContent,
|
|
@@ -191,19 +205,6 @@ export function expandMessages(summary, indexSpec) {
|
|
|
191
205
|
isSingleIndex,
|
|
192
206
|
};
|
|
193
207
|
}
|
|
194
|
-
/**
|
|
195
|
-
* Condenses text by trimming lines and replacing newlines with single spaces
|
|
196
|
-
*
|
|
197
|
-
* @param text - Text to condense
|
|
198
|
-
* @returns Condensed text
|
|
199
|
-
*/
|
|
200
|
-
function condenseText(text) {
|
|
201
|
-
return text
|
|
202
|
-
.split('\n')
|
|
203
|
-
.map((line) => line.trim())
|
|
204
|
-
.filter((line) => line.length > 0)
|
|
205
|
-
.join(' ');
|
|
206
|
-
}
|
|
207
208
|
/**
|
|
208
209
|
* Formats an issue summary for console output
|
|
209
210
|
*
|
|
@@ -223,8 +224,7 @@ export function formatIssueSummary(summary, indexSpec) {
|
|
|
223
224
|
: summary.abbreviatedMessages;
|
|
224
225
|
// Messages
|
|
225
226
|
for (const msg of messagesToShow) {
|
|
226
|
-
|
|
227
|
-
lines.push(`[${msg.index}] @${msg.author}: ${content}`);
|
|
227
|
+
lines.push(`[${msg.index}] ${msg.content}`);
|
|
228
228
|
}
|
|
229
229
|
// Add follow-up action hint if not showing specific indices
|
|
230
230
|
if (!indexSpec || !summary.isSingleIndex) {
|
package/package.json
CHANGED