@buildlog/openclaw-skill 1.0.0 → 2.0.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/exporter.d.ts +50 -31
- package/dist/exporter.d.ts.map +1 -1
- package/dist/exporter.js +182 -139
- package/dist/exporter.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/recorder.d.ts +75 -33
- package/dist/recorder.d.ts.map +1 -1
- package/dist/recorder.js +251 -101
- package/dist/recorder.js.map +1 -1
- package/dist/skill.d.ts +8 -5
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +87 -93
- package/dist/skill.js.map +1 -1
- package/dist/types.d.ts +97 -48
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +18 -2
- package/dist/types.js.map +1 -1
- package/dist/uploader.d.ts +5 -5
- package/dist/uploader.d.ts.map +1 -1
- package/dist/uploader.js +1 -1
- package/dist/uploader.js.map +1 -1
- package/package.json +8 -4
package/dist/exporter.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuildlogFile, BuildlogMetadata } from './types.js';
|
|
2
|
+
export declare const BUILDLOG_VERSION = "2.0.0";
|
|
3
|
+
export declare const DEFAULT_FORMAT = "slim";
|
|
4
|
+
export declare const MAX_SLIM_SIZE_BYTES: number;
|
|
2
5
|
export interface SessionMessage {
|
|
3
6
|
role: 'user' | 'assistant' | 'system';
|
|
4
7
|
content: string;
|
|
@@ -14,10 +17,24 @@ export interface SessionMessage {
|
|
|
14
17
|
type?: string;
|
|
15
18
|
}>;
|
|
16
19
|
}
|
|
20
|
+
export interface FileChangeInfo {
|
|
21
|
+
path: string;
|
|
22
|
+
changeType: 'created' | 'modified' | 'deleted';
|
|
23
|
+
timestamp?: number;
|
|
24
|
+
content?: string;
|
|
25
|
+
previousContent?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface TerminalCommandInfo {
|
|
28
|
+
command: string;
|
|
29
|
+
cwd?: string;
|
|
30
|
+
exitCode?: number;
|
|
31
|
+
output?: string;
|
|
32
|
+
timestamp?: number;
|
|
33
|
+
}
|
|
17
34
|
export interface SessionHistory {
|
|
18
35
|
messages: SessionMessage[];
|
|
19
|
-
fileChanges?:
|
|
20
|
-
terminalCommands?:
|
|
36
|
+
fileChanges?: FileChangeInfo[];
|
|
37
|
+
terminalCommands?: TerminalCommandInfo[];
|
|
21
38
|
metadata?: Partial<BuildlogMetadata>;
|
|
22
39
|
}
|
|
23
40
|
export interface ExportOptions {
|
|
@@ -25,47 +42,53 @@ export interface ExportOptions {
|
|
|
25
42
|
description?: string;
|
|
26
43
|
tags?: string[];
|
|
27
44
|
includeSystemMessages?: boolean;
|
|
28
|
-
|
|
29
|
-
maxFileSizeKb?: number;
|
|
45
|
+
format?: 'slim' | 'full';
|
|
30
46
|
lastN?: number;
|
|
31
47
|
author?: string;
|
|
48
|
+
aiProvider?: string;
|
|
49
|
+
editor?: string;
|
|
32
50
|
}
|
|
33
51
|
/**
|
|
34
|
-
* BuildlogExporter - Convert session history to buildlog format
|
|
52
|
+
* BuildlogExporter - Convert session history to v2 buildlog format
|
|
35
53
|
*
|
|
36
|
-
*
|
|
54
|
+
* Exports workflow recipes focused on prompts as artifacts.
|
|
55
|
+
* Supports both slim (default, 2-50KB) and full (with responses) formats.
|
|
37
56
|
*/
|
|
38
57
|
export declare class BuildlogExporter {
|
|
39
58
|
private options;
|
|
40
59
|
constructor(options?: Partial<ExportOptions>);
|
|
41
60
|
/**
|
|
42
|
-
* Export a session history to buildlog format
|
|
61
|
+
* Export a session history to v2 buildlog format
|
|
43
62
|
*/
|
|
44
|
-
export(history: SessionHistory):
|
|
63
|
+
export(history: SessionHistory): BuildlogFile;
|
|
45
64
|
/**
|
|
46
65
|
* Export only the last N messages
|
|
47
66
|
*/
|
|
48
|
-
exportLastN(history: SessionHistory, n: number):
|
|
67
|
+
exportLastN(history: SessionHistory, n: number): BuildlogFile;
|
|
49
68
|
/**
|
|
50
69
|
* Export a range of messages
|
|
51
70
|
*/
|
|
52
|
-
exportRange(history: SessionHistory, start: number, end: number):
|
|
71
|
+
exportRange(history: SessionHistory, start: number, end: number): BuildlogFile;
|
|
72
|
+
/**
|
|
73
|
+
* Convert to slim format (strip full data)
|
|
74
|
+
*/
|
|
75
|
+
toSlim(buildlog: BuildlogFile): BuildlogFile;
|
|
53
76
|
/**
|
|
54
|
-
* Merge file changes and terminal commands into the timeline
|
|
77
|
+
* Merge file changes and terminal commands into the timeline as steps
|
|
55
78
|
*/
|
|
56
|
-
private
|
|
79
|
+
private convertToSteps;
|
|
57
80
|
/**
|
|
58
|
-
* Convert a
|
|
81
|
+
* Convert a user message to a prompt step
|
|
59
82
|
*/
|
|
60
|
-
private
|
|
83
|
+
private messageToPromptStep;
|
|
61
84
|
/**
|
|
62
|
-
* Convert a file change to
|
|
85
|
+
* Convert a file change to an action step
|
|
63
86
|
*/
|
|
64
|
-
private
|
|
87
|
+
private fileChangeToActionStep;
|
|
65
88
|
/**
|
|
66
|
-
* Convert a terminal command to a
|
|
89
|
+
* Convert a terminal command to a terminal step
|
|
67
90
|
*/
|
|
68
|
-
private
|
|
91
|
+
private terminalToStep;
|
|
69
92
|
/**
|
|
70
93
|
* Filter messages based on options
|
|
71
94
|
*/
|
|
@@ -79,7 +102,7 @@ export declare class BuildlogExporter {
|
|
|
79
102
|
*/
|
|
80
103
|
private inferTitle;
|
|
81
104
|
/**
|
|
82
|
-
* Try to infer a description from the
|
|
105
|
+
* Try to infer a description from the steps
|
|
83
106
|
*/
|
|
84
107
|
private inferDescription;
|
|
85
108
|
/**
|
|
@@ -87,24 +110,20 @@ export declare class BuildlogExporter {
|
|
|
87
110
|
*/
|
|
88
111
|
private inferTags;
|
|
89
112
|
/**
|
|
90
|
-
*
|
|
113
|
+
* Try to infer outcome from the session
|
|
91
114
|
*/
|
|
92
|
-
private
|
|
93
|
-
/**
|
|
94
|
-
* Extract a chapter title from a message
|
|
95
|
-
*/
|
|
96
|
-
private extractChapterTitle;
|
|
97
|
-
/**
|
|
98
|
-
* Truncate content to max size
|
|
99
|
-
*/
|
|
100
|
-
private truncateContent;
|
|
115
|
+
private inferOutcome;
|
|
101
116
|
/**
|
|
102
117
|
* Generate a unique ID
|
|
103
118
|
*/
|
|
104
119
|
private generateId;
|
|
120
|
+
/**
|
|
121
|
+
* Capitalize first letter
|
|
122
|
+
*/
|
|
123
|
+
private capitalizeFirst;
|
|
105
124
|
}
|
|
106
125
|
/**
|
|
107
126
|
* Convenience function to export a session
|
|
108
127
|
*/
|
|
109
|
-
export declare function exportSession(history: SessionHistory, options?: ExportOptions):
|
|
128
|
+
export declare function exportSession(history: SessionHistory, options?: ExportOptions): BuildlogFile;
|
|
110
129
|
//# sourceMappingURL=exporter.d.ts.map
|
package/dist/exporter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
|
package/dist/exporter.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BuildlogExporter = void 0;
|
|
3
|
+
exports.BuildlogExporter = exports.MAX_SLIM_SIZE_BYTES = exports.DEFAULT_FORMAT = exports.BUILDLOG_VERSION = void 0;
|
|
4
4
|
exports.exportSession = exportSession;
|
|
5
|
+
// Re-export constants
|
|
6
|
+
exports.BUILDLOG_VERSION = '2.0.0';
|
|
7
|
+
exports.DEFAULT_FORMAT = 'slim';
|
|
8
|
+
exports.MAX_SLIM_SIZE_BYTES = 100 * 1024; // 100KB
|
|
5
9
|
const DEFAULT_OPTIONS = {
|
|
6
10
|
includeSystemMessages: false,
|
|
7
|
-
|
|
8
|
-
maxFileSizeKb: 100,
|
|
11
|
+
format: 'slim',
|
|
9
12
|
};
|
|
10
13
|
/**
|
|
11
|
-
* BuildlogExporter - Convert session history to buildlog format
|
|
14
|
+
* BuildlogExporter - Convert session history to v2 buildlog format
|
|
12
15
|
*
|
|
13
|
-
*
|
|
16
|
+
* Exports workflow recipes focused on prompts as artifacts.
|
|
17
|
+
* Supports both slim (default, 2-50KB) and full (with responses) formats.
|
|
14
18
|
*/
|
|
15
19
|
class BuildlogExporter {
|
|
16
20
|
options;
|
|
@@ -18,18 +22,24 @@ class BuildlogExporter {
|
|
|
18
22
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
19
23
|
}
|
|
20
24
|
/**
|
|
21
|
-
* Export a session history to buildlog format
|
|
25
|
+
* Export a session history to v2 buildlog format
|
|
22
26
|
*/
|
|
23
27
|
export(history) {
|
|
24
28
|
const messages = this.filterMessages(history.messages);
|
|
25
|
-
const
|
|
26
|
-
const metadata = this.buildMetadata(history,
|
|
27
|
-
|
|
28
|
-
version:
|
|
29
|
+
const steps = this.convertToSteps(messages, history);
|
|
30
|
+
const metadata = this.buildMetadata(history, steps);
|
|
31
|
+
const buildlog = {
|
|
32
|
+
version: exports.BUILDLOG_VERSION,
|
|
33
|
+
format: this.options.format ?? 'slim',
|
|
29
34
|
metadata,
|
|
30
|
-
|
|
31
|
-
chapters: this.detectChapters(entries),
|
|
35
|
+
steps,
|
|
32
36
|
};
|
|
37
|
+
// Add outcome if we can infer it
|
|
38
|
+
const outcome = this.inferOutcome(history);
|
|
39
|
+
if (outcome) {
|
|
40
|
+
buildlog.outcome = outcome;
|
|
41
|
+
}
|
|
42
|
+
return buildlog;
|
|
33
43
|
}
|
|
34
44
|
/**
|
|
35
45
|
* Export only the last N messages
|
|
@@ -52,31 +62,57 @@ class BuildlogExporter {
|
|
|
52
62
|
return this.export(limitedHistory);
|
|
53
63
|
}
|
|
54
64
|
/**
|
|
55
|
-
*
|
|
65
|
+
* Convert to slim format (strip full data)
|
|
56
66
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
67
|
+
toSlim(buildlog) {
|
|
68
|
+
if (buildlog.format === 'slim') {
|
|
69
|
+
return buildlog;
|
|
70
|
+
}
|
|
71
|
+
const slim = {
|
|
72
|
+
...buildlog,
|
|
73
|
+
format: 'slim',
|
|
74
|
+
steps: buildlog.steps.map((step) => {
|
|
75
|
+
if (step.type === 'prompt' && 'response' in step) {
|
|
76
|
+
const { response, ...rest } = step;
|
|
77
|
+
return rest;
|
|
78
|
+
}
|
|
79
|
+
if (step.type === 'action' && 'diff' in step) {
|
|
80
|
+
const { diff, ...rest } = step;
|
|
81
|
+
return rest;
|
|
82
|
+
}
|
|
83
|
+
return step;
|
|
84
|
+
}),
|
|
85
|
+
};
|
|
86
|
+
return slim;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Merge file changes and terminal commands into the timeline as steps
|
|
90
|
+
*/
|
|
91
|
+
convertToSteps(messages, history) {
|
|
92
|
+
const steps = [];
|
|
59
93
|
// Create a timeline of all events
|
|
60
94
|
const timeline = [];
|
|
61
|
-
// Add messages
|
|
95
|
+
// Add user messages as prompts
|
|
62
96
|
for (const msg of messages) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
97
|
+
if (msg.role === 'user') {
|
|
98
|
+
timeline.push({
|
|
99
|
+
timestamp: msg.timestamp ?? Date.now(),
|
|
100
|
+
type: 'prompt',
|
|
101
|
+
data: msg,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
68
104
|
}
|
|
69
|
-
// Add file changes
|
|
105
|
+
// Add file changes as actions
|
|
70
106
|
if (history.fileChanges) {
|
|
71
107
|
for (const fc of history.fileChanges) {
|
|
72
108
|
timeline.push({
|
|
73
109
|
timestamp: fc.timestamp ?? Date.now(),
|
|
74
|
-
type: '
|
|
110
|
+
type: 'action',
|
|
75
111
|
data: fc,
|
|
76
112
|
});
|
|
77
113
|
}
|
|
78
114
|
}
|
|
79
|
-
// Add terminal commands
|
|
115
|
+
// Add terminal commands
|
|
80
116
|
if (history.terminalCommands) {
|
|
81
117
|
for (const cmd of history.terminalCommands) {
|
|
82
118
|
timeline.push({
|
|
@@ -88,84 +124,78 @@ class BuildlogExporter {
|
|
|
88
124
|
}
|
|
89
125
|
// Sort by timestamp
|
|
90
126
|
timeline.sort((a, b) => a.timestamp - b.timestamp);
|
|
91
|
-
// Convert to
|
|
127
|
+
// Convert to steps
|
|
128
|
+
let stepIndex = 0;
|
|
92
129
|
for (const event of timeline) {
|
|
93
130
|
switch (event.type) {
|
|
94
|
-
case '
|
|
95
|
-
|
|
131
|
+
case 'prompt':
|
|
132
|
+
steps.push(this.messageToPromptStep(event.data, event.timestamp, stepIndex++));
|
|
96
133
|
break;
|
|
97
|
-
case '
|
|
98
|
-
|
|
134
|
+
case 'action':
|
|
135
|
+
steps.push(this.fileChangeToActionStep(event.data, event.timestamp, stepIndex++));
|
|
99
136
|
break;
|
|
100
137
|
case 'terminal':
|
|
101
|
-
|
|
138
|
+
steps.push(this.terminalToStep(event.data, event.timestamp, stepIndex++));
|
|
102
139
|
break;
|
|
103
140
|
}
|
|
104
141
|
}
|
|
105
|
-
return
|
|
142
|
+
return steps;
|
|
106
143
|
}
|
|
107
144
|
/**
|
|
108
|
-
* Convert a
|
|
145
|
+
* Convert a user message to a prompt step
|
|
109
146
|
*/
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
type:
|
|
147
|
+
messageToPromptStep(message, timestamp, index) {
|
|
148
|
+
const step = {
|
|
149
|
+
type: 'prompt',
|
|
113
150
|
timestamp,
|
|
151
|
+
index,
|
|
114
152
|
content: message.content,
|
|
115
153
|
};
|
|
116
|
-
|
|
117
|
-
entry.toolCalls = message.toolCalls.map((tc) => ({
|
|
118
|
-
name: tc.name,
|
|
119
|
-
arguments: tc.arguments,
|
|
120
|
-
result: tc.result,
|
|
121
|
-
}));
|
|
122
|
-
}
|
|
154
|
+
// Add context if there are attachments
|
|
123
155
|
if (message.attachments && message.attachments.length > 0) {
|
|
124
|
-
|
|
125
|
-
type: a.type ?? 'file',
|
|
126
|
-
name: a.name,
|
|
127
|
-
content: this.options.includeFileContents
|
|
128
|
-
? this.truncateContent(a.content)
|
|
129
|
-
: undefined,
|
|
130
|
-
}));
|
|
156
|
+
step.context = message.attachments.map((a) => a.name);
|
|
131
157
|
}
|
|
132
|
-
return
|
|
158
|
+
return step;
|
|
133
159
|
}
|
|
134
160
|
/**
|
|
135
|
-
* Convert a file change to
|
|
161
|
+
* Convert a file change to an action step
|
|
136
162
|
*/
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
delete fc.content;
|
|
141
|
-
delete fc.previousContent;
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
if (fc.content) {
|
|
145
|
-
fc.content = this.truncateContent(fc.content);
|
|
146
|
-
}
|
|
147
|
-
if (fc.previousContent) {
|
|
148
|
-
fc.previousContent = this.truncateContent(fc.previousContent);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
return {
|
|
152
|
-
type: 'file_change',
|
|
163
|
+
fileChangeToActionStep(fileChange, timestamp, index) {
|
|
164
|
+
const step = {
|
|
165
|
+
type: 'action',
|
|
153
166
|
timestamp,
|
|
154
|
-
|
|
167
|
+
index,
|
|
168
|
+
summary: `${this.capitalizeFirst(fileChange.changeType)} ${fileChange.path}`,
|
|
169
|
+
files: [fileChange.path],
|
|
170
|
+
changeType: fileChange.changeType,
|
|
155
171
|
};
|
|
172
|
+
// Only include diff in full format
|
|
173
|
+
if (this.options.format === 'full' && fileChange.content) {
|
|
174
|
+
step.diff = fileChange.content;
|
|
175
|
+
}
|
|
176
|
+
return step;
|
|
156
177
|
}
|
|
157
178
|
/**
|
|
158
|
-
* Convert a terminal command to a
|
|
179
|
+
* Convert a terminal command to a terminal step
|
|
159
180
|
*/
|
|
160
|
-
|
|
161
|
-
|
|
181
|
+
terminalToStep(command, timestamp, index) {
|
|
182
|
+
const step = {
|
|
162
183
|
type: 'terminal',
|
|
163
184
|
timestamp,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
output: command.output ? this.truncateContent(command.output) : undefined,
|
|
167
|
-
},
|
|
185
|
+
index,
|
|
186
|
+
command: command.command,
|
|
168
187
|
};
|
|
188
|
+
if (command.cwd) {
|
|
189
|
+
step.cwd = command.cwd;
|
|
190
|
+
}
|
|
191
|
+
if (command.exitCode !== undefined) {
|
|
192
|
+
step.exitCode = command.exitCode;
|
|
193
|
+
}
|
|
194
|
+
// Only include output in full format
|
|
195
|
+
if (this.options.format === 'full' && command.output) {
|
|
196
|
+
step.output = command.output;
|
|
197
|
+
}
|
|
198
|
+
return step;
|
|
169
199
|
}
|
|
170
200
|
/**
|
|
171
201
|
* Filter messages based on options
|
|
@@ -185,23 +215,49 @@ class BuildlogExporter {
|
|
|
185
215
|
/**
|
|
186
216
|
* Build metadata for the buildlog
|
|
187
217
|
*/
|
|
188
|
-
buildMetadata(history,
|
|
218
|
+
buildMetadata(history, steps) {
|
|
189
219
|
const now = new Date().toISOString();
|
|
190
|
-
const timestamps =
|
|
220
|
+
const timestamps = steps.map((s) => s.timestamp).filter(Boolean);
|
|
191
221
|
const duration = timestamps.length >= 2
|
|
192
222
|
? Math.max(...timestamps) - Math.min(...timestamps)
|
|
193
223
|
: 0;
|
|
194
|
-
|
|
224
|
+
const promptCount = steps.filter((s) => s.type === 'prompt').length;
|
|
225
|
+
const metadata = {
|
|
195
226
|
id: this.generateId(),
|
|
196
|
-
title: this.options.title ?? this.inferTitle(history) ?? 'Untitled
|
|
197
|
-
description: this.options.description ?? this.inferDescription(history),
|
|
227
|
+
title: this.options.title ?? this.inferTitle(history) ?? 'Untitled Workflow',
|
|
198
228
|
createdAt: now,
|
|
199
|
-
duration,
|
|
200
|
-
entryCount: entries.length,
|
|
201
|
-
tags: this.options.tags ?? this.inferTags(history),
|
|
202
|
-
author: this.options.author,
|
|
203
|
-
...history.metadata,
|
|
204
229
|
};
|
|
230
|
+
if (this.options.description) {
|
|
231
|
+
metadata.description = this.options.description;
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
const inferred = this.inferDescription(steps);
|
|
235
|
+
if (inferred)
|
|
236
|
+
metadata.description = inferred;
|
|
237
|
+
}
|
|
238
|
+
if (duration > 0)
|
|
239
|
+
metadata.duration = duration;
|
|
240
|
+
if (this.options.author)
|
|
241
|
+
metadata.author = { name: this.options.author };
|
|
242
|
+
if (this.options.tags && this.options.tags.length > 0) {
|
|
243
|
+
metadata.tags = this.options.tags;
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
const inferredTags = this.inferTags(history);
|
|
247
|
+
if (inferredTags.length > 0)
|
|
248
|
+
metadata.tags = inferredTags;
|
|
249
|
+
}
|
|
250
|
+
metadata.stepCount = steps.length;
|
|
251
|
+
metadata.promptCount = promptCount;
|
|
252
|
+
if (this.options.aiProvider)
|
|
253
|
+
metadata.aiProvider = this.options.aiProvider;
|
|
254
|
+
if (this.options.editor)
|
|
255
|
+
metadata.editor = this.options.editor;
|
|
256
|
+
// Merge with session metadata
|
|
257
|
+
if (history.metadata) {
|
|
258
|
+
Object.assign(metadata, history.metadata);
|
|
259
|
+
}
|
|
260
|
+
return metadata;
|
|
205
261
|
}
|
|
206
262
|
/**
|
|
207
263
|
* Try to infer a title from the session content
|
|
@@ -221,20 +277,20 @@ class BuildlogExporter {
|
|
|
221
277
|
return firstLine.slice(0, 57) + '...';
|
|
222
278
|
}
|
|
223
279
|
/**
|
|
224
|
-
* Try to infer a description from the
|
|
280
|
+
* Try to infer a description from the steps
|
|
225
281
|
*/
|
|
226
|
-
inferDescription(
|
|
227
|
-
const
|
|
228
|
-
const
|
|
229
|
-
const
|
|
282
|
+
inferDescription(steps) {
|
|
283
|
+
const promptCount = steps.filter((s) => s.type === 'prompt').length;
|
|
284
|
+
const actionCount = steps.filter((s) => s.type === 'action').length;
|
|
285
|
+
const terminalCount = steps.filter((s) => s.type === 'terminal').length;
|
|
230
286
|
const parts = [];
|
|
231
|
-
if (
|
|
232
|
-
parts.push(`${
|
|
233
|
-
if (
|
|
234
|
-
parts.push(`${
|
|
235
|
-
if (
|
|
236
|
-
parts.push(`${
|
|
237
|
-
return parts.length > 0 ? `
|
|
287
|
+
if (promptCount > 0)
|
|
288
|
+
parts.push(`${promptCount} prompt${promptCount > 1 ? 's' : ''}`);
|
|
289
|
+
if (actionCount > 0)
|
|
290
|
+
parts.push(`${actionCount} action${actionCount > 1 ? 's' : ''}`);
|
|
291
|
+
if (terminalCount > 0)
|
|
292
|
+
parts.push(`${terminalCount} command${terminalCount > 1 ? 's' : ''}`);
|
|
293
|
+
return parts.length > 0 ? `Workflow with ${parts.join(', ')}` : undefined;
|
|
238
294
|
}
|
|
239
295
|
/**
|
|
240
296
|
* Try to infer tags from file extensions and content
|
|
@@ -282,51 +338,32 @@ class BuildlogExporter {
|
|
|
282
338
|
return Array.from(tags).slice(0, 10);
|
|
283
339
|
}
|
|
284
340
|
/**
|
|
285
|
-
*
|
|
286
|
-
*/
|
|
287
|
-
detectChapters(entries) {
|
|
288
|
-
const chapters = [];
|
|
289
|
-
for (let i = 0; i < entries.length; i++) {
|
|
290
|
-
const entry = entries[i];
|
|
291
|
-
// Look for user messages that start a new topic
|
|
292
|
-
if (entry.type === 'user' && entry.content) {
|
|
293
|
-
const content = entry.content.toLowerCase();
|
|
294
|
-
// Check for chapter-like phrases
|
|
295
|
-
const chapterPatterns = [
|
|
296
|
-
/^(now|next|let's|let us|can you|please)\s+(create|build|add|implement|fix|update|refactor)/i,
|
|
297
|
-
/^(step|part|phase)\s+\d+/i,
|
|
298
|
-
/^(first|second|third|finally|lastly)/i,
|
|
299
|
-
];
|
|
300
|
-
for (const pattern of chapterPatterns) {
|
|
301
|
-
if (pattern.test(content)) {
|
|
302
|
-
const title = this.extractChapterTitle(entry.content);
|
|
303
|
-
chapters.push({ title, startIndex: i });
|
|
304
|
-
break;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
return chapters;
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Extract a chapter title from a message
|
|
341
|
+
* Try to infer outcome from the session
|
|
313
342
|
*/
|
|
314
|
-
|
|
315
|
-
const
|
|
316
|
-
if (
|
|
317
|
-
return
|
|
343
|
+
inferOutcome(history) {
|
|
344
|
+
const lastMessage = history.messages.findLast((m) => m.role === 'assistant');
|
|
345
|
+
if (!lastMessage)
|
|
346
|
+
return undefined;
|
|
347
|
+
const content = lastMessage.content.toLowerCase();
|
|
348
|
+
// Look for success indicators
|
|
349
|
+
const successIndicators = ['done', 'complete', 'finished', 'works', 'success'];
|
|
350
|
+
const hasSuccess = successIndicators.some((i) => content.includes(i));
|
|
351
|
+
// Look for failure indicators
|
|
352
|
+
const failureIndicators = ['error', 'failed', 'doesn\'t work', 'issue', 'problem'];
|
|
353
|
+
const hasFailure = failureIndicators.some((i) => content.includes(i));
|
|
354
|
+
if (hasSuccess && !hasFailure) {
|
|
355
|
+
return {
|
|
356
|
+
status: 'completed',
|
|
357
|
+
summary: 'Workflow completed successfully',
|
|
358
|
+
};
|
|
318
359
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
truncateContent(content) {
|
|
325
|
-
const maxBytes = (this.options.maxFileSizeKb ?? 100) * 1024;
|
|
326
|
-
if (content.length <= maxBytes) {
|
|
327
|
-
return content;
|
|
360
|
+
else if (hasFailure && !hasSuccess) {
|
|
361
|
+
return {
|
|
362
|
+
status: 'failed',
|
|
363
|
+
summary: 'Workflow encountered issues',
|
|
364
|
+
};
|
|
328
365
|
}
|
|
329
|
-
return
|
|
366
|
+
return undefined;
|
|
330
367
|
}
|
|
331
368
|
/**
|
|
332
369
|
* Generate a unique ID
|
|
@@ -334,6 +371,12 @@ class BuildlogExporter {
|
|
|
334
371
|
generateId() {
|
|
335
372
|
return `bl_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
|
|
336
373
|
}
|
|
374
|
+
/**
|
|
375
|
+
* Capitalize first letter
|
|
376
|
+
*/
|
|
377
|
+
capitalizeFirst(str) {
|
|
378
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
379
|
+
}
|
|
337
380
|
}
|
|
338
381
|
exports.BuildlogExporter = BuildlogExporter;
|
|
339
382
|
/**
|
package/dist/exporter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exporter.js","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exporter.js","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
|