@buildlog/openclaw-skill 1.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/LICENSE +21 -0
- package/README.md +282 -0
- package/SKILL.md +122 -0
- package/dist/exporter.d.ts +110 -0
- package/dist/exporter.d.ts.map +1 -0
- package/dist/exporter.js +346 -0
- package/dist/exporter.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/recorder.d.ts +145 -0
- package/dist/recorder.d.ts.map +1 -0
- package/dist/recorder.js +286 -0
- package/dist/recorder.js.map +1 -0
- package/dist/skill.d.ts +75 -0
- package/dist/skill.d.ts.map +1 -0
- package/dist/skill.js +394 -0
- package/dist/skill.js.map +1 -0
- package/dist/types.d.ts +63 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/dist/uploader.d.ts +97 -0
- package/dist/uploader.d.ts.map +1 -0
- package/dist/uploader.js +239 -0
- package/dist/uploader.js.map +1 -0
- package/package.json +53 -0
package/dist/uploader.js
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UploadError = exports.BuildlogUploader = void 0;
|
|
4
|
+
exports.uploadBuildlog = uploadBuildlog;
|
|
5
|
+
const DEFAULT_BASE_URL = 'https://api.buildlog.ai';
|
|
6
|
+
const DEFAULT_TIMEOUT = 30000;
|
|
7
|
+
/**
|
|
8
|
+
* BuildlogUploader - Upload buildlogs to buildlog.ai
|
|
9
|
+
*/
|
|
10
|
+
class BuildlogUploader {
|
|
11
|
+
config;
|
|
12
|
+
constructor(config = {}) {
|
|
13
|
+
this.config = {
|
|
14
|
+
apiKey: config.apiKey ?? '',
|
|
15
|
+
baseUrl: config.baseUrl ?? DEFAULT_BASE_URL,
|
|
16
|
+
timeout: config.timeout ?? DEFAULT_TIMEOUT,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Set API key (can be updated after construction)
|
|
21
|
+
*/
|
|
22
|
+
setApiKey(apiKey) {
|
|
23
|
+
this.config.apiKey = apiKey;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Upload a buildlog
|
|
27
|
+
*/
|
|
28
|
+
async upload(buildlog, options = {}) {
|
|
29
|
+
try {
|
|
30
|
+
const response = await this.request('/v1/buildlogs', {
|
|
31
|
+
method: 'POST',
|
|
32
|
+
body: JSON.stringify({
|
|
33
|
+
buildlog,
|
|
34
|
+
options: {
|
|
35
|
+
isPublic: options.isPublic ?? true,
|
|
36
|
+
allowComments: options.allowComments ?? true,
|
|
37
|
+
allowForks: options.allowForks ?? true,
|
|
38
|
+
expiresIn: options.expiresIn,
|
|
39
|
+
},
|
|
40
|
+
}),
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
success: true,
|
|
44
|
+
id: response.id,
|
|
45
|
+
url: response.url ?? `https://buildlog.ai/b/${response.id}`,
|
|
46
|
+
shortUrl: response.shortUrl ?? `https://bldlg.ai/${response.id}`,
|
|
47
|
+
embedUrl: response.embedUrl ?? `https://buildlog.ai/embed/${response.id}`,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return this.handleError(error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Update an existing buildlog
|
|
56
|
+
*/
|
|
57
|
+
async update(id, buildlog) {
|
|
58
|
+
try {
|
|
59
|
+
const response = await this.request(`/v1/buildlogs/${id}`, {
|
|
60
|
+
method: 'PATCH',
|
|
61
|
+
body: JSON.stringify({ buildlog }),
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
success: true,
|
|
65
|
+
id: response.id,
|
|
66
|
+
url: response.url,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return this.handleError(error);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Delete a buildlog
|
|
75
|
+
*/
|
|
76
|
+
async delete(id) {
|
|
77
|
+
try {
|
|
78
|
+
await this.request(`/v1/buildlogs/${id}`, {
|
|
79
|
+
method: 'DELETE',
|
|
80
|
+
});
|
|
81
|
+
return { success: true };
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
return this.handleError(error);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get buildlog info
|
|
89
|
+
*/
|
|
90
|
+
async getInfo(id) {
|
|
91
|
+
try {
|
|
92
|
+
return await this.request(`/v1/buildlogs/${id}`, {
|
|
93
|
+
method: 'GET',
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* List user's buildlogs
|
|
102
|
+
*/
|
|
103
|
+
async list(options = {}) {
|
|
104
|
+
const params = new URLSearchParams();
|
|
105
|
+
if (options.limit)
|
|
106
|
+
params.set('limit', options.limit.toString());
|
|
107
|
+
if (options.offset)
|
|
108
|
+
params.set('offset', options.offset.toString());
|
|
109
|
+
if (options.sort)
|
|
110
|
+
params.set('sort', options.sort);
|
|
111
|
+
try {
|
|
112
|
+
return await this.request(`/v1/buildlogs?${params.toString()}`, { method: 'GET' });
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return { buildlogs: [], total: 0 };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Generate a shareable link (for anonymous uploads)
|
|
120
|
+
*/
|
|
121
|
+
async createShareLink(buildlog) {
|
|
122
|
+
return this.upload(buildlog, {
|
|
123
|
+
isPublic: true,
|
|
124
|
+
allowComments: false,
|
|
125
|
+
allowForks: true,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Validate API key
|
|
130
|
+
*/
|
|
131
|
+
async validateApiKey() {
|
|
132
|
+
if (!this.config.apiKey) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
await this.request('/v1/auth/validate', { method: 'GET' });
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Check if connected to buildlog.ai
|
|
145
|
+
*/
|
|
146
|
+
async ping() {
|
|
147
|
+
try {
|
|
148
|
+
await this.request('/v1/health', { method: 'GET' });
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Private methods
|
|
156
|
+
async request(path, options) {
|
|
157
|
+
const url = `${this.config.baseUrl}${path}`;
|
|
158
|
+
const headers = {
|
|
159
|
+
'Content-Type': 'application/json',
|
|
160
|
+
'User-Agent': 'buildlog-openclaw-skill/1.0.0',
|
|
161
|
+
};
|
|
162
|
+
if (this.config.apiKey) {
|
|
163
|
+
headers['Authorization'] = `Bearer ${this.config.apiKey}`;
|
|
164
|
+
}
|
|
165
|
+
const controller = new AbortController();
|
|
166
|
+
const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);
|
|
167
|
+
try {
|
|
168
|
+
const response = await fetch(url, {
|
|
169
|
+
...options,
|
|
170
|
+
headers: {
|
|
171
|
+
...headers,
|
|
172
|
+
...options.headers,
|
|
173
|
+
},
|
|
174
|
+
signal: controller.signal,
|
|
175
|
+
});
|
|
176
|
+
clearTimeout(timeoutId);
|
|
177
|
+
if (!response.ok) {
|
|
178
|
+
const errorData = await response.json().catch(() => ({}));
|
|
179
|
+
throw new UploadError(errorData.message || `HTTP ${response.status}`, response.status.toString(), response.status);
|
|
180
|
+
}
|
|
181
|
+
// Handle empty responses
|
|
182
|
+
const text = await response.text();
|
|
183
|
+
if (!text) {
|
|
184
|
+
return {};
|
|
185
|
+
}
|
|
186
|
+
return JSON.parse(text);
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
clearTimeout(timeoutId);
|
|
190
|
+
if (error instanceof UploadError) {
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
193
|
+
if (error instanceof Error) {
|
|
194
|
+
if (error.name === 'AbortError') {
|
|
195
|
+
throw new UploadError('Request timeout', 'TIMEOUT', 408);
|
|
196
|
+
}
|
|
197
|
+
throw new UploadError(error.message, 'NETWORK_ERROR', 0);
|
|
198
|
+
}
|
|
199
|
+
throw new UploadError('Unknown error', 'UNKNOWN', 0);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
handleError(error) {
|
|
203
|
+
if (error instanceof UploadError) {
|
|
204
|
+
return {
|
|
205
|
+
success: false,
|
|
206
|
+
error: error.message,
|
|
207
|
+
errorCode: error.code,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
return {
|
|
211
|
+
success: false,
|
|
212
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
213
|
+
errorCode: 'UNKNOWN',
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.BuildlogUploader = BuildlogUploader;
|
|
218
|
+
/**
|
|
219
|
+
* Custom error class for upload errors
|
|
220
|
+
*/
|
|
221
|
+
class UploadError extends Error {
|
|
222
|
+
code;
|
|
223
|
+
status;
|
|
224
|
+
constructor(message, code, status) {
|
|
225
|
+
super(message);
|
|
226
|
+
this.code = code;
|
|
227
|
+
this.status = status;
|
|
228
|
+
this.name = 'UploadError';
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
exports.UploadError = UploadError;
|
|
232
|
+
/**
|
|
233
|
+
* Convenience function to upload a buildlog
|
|
234
|
+
*/
|
|
235
|
+
async function uploadBuildlog(buildlog, config = {}, options = {}) {
|
|
236
|
+
const uploader = new BuildlogUploader(config);
|
|
237
|
+
return uploader.upload(buildlog, options);
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=uploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@buildlog/openclaw-skill",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Record, export, and share your AI coding sessions as replayable buildlogs",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"SKILL.md"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc",
|
|
13
|
+
"dev": "tsc --watch",
|
|
14
|
+
"prepublishOnly": "npm run build",
|
|
15
|
+
"lint": "eslint src --ext .ts",
|
|
16
|
+
"test": "vitest"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"openclaw",
|
|
20
|
+
"skill",
|
|
21
|
+
"buildlog",
|
|
22
|
+
"ai",
|
|
23
|
+
"coding",
|
|
24
|
+
"recording",
|
|
25
|
+
"session"
|
|
26
|
+
],
|
|
27
|
+
"author": "buildlog.ai",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://github.com/buildlog/openclaw-skill.git"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://buildlog.ai",
|
|
34
|
+
"bugs": {
|
|
35
|
+
"url": "https://github.com/buildlog/openclaw-skill/issues"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/node": "^20.10.0",
|
|
39
|
+
"typescript": "^5.3.0",
|
|
40
|
+
"vitest": "^1.0.0"
|
|
41
|
+
},
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"@openclaw/sdk": "^1.0.0"
|
|
44
|
+
},
|
|
45
|
+
"peerDependenciesMeta": {
|
|
46
|
+
"@openclaw/sdk": {
|
|
47
|
+
"optional": true
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=18.0.0"
|
|
52
|
+
}
|
|
53
|
+
}
|