opencode-agora 0.2.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/LICENSE +21 -0
- package/README.md +309 -0
- package/dist/api.d.ts +69 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +109 -0
- package/dist/api.js.map +1 -0
- package/dist/cli/app.d.ts +22 -0
- package/dist/cli/app.d.ts.map +1 -0
- package/dist/cli/app.js +1111 -0
- package/dist/cli/app.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -0
- package/dist/config-files.d.ts +27 -0
- package/dist/config-files.d.ts.map +1 -0
- package/dist/config-files.js +78 -0
- package/dist/config-files.js.map +1 -0
- package/dist/config.d.ts +24 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +73 -0
- package/dist/config.js.map +1 -0
- package/dist/data.d.ts +8 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +1123 -0
- package/dist/data.js.map +1 -0
- package/dist/format.d.ts +40 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +127 -0
- package/dist/format.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +430 -0
- package/dist/index.js.map +1 -0
- package/dist/init.d.ts +22 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +199 -0
- package/dist/init.js.map +1 -0
- package/dist/live.d.ts +100 -0
- package/dist/live.d.ts.map +1 -0
- package/dist/live.js +443 -0
- package/dist/live.js.map +1 -0
- package/dist/logger.d.ts +20 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +59 -0
- package/dist/logger.js.map +1 -0
- package/dist/marketplace.d.ts +51 -0
- package/dist/marketplace.d.ts.map +1 -0
- package/dist/marketplace.js +219 -0
- package/dist/marketplace.js.map +1 -0
- package/dist/state.d.ts +46 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +169 -0
- package/dist/state.js.map +1 -0
- package/dist/types.d.ts +70 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +57 -0
package/dist/live.js
ADDED
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
import { findMarketplaceItem, findTutorial, getDiscussions, getTutorials, getTrendingItems, normalizeCategory, normalizeTutorialLevel, searchMarketplaceItems } from './marketplace.js';
|
|
2
|
+
export async function searchMarketplaceSource(options = {}) {
|
|
3
|
+
if (!shouldUseApi(options)) {
|
|
4
|
+
return offline(searchMarketplaceItems(options));
|
|
5
|
+
}
|
|
6
|
+
try {
|
|
7
|
+
const data = await searchApi(options);
|
|
8
|
+
return api(data, options);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
return offline(searchMarketplaceItems(options), error);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export async function findMarketplaceSource(options) {
|
|
15
|
+
if (!shouldUseApi(options)) {
|
|
16
|
+
return offline(findMarketplaceItem(options.id, { type: options.type }));
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const data = await findApi(options);
|
|
20
|
+
return api(data, options);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return offline(findMarketplaceItem(options.id, { type: options.type }), error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export async function trendingMarketplaceSource(options = {}) {
|
|
27
|
+
if (!shouldUseApi(options)) {
|
|
28
|
+
return offline(getTrendingItems(options));
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const data = await trendingApi(options);
|
|
32
|
+
return api(data, options);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return offline(getTrendingItems(options), error);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export async function discussionsSource(options = {}) {
|
|
39
|
+
if (!shouldUseApi(options)) {
|
|
40
|
+
return offline(getDiscussions(options.category, options.query));
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const data = await discussionsApi(options);
|
|
44
|
+
return api(data, options);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return offline(getDiscussions(options.category, options.query), error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export async function tutorialsSource(options = {}) {
|
|
51
|
+
if (!shouldUseApi(options)) {
|
|
52
|
+
return offline(getTutorials(options));
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const data = await tutorialsApi(options);
|
|
56
|
+
return api(data, options);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return offline(getTutorials(options), error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export async function findTutorialSource(options) {
|
|
63
|
+
if (!shouldUseApi(options)) {
|
|
64
|
+
return offline(findTutorial(options.id));
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const tutorials = await tutorialsApi(options);
|
|
68
|
+
return api(findTutorialInList(tutorials, options.id), options);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return offline(findTutorial(options.id), error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export async function createDiscussionSource(options, input) {
|
|
75
|
+
const payload = await requestJson(options, '/api/discussions', {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
body: JSON.stringify(input)
|
|
78
|
+
});
|
|
79
|
+
const discussion = (payload.discussion || payload);
|
|
80
|
+
if (!discussion.id) {
|
|
81
|
+
throw new Error('API response did not include a discussion');
|
|
82
|
+
}
|
|
83
|
+
return api(mapDiscussion(discussion), options);
|
|
84
|
+
}
|
|
85
|
+
export async function publishPackageSource(options, input) {
|
|
86
|
+
const payload = await requestJson(options, '/api/packages', {
|
|
87
|
+
method: 'POST',
|
|
88
|
+
body: JSON.stringify({
|
|
89
|
+
...input,
|
|
90
|
+
npm_package: input.npmPackage
|
|
91
|
+
})
|
|
92
|
+
});
|
|
93
|
+
if (!payload.package) {
|
|
94
|
+
throw new Error('API response did not include a package');
|
|
95
|
+
}
|
|
96
|
+
return api(mapPackage(payload.package), options);
|
|
97
|
+
}
|
|
98
|
+
export async function publishWorkflowSource(options, input) {
|
|
99
|
+
const payload = await requestJson(options, '/api/workflows', {
|
|
100
|
+
method: 'POST',
|
|
101
|
+
body: JSON.stringify(input)
|
|
102
|
+
});
|
|
103
|
+
if (!payload.workflow) {
|
|
104
|
+
throw new Error('API response did not include a workflow');
|
|
105
|
+
}
|
|
106
|
+
return api(mapWorkflow(payload.workflow), options);
|
|
107
|
+
}
|
|
108
|
+
export async function createReviewSource(options, input) {
|
|
109
|
+
const payload = await requestJson(options, '/api/reviews', {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
body: JSON.stringify(input)
|
|
112
|
+
});
|
|
113
|
+
if (!payload.review) {
|
|
114
|
+
throw new Error('API response did not include a review');
|
|
115
|
+
}
|
|
116
|
+
return api(mapReview(payload.review), options);
|
|
117
|
+
}
|
|
118
|
+
export async function listReviewsSource(options, itemId, itemType) {
|
|
119
|
+
const params = new URLSearchParams();
|
|
120
|
+
if (itemId)
|
|
121
|
+
params.set('item_id', itemId);
|
|
122
|
+
if (itemType)
|
|
123
|
+
params.set('item_type', itemType);
|
|
124
|
+
const suffix = params.size > 0 ? `?${params}` : '';
|
|
125
|
+
const payload = await requestJson(options, `/api/reviews${suffix}`);
|
|
126
|
+
return api((payload.reviews || []).map(mapReview), options);
|
|
127
|
+
}
|
|
128
|
+
export async function profileSource(options, username) {
|
|
129
|
+
if (!shouldUseApi(options)) {
|
|
130
|
+
return offline(null);
|
|
131
|
+
}
|
|
132
|
+
const payload = await requestNullable(options, `/api/users/${encodeURIComponent(username)}`);
|
|
133
|
+
return api(payload?.user ? mapProfile(payload.user) : null, options);
|
|
134
|
+
}
|
|
135
|
+
function shouldUseApi(options) {
|
|
136
|
+
return Boolean(options.useApi && options.apiUrl);
|
|
137
|
+
}
|
|
138
|
+
async function searchApi(options) {
|
|
139
|
+
const query = options.query || '';
|
|
140
|
+
const category = normalizeCategory(options.category || 'all');
|
|
141
|
+
const limit = normalizeLimit(options.limit) || 10;
|
|
142
|
+
const tasks = [];
|
|
143
|
+
if (category === 'all' || category === 'package' || isPackageCategory(category)) {
|
|
144
|
+
const params = new URLSearchParams({ q: query, limit: String(limit) });
|
|
145
|
+
if (isPackageCategory(category))
|
|
146
|
+
params.set('category', category);
|
|
147
|
+
tasks.push(requestJson(options, `/api/packages?${params}`)
|
|
148
|
+
.then((payload) => (payload.packages || []).map(mapPackage)));
|
|
149
|
+
}
|
|
150
|
+
if (category === 'all' || category === 'workflow') {
|
|
151
|
+
const params = new URLSearchParams({ q: query, limit: String(limit) });
|
|
152
|
+
tasks.push(requestJson(options, `/api/workflows?${params}`)
|
|
153
|
+
.then((payload) => (payload.workflows || []).map(mapWorkflow)));
|
|
154
|
+
}
|
|
155
|
+
const results = (await Promise.all(tasks)).flat().sort((a, b) => b.stars - a.stars);
|
|
156
|
+
return results.slice(0, limit);
|
|
157
|
+
}
|
|
158
|
+
async function findApi(options) {
|
|
159
|
+
const type = options.type?.toLowerCase();
|
|
160
|
+
if (type === 'package') {
|
|
161
|
+
const pkg = await requestNullable(options, `/api/packages/${encodeURIComponent(options.id)}`);
|
|
162
|
+
return pkg?.package ? mapPackage(pkg.package) : null;
|
|
163
|
+
}
|
|
164
|
+
if (type === 'workflow') {
|
|
165
|
+
const workflow = await requestNullable(options, `/api/workflows/${encodeURIComponent(options.id)}`);
|
|
166
|
+
return workflow?.workflow ? mapWorkflow(workflow.workflow) : null;
|
|
167
|
+
}
|
|
168
|
+
const pkg = await requestNullable(options, `/api/packages/${encodeURIComponent(options.id)}`);
|
|
169
|
+
if (pkg?.package)
|
|
170
|
+
return mapPackage(pkg.package);
|
|
171
|
+
const workflow = await requestNullable(options, `/api/workflows/${encodeURIComponent(options.id)}`);
|
|
172
|
+
return workflow?.workflow ? mapWorkflow(workflow.workflow) : null;
|
|
173
|
+
}
|
|
174
|
+
async function trendingApi(options) {
|
|
175
|
+
const category = normalizeCategory(options.category || 'all');
|
|
176
|
+
const limit = normalizeLimit(options.limit) || 5;
|
|
177
|
+
const payload = await requestJson(options, '/api/trending');
|
|
178
|
+
const packages = (payload.packages || []).map(mapPackage);
|
|
179
|
+
const workflows = (payload.workflows || []).map(mapWorkflow);
|
|
180
|
+
return [...packages, ...workflows]
|
|
181
|
+
.filter((item) => category === 'all' || item.category === category || (category === 'package' && item.kind === 'package'))
|
|
182
|
+
.sort((a, b) => b.stars - a.stars)
|
|
183
|
+
.slice(0, limit);
|
|
184
|
+
}
|
|
185
|
+
async function discussionsApi(options) {
|
|
186
|
+
const category = options.category && options.category !== 'all' ? options.category : '';
|
|
187
|
+
const params = category ? `?${new URLSearchParams({ category })}` : '';
|
|
188
|
+
const payload = await requestJson(options, `/api/discussions${params}`);
|
|
189
|
+
const query = (options.query || '').trim().toLowerCase();
|
|
190
|
+
return (payload.discussions || [])
|
|
191
|
+
.map(mapDiscussion)
|
|
192
|
+
.filter((discussion) => {
|
|
193
|
+
if (!query)
|
|
194
|
+
return true;
|
|
195
|
+
return `${discussion.title} ${discussion.content} ${discussion.author}`.toLowerCase().includes(query);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
async function tutorialsApi(options) {
|
|
199
|
+
const payload = await requestJson(options, '/api/tutorials');
|
|
200
|
+
const query = (options.query || '').trim().toLowerCase();
|
|
201
|
+
const level = normalizeTutorialLevel(options.level || 'all');
|
|
202
|
+
const limit = normalizeLimit(options.limit);
|
|
203
|
+
const tutorials = (payload.tutorials || [])
|
|
204
|
+
.map(mapTutorial)
|
|
205
|
+
.filter((tutorial) => level === 'all' || tutorial.level === level)
|
|
206
|
+
.filter((tutorial) => {
|
|
207
|
+
if (!query)
|
|
208
|
+
return true;
|
|
209
|
+
return `${tutorial.id} ${tutorial.title} ${tutorial.description} ${tutorial.level}`.toLowerCase().includes(query);
|
|
210
|
+
})
|
|
211
|
+
.sort((a, b) => a.title.localeCompare(b.title));
|
|
212
|
+
return limit ? tutorials.slice(0, limit) : tutorials;
|
|
213
|
+
}
|
|
214
|
+
async function requestJson(options, path, init = {}) {
|
|
215
|
+
const response = await fetchWithTimeout(options, buildUrl(options, path), init);
|
|
216
|
+
if (!response.ok) {
|
|
217
|
+
throw new Error(await responseError(response, path));
|
|
218
|
+
}
|
|
219
|
+
return response.json();
|
|
220
|
+
}
|
|
221
|
+
async function requestNullable(options, path) {
|
|
222
|
+
const response = await fetchWithTimeout(options, buildUrl(options, path));
|
|
223
|
+
if (response.status === 404)
|
|
224
|
+
return null;
|
|
225
|
+
if (!response.ok) {
|
|
226
|
+
throw new Error(await responseError(response, path));
|
|
227
|
+
}
|
|
228
|
+
return response.json();
|
|
229
|
+
}
|
|
230
|
+
async function fetchWithTimeout(options, url, init = {}) {
|
|
231
|
+
const fetcher = options.fetcher || fetch;
|
|
232
|
+
const timeoutMs = options.timeoutMs || 5000;
|
|
233
|
+
const controller = new AbortController();
|
|
234
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
235
|
+
const headers = new Headers(init.headers);
|
|
236
|
+
if (!headers.has('content-type') && init.body) {
|
|
237
|
+
headers.set('content-type', 'application/json');
|
|
238
|
+
}
|
|
239
|
+
if (options.token && !headers.has('authorization')) {
|
|
240
|
+
headers.set('authorization', `Bearer ${options.token}`);
|
|
241
|
+
}
|
|
242
|
+
try {
|
|
243
|
+
return await fetcher(url, { ...init, headers, signal: controller.signal });
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
if (controller.signal.aborted) {
|
|
247
|
+
throw new Error(`API request timed out after ${timeoutMs}ms`);
|
|
248
|
+
}
|
|
249
|
+
throw error;
|
|
250
|
+
}
|
|
251
|
+
finally {
|
|
252
|
+
clearTimeout(timer);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
async function responseError(response, path) {
|
|
256
|
+
try {
|
|
257
|
+
const body = await response.json();
|
|
258
|
+
if (body?.error)
|
|
259
|
+
return `API returned ${response.status} for ${path}: ${body.error}`;
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
// Use generic status message.
|
|
263
|
+
}
|
|
264
|
+
return `API returned ${response.status} for ${path}`;
|
|
265
|
+
}
|
|
266
|
+
function buildUrl(options, path) {
|
|
267
|
+
return new URL(path, ensureTrailingSlash(options.apiUrl || '')).toString();
|
|
268
|
+
}
|
|
269
|
+
function ensureTrailingSlash(value) {
|
|
270
|
+
return value.endsWith('/') ? value : `${value}/`;
|
|
271
|
+
}
|
|
272
|
+
function mapPackage(pkg) {
|
|
273
|
+
return {
|
|
274
|
+
id: pkg.id,
|
|
275
|
+
name: pkg.name,
|
|
276
|
+
description: pkg.description || '',
|
|
277
|
+
author: pkg.author || 'unknown',
|
|
278
|
+
version: pkg.version || '0.0.0',
|
|
279
|
+
category: normalizePackageCategory(pkg.category),
|
|
280
|
+
tags: parseTags(pkg.tags),
|
|
281
|
+
stars: Number(pkg.stars || 0),
|
|
282
|
+
installs: Number(pkg.installs || 0),
|
|
283
|
+
repository: pkg.repository || undefined,
|
|
284
|
+
npmPackage: pkg.npmPackage || pkg.npm_package || undefined,
|
|
285
|
+
createdAt: pkg.createdAt || pkg.created_at || '',
|
|
286
|
+
kind: 'package'
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
function mapWorkflow(workflow) {
|
|
290
|
+
return {
|
|
291
|
+
id: workflow.id,
|
|
292
|
+
name: workflow.name,
|
|
293
|
+
description: workflow.description || '',
|
|
294
|
+
author: workflow.author || 'unknown',
|
|
295
|
+
prompt: workflow.prompt || '',
|
|
296
|
+
model: workflow.model || undefined,
|
|
297
|
+
tags: parseTags(workflow.tags),
|
|
298
|
+
stars: Number(workflow.stars || 0),
|
|
299
|
+
forks: Number(workflow.forks || 0),
|
|
300
|
+
createdAt: workflow.createdAt || workflow.created_at || '',
|
|
301
|
+
category: 'workflow',
|
|
302
|
+
installs: Number(workflow.forks || 0),
|
|
303
|
+
kind: 'workflow'
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
function mapDiscussion(discussion) {
|
|
307
|
+
return {
|
|
308
|
+
id: discussion.id,
|
|
309
|
+
title: discussion.title,
|
|
310
|
+
content: discussion.content || '',
|
|
311
|
+
author: discussion.author || 'unknown',
|
|
312
|
+
category: normalizeDiscussionCategory(discussion.category),
|
|
313
|
+
replies: Number(discussion.replies ?? discussion.reply_count ?? 0),
|
|
314
|
+
stars: Number(discussion.stars || 0),
|
|
315
|
+
createdAt: discussion.createdAt || discussion.created_at || ''
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
function mapTutorial(tutorial) {
|
|
319
|
+
const level = normalizeTutorialLevel(tutorial.level || 'beginner');
|
|
320
|
+
return {
|
|
321
|
+
id: tutorial.id,
|
|
322
|
+
title: tutorial.title,
|
|
323
|
+
description: tutorial.description || '',
|
|
324
|
+
level: level === 'all' ? 'beginner' : level,
|
|
325
|
+
duration: tutorial.duration || '',
|
|
326
|
+
steps: parseTutorialSteps(tutorial.steps)
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
function mapReview(value) {
|
|
330
|
+
const review = value;
|
|
331
|
+
const itemType = review.itemType || review.item_type || 'package';
|
|
332
|
+
return {
|
|
333
|
+
id: String(review.id || ''),
|
|
334
|
+
itemId: String(review.itemId || review.item_id || ''),
|
|
335
|
+
itemType: itemType === 'workflow' ? 'workflow' : 'package',
|
|
336
|
+
author: String(review.author || 'unknown'),
|
|
337
|
+
rating: Number(review.rating || 0),
|
|
338
|
+
content: String(review.content || ''),
|
|
339
|
+
createdAt: String(review.createdAt || review.created_at || '')
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
function mapProfile(user) {
|
|
343
|
+
const username = String(user.username || '');
|
|
344
|
+
return {
|
|
345
|
+
id: String(user.id || username),
|
|
346
|
+
username,
|
|
347
|
+
displayName: String(user.displayName || user.display_name || username),
|
|
348
|
+
bio: user.bio || undefined,
|
|
349
|
+
avatarUrl: user.avatarUrl || user.avatar_url || undefined,
|
|
350
|
+
packages: Number(user.packages ?? user.package_count ?? 0),
|
|
351
|
+
workflows: Number(user.workflows ?? user.workflow_count ?? 0),
|
|
352
|
+
discussions: Number(user.discussions ?? user.discussion_count ?? 0),
|
|
353
|
+
joinedAt: String(user.joinedAt || user.createdAt || user.created_at || '')
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
function findTutorialInList(tutorials, id) {
|
|
357
|
+
const target = id.trim().toLowerCase();
|
|
358
|
+
return (tutorials.find((tutorial) => tutorial.id.toLowerCase() === target) ||
|
|
359
|
+
tutorials.find((tutorial) => tutorial.title.toLowerCase() === target) ||
|
|
360
|
+
tutorials.find((tutorial) => tutorial.id.toLowerCase().includes(target)) ||
|
|
361
|
+
tutorials.find((tutorial) => tutorial.title.toLowerCase().includes(target)) ||
|
|
362
|
+
null);
|
|
363
|
+
}
|
|
364
|
+
function parseTags(tags) {
|
|
365
|
+
if (Array.isArray(tags))
|
|
366
|
+
return tags;
|
|
367
|
+
if (!tags)
|
|
368
|
+
return [];
|
|
369
|
+
try {
|
|
370
|
+
const parsed = JSON.parse(tags);
|
|
371
|
+
if (Array.isArray(parsed))
|
|
372
|
+
return parsed.map(String);
|
|
373
|
+
}
|
|
374
|
+
catch {
|
|
375
|
+
// Fall back to comma-separated tags.
|
|
376
|
+
}
|
|
377
|
+
return tags.split(',').map((tag) => tag.trim()).filter(Boolean);
|
|
378
|
+
}
|
|
379
|
+
function parseTutorialSteps(steps) {
|
|
380
|
+
if (Array.isArray(steps))
|
|
381
|
+
return steps.map(normalizeTutorialStep).filter(Boolean);
|
|
382
|
+
if (!steps)
|
|
383
|
+
return [];
|
|
384
|
+
try {
|
|
385
|
+
const parsed = JSON.parse(steps);
|
|
386
|
+
if (Array.isArray(parsed))
|
|
387
|
+
return parsed.map(normalizeTutorialStep).filter(Boolean);
|
|
388
|
+
}
|
|
389
|
+
catch {
|
|
390
|
+
// Fall back to one text step when a backend stores plain text.
|
|
391
|
+
}
|
|
392
|
+
return [{
|
|
393
|
+
title: 'Tutorial',
|
|
394
|
+
content: steps
|
|
395
|
+
}];
|
|
396
|
+
}
|
|
397
|
+
function normalizeTutorialStep(step) {
|
|
398
|
+
if (!step || typeof step !== 'object')
|
|
399
|
+
return null;
|
|
400
|
+
const candidate = step;
|
|
401
|
+
const title = typeof candidate.title === 'string' && candidate.title.trim() ? candidate.title : 'Step';
|
|
402
|
+
const content = typeof candidate.content === 'string' ? candidate.content : '';
|
|
403
|
+
const code = typeof candidate.code === 'string' && candidate.code ? candidate.code : undefined;
|
|
404
|
+
if (!content)
|
|
405
|
+
return null;
|
|
406
|
+
return { title, content, code };
|
|
407
|
+
}
|
|
408
|
+
function normalizePackageCategory(category) {
|
|
409
|
+
const normalized = normalizeCategory(category || 'mcp');
|
|
410
|
+
return ['mcp', 'prompt', 'workflow', 'skill'].includes(normalized) ? normalized : 'mcp';
|
|
411
|
+
}
|
|
412
|
+
function normalizeDiscussionCategory(category) {
|
|
413
|
+
if (category === 'question' || category === 'idea' || category === 'showcase' || category === 'discussion') {
|
|
414
|
+
return category;
|
|
415
|
+
}
|
|
416
|
+
return 'discussion';
|
|
417
|
+
}
|
|
418
|
+
function isPackageCategory(category) {
|
|
419
|
+
return category === 'mcp' || category === 'prompt' || category === 'skill';
|
|
420
|
+
}
|
|
421
|
+
function normalizeLimit(limit) {
|
|
422
|
+
if (!limit || !Number.isFinite(limit) || limit < 1)
|
|
423
|
+
return undefined;
|
|
424
|
+
return Math.floor(limit);
|
|
425
|
+
}
|
|
426
|
+
function api(data, options) {
|
|
427
|
+
return {
|
|
428
|
+
source: 'api',
|
|
429
|
+
apiUrl: options.apiUrl,
|
|
430
|
+
data
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
function offline(data, error) {
|
|
434
|
+
return {
|
|
435
|
+
source: 'offline',
|
|
436
|
+
data,
|
|
437
|
+
fallbackReason: error ? errorToMessage(error) : undefined
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
function errorToMessage(error) {
|
|
441
|
+
return error instanceof Error ? error.message : String(error);
|
|
442
|
+
}
|
|
443
|
+
//# sourceMappingURL=live.js.map
|
package/dist/live.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EAKvB,MAAM,kBAAkB,CAAC;AA+K1B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAA+B,EAAE;IAC7E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA0B;IACpE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,UAA+B,EAAE;IAC/E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAmC,EAAE;IAC3E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAAiC,EAAE;IACvE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAkC;IACzE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EACtB,KAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,WAAW,CAA0D,OAAO,EAAE,kBAAkB,EAAE;QACtH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAkB,CAAC;IAEpE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAsB,EACtB,KAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,WAAW,CAA2B,OAAO,EAAE,eAAe,EAAE;QACpF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,GAAG,KAAK;YACR,WAAW,EAAE,KAAK,CAAC,UAAU;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,KAA2B;IAE3B,MAAM,OAAO,GAAG,MAAM,WAAW,CAA6B,OAAO,EAAE,gBAAgB,EAAE;QACvF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAsB,EACtB,KAAkB;IAElB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAuB,OAAO,EAAE,cAAc,EAAE;QAC/E,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAsB,EACtB,MAAe,EACf,QAAiB;IAEjB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,WAAW,CAA0B,OAAO,EAAE,eAAe,MAAM,EAAE,CAAC,CAAC;IAC7F,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB,EAAE,QAAgB;IAC1E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAe,CAAqB,OAAO,EAAE,cAAc,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjH,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB;IAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAA4B;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,KAAK,GAAiC,EAAE,CAAC;IAE/C,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,SAAS,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,iBAAiB,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,WAAW,CAA8B,OAAO,EAAE,iBAAiB,MAAM,EAAE,CAAC;aACpF,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAgC,OAAO,EAAE,kBAAkB,MAAM,EAAE,CAAC;aACvF,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACpF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAA0B;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IAEzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,eAAe,CAA2B,OAAO,EAAE,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxH,OAAO,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAA6B,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChI,OAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,eAAe,CAA2B,OAAO,EAAE,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxH,IAAI,GAAG,EAAE,OAAO;QAAE,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAA6B,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChI,OAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAA4B;IACrD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAyD,OAAO,EAAE,eAAe,CAAC,CAAC;IACpH,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC;SAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;SACzH,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAgC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAoC,OAAO,EAAE,mBAAmB,MAAM,EAAE,CAAC,CAAC;IAC3G,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEzD,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;SAC/B,GAAG,CAAC,aAAa,CAAC;SAClB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACrB,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAA8B;IACxD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAgC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;SACxC,GAAG,CAAC,WAAW,CAAC;SAChB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC;SACjE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnB,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpH,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,WAAW,CAAI,OAAsB,EAAE,IAAY,EAAE,OAAoB,EAAE;IACxF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAChF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,eAAe,CAAI,OAAsB,EAAE,IAAY;IACpE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAsB,EAAE,GAAW,EAAE,OAAoB,EAAE;IACzF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAkB,EAAE,IAAY;IAC3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,IAAI,IAAI,EAAE,KAAK;YAAE,OAAO,gBAAgB,QAAQ,CAAC,MAAM,QAAQ,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,OAAO,gBAAgB,QAAQ,CAAC,MAAM,QAAQ,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,OAAsB,EAAE,IAAY;IACpD,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,GAAe;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;QAC/B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;QAC/B,QAAQ,EAAE,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChD,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACvC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,IAAI,SAAS;QAC1D,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE;QAChD,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,QAAqB;IACxC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,SAAS;QACpC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;QAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;QAClC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QAClC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QAClC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,UAAU,IAAI,EAAE;QAC1D,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;QACrC,IAAI,EAAE,UAAU;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,UAAyB;IAC9C,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,EAAE;QACjC,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,SAAS;QACtC,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC1D,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;QAClE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;QACpC,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,UAAU,IAAI,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,QAAqB;IACxC,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;IAEnE,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;QAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,MAAM,GAAG,KAAY,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;IAElE,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrD,QAAQ,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC1D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAa;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAE7C,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC;QAC/B,QAAQ;QACR,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;QACtE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,SAAS;QAC1B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS;QACzD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1D,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QAC7D,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QACnE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAqB,EAAE,EAAU;IAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,CACL,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QAClE,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxE,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAwB;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;IACvC,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA2B;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAmB,CAAC;IACpG,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAmB,CAAC;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;IAED,OAAO,CAAC;YACN,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAa;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,SAAS,GAAG,IAA6B,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACvG,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,MAAM,IAAI,GAAG,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/F,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAiB;IACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAgD,CAAC,CAAC,CAAC,KAAK,CAAC;AAChI,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAiB;IACpD,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC3G,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA6B;IACtD,OAAO,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC;AAC7E,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,GAAG,CAAI,IAAO,EAAE,OAAsB;IAC7C,OAAO;QACL,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAI,IAAO,EAAE,KAAe;IAC1C,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
DEBUG = 0,
|
|
3
|
+
INFO = 1,
|
|
4
|
+
WARN = 2,
|
|
5
|
+
ERROR = 3
|
|
6
|
+
}
|
|
7
|
+
declare class Logger {
|
|
8
|
+
private level;
|
|
9
|
+
setLevel(level: LogLevel): void;
|
|
10
|
+
debug(...args: any[]): void;
|
|
11
|
+
info(...args: any[]): void;
|
|
12
|
+
warn(...args: any[]): void;
|
|
13
|
+
error(...args: any[]): void;
|
|
14
|
+
}
|
|
15
|
+
export declare const logger: Logger;
|
|
16
|
+
export declare function formatError(error: unknown): string;
|
|
17
|
+
export declare function safeExecute<T>(fn: () => T, fallback: T, context?: string): T;
|
|
18
|
+
export declare function safeExecuteAsync<T>(fn: () => Promise<T>, fallback: T, context?: string): Promise<T>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,cAAM,MAAM;IACV,OAAO,CAAC,KAAK,CAA2B;IAExC,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAIxB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAMpB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAMnB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAMnB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAKrB;AAED,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKlD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,SAAK,GAAG,CAAC,CAOxE;AAED,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,CAAC,EACX,OAAO,SAAK,GACX,OAAO,CAAC,CAAC,CAAC,CAOZ"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export var LogLevel;
|
|
2
|
+
(function (LogLevel) {
|
|
3
|
+
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
|
|
4
|
+
LogLevel[LogLevel["INFO"] = 1] = "INFO";
|
|
5
|
+
LogLevel[LogLevel["WARN"] = 2] = "WARN";
|
|
6
|
+
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
|
|
7
|
+
})(LogLevel || (LogLevel = {}));
|
|
8
|
+
class Logger {
|
|
9
|
+
level = LogLevel.INFO;
|
|
10
|
+
setLevel(level) {
|
|
11
|
+
this.level = level;
|
|
12
|
+
}
|
|
13
|
+
debug(...args) {
|
|
14
|
+
if (this.level <= LogLevel.DEBUG) {
|
|
15
|
+
console.debug('[Agora DEBUG]', ...args);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
info(...args) {
|
|
19
|
+
if (this.level <= LogLevel.INFO) {
|
|
20
|
+
console.log('[Agora INFO]', ...args);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
warn(...args) {
|
|
24
|
+
if (this.level <= LogLevel.WARN) {
|
|
25
|
+
console.warn('[Agora WARN]', ...args);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
error(...args) {
|
|
29
|
+
if (this.level <= LogLevel.ERROR) {
|
|
30
|
+
console.error('[Agora ERROR]', ...args);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export const logger = new Logger();
|
|
35
|
+
export function formatError(error) {
|
|
36
|
+
if (error instanceof Error) {
|
|
37
|
+
return `${error.message}${error.stack ? `\n${error.stack}` : ''}`;
|
|
38
|
+
}
|
|
39
|
+
return String(error);
|
|
40
|
+
}
|
|
41
|
+
export function safeExecute(fn, fallback, context = '') {
|
|
42
|
+
try {
|
|
43
|
+
return fn();
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
logger.error(`Error in ${context}:`, formatError(error));
|
|
47
|
+
return fallback;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export async function safeExecuteAsync(fn, fallback, context = '') {
|
|
51
|
+
try {
|
|
52
|
+
return await fn();
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
logger.error(`Async error in ${context}:`, formatError(error));
|
|
56
|
+
return fallback;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,MAAM,MAAM;IACF,KAAK,GAAa,QAAQ,CAAC,IAAI,CAAC;IAExC,QAAQ,CAAC,KAAe;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,GAAG,IAAW;QACjB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,IAAW;QAClB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAEnC,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,EAAW,EAAE,QAAW,EAAE,OAAO,GAAG,EAAE;IACnE,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAoB,EACpB,QAAW,EACX,OAAO,GAAG,EAAE;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,OAAO,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Package, Workflow, Discussion, Tutorial } from './types.js';
|
|
2
|
+
import type { OpenCodeConfig } from './config.js';
|
|
3
|
+
export type MarketplaceCategory = 'all' | 'package' | 'mcp' | 'prompt' | 'workflow' | 'skill';
|
|
4
|
+
export type MarketplaceItemType = 'package' | 'workflow';
|
|
5
|
+
export type PackageMarketplaceItem = Package & {
|
|
6
|
+
kind: 'package';
|
|
7
|
+
};
|
|
8
|
+
export type WorkflowMarketplaceItem = Workflow & {
|
|
9
|
+
kind: 'workflow';
|
|
10
|
+
category: 'workflow';
|
|
11
|
+
installs: number;
|
|
12
|
+
npmPackage?: never;
|
|
13
|
+
version?: never;
|
|
14
|
+
};
|
|
15
|
+
export type MarketplaceItem = PackageMarketplaceItem | WorkflowMarketplaceItem;
|
|
16
|
+
export interface SearchOptions {
|
|
17
|
+
query?: string;
|
|
18
|
+
category?: string;
|
|
19
|
+
limit?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface TutorialSearchOptions {
|
|
22
|
+
query?: string;
|
|
23
|
+
level?: string;
|
|
24
|
+
limit?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface FindOptions {
|
|
27
|
+
type?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface InstallPlan {
|
|
30
|
+
item: MarketplaceItem;
|
|
31
|
+
installable: boolean;
|
|
32
|
+
reason?: string;
|
|
33
|
+
config: OpenCodeConfig;
|
|
34
|
+
commands: string[];
|
|
35
|
+
notes: string[];
|
|
36
|
+
}
|
|
37
|
+
export declare function getMarketplaceItems(): MarketplaceItem[];
|
|
38
|
+
export declare function searchMarketplaceItems(options?: SearchOptions): MarketplaceItem[];
|
|
39
|
+
export declare function findMarketplaceItem(id: string, options?: FindOptions): MarketplaceItem | null;
|
|
40
|
+
export declare function getTrendingItems(options?: SearchOptions): MarketplaceItem[];
|
|
41
|
+
export declare function getDiscussions(category?: string, query?: string): Discussion[];
|
|
42
|
+
export declare function getTutorials(options?: TutorialSearchOptions): Tutorial[];
|
|
43
|
+
export declare function findTutorial(id: string): Tutorial | null;
|
|
44
|
+
export declare function getTrendingTags(limit?: number): string[];
|
|
45
|
+
export declare function createInstallPlan(item: MarketplaceItem, existingConfig?: OpenCodeConfig): InstallPlan;
|
|
46
|
+
export declare function buildOpenCodeConfig(items: MarketplaceItem[], existingConfig?: OpenCodeConfig): OpenCodeConfig;
|
|
47
|
+
export declare function getInstallKind(item: MarketplaceItem): 'mcp' | 'workflow' | 'unsupported';
|
|
48
|
+
export declare function workflowPluginName(workflow: WorkflowMarketplaceItem): string;
|
|
49
|
+
export declare function normalizeCategory(category: string): MarketplaceCategory;
|
|
50
|
+
export declare function normalizeTutorialLevel(level: string): Tutorial['level'] | 'all';
|
|
51
|
+
//# sourceMappingURL=marketplace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../src/marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAC9F,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEzD,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG;IAC7C,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAID,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAUvD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,aAAkB,GAAG,eAAe,EAAE,CAWrF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,eAAe,GAAG,IAAI,CAgBjG;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,aAAkB,GAAG,eAAe,EAAE,CAQ/E;AAED,wBAAgB,cAAc,CAAC,QAAQ,SAAQ,EAAE,KAAK,SAAK,GAAG,UAAU,EAAE,CAWzE;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,qBAA0B,GAAG,QAAQ,EAAE,CAW5E;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CASxD;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAI,GAAG,MAAM,EAAE,CAEnD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,cAAc,GAAE,cAAmB,GAClC,WAAW,CA6Bb;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EAAE,EACxB,cAAc,GAAE,cAAmB,GAClC,cAAc,CAwBhB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,GAAG,UAAU,GAAG,aAAa,CAIxF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAQvE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAM/E"}
|