opencode-agora 0.3.0 → 0.4.1
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/README.md +86 -255
- package/dist/atomic-write.d.ts +10 -0
- package/dist/atomic-write.d.ts.map +1 -0
- package/dist/atomic-write.js +23 -0
- package/dist/atomic-write.js.map +1 -0
- package/dist/auth/refresh.d.ts +17 -0
- package/dist/auth/refresh.d.ts.map +1 -0
- package/dist/auth/refresh.js +50 -0
- package/dist/auth/refresh.js.map +1 -0
- package/dist/cli/app.d.ts +13 -18
- package/dist/cli/app.d.ts.map +1 -1
- package/dist/cli/app.js +184 -1187
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/chat-renderer.d.ts +31 -0
- package/dist/cli/chat-renderer.d.ts.map +1 -0
- package/dist/cli/chat-renderer.js +275 -0
- package/dist/cli/chat-renderer.js.map +1 -0
- package/dist/cli/commands/browse.d.ts +4 -0
- package/dist/cli/commands/browse.d.ts.map +1 -0
- package/dist/cli/commands/browse.js +80 -0
- package/dist/cli/commands/browse.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +4 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +125 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/community.d.ts +12 -0
- package/dist/cli/commands/community.d.ts.map +1 -0
- package/dist/cli/commands/community.js +453 -0
- package/dist/cli/commands/community.js.map +1 -0
- package/dist/cli/commands/export.d.ts +3 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +108 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +299 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/learn.d.ts +4 -0
- package/dist/cli/commands/learn.d.ts.map +1 -0
- package/dist/cli/commands/learn.js +62 -0
- package/dist/cli/commands/learn.js.map +1 -0
- package/dist/cli/commands/marketplace.d.ts +9 -0
- package/dist/cli/commands/marketplace.d.ts.map +1 -0
- package/dist/cli/commands/marketplace.js +321 -0
- package/dist/cli/commands/marketplace.js.map +1 -0
- package/dist/cli/commands/notify.d.ts +3 -0
- package/dist/cli/commands/notify.d.ts.map +1 -0
- package/dist/cli/commands/notify.js +59 -0
- package/dist/cli/commands/notify.js.map +1 -0
- package/dist/cli/commands/operations.d.ts +16 -0
- package/dist/cli/commands/operations.d.ts.map +1 -0
- package/dist/cli/commands/operations.js +1006 -0
- package/dist/cli/commands/operations.js.map +1 -0
- package/dist/cli/commands/ping.d.ts +3 -0
- package/dist/cli/commands/ping.d.ts.map +1 -0
- package/dist/cli/commands/ping.js +56 -0
- package/dist/cli/commands/ping.js.map +1 -0
- package/dist/cli/commands/today.d.ts +3 -0
- package/dist/cli/commands/today.d.ts.map +1 -0
- package/dist/cli/commands/today.js +142 -0
- package/dist/cli/commands/today.js.map +1 -0
- package/dist/cli/commands/types.d.ts +5 -0
- package/dist/cli/commands/types.d.ts.map +1 -0
- package/dist/cli/commands/types.js +2 -0
- package/dist/cli/commands/types.js.map +1 -0
- package/dist/cli/commands/watch.d.ts +3 -0
- package/dist/cli/commands/watch.d.ts.map +1 -0
- package/dist/cli/commands/watch.js +41 -0
- package/dist/cli/commands/watch.js.map +1 -0
- package/dist/cli/commands/welcome.d.ts +3 -0
- package/dist/cli/commands/welcome.d.ts.map +1 -0
- package/dist/cli/commands/welcome.js +97 -0
- package/dist/cli/commands/welcome.js.map +1 -0
- package/dist/cli/commands-meta.d.ts +21 -0
- package/dist/cli/commands-meta.d.ts.map +1 -0
- package/dist/cli/commands-meta.js +828 -0
- package/dist/cli/commands-meta.js.map +1 -0
- package/dist/cli/completions-gen.d.ts +2 -0
- package/dist/cli/completions-gen.d.ts.map +1 -0
- package/dist/cli/completions-gen.js +195 -0
- package/dist/cli/completions-gen.js.map +1 -0
- package/dist/cli/completions.d.ts +18 -0
- package/dist/cli/completions.d.ts.map +1 -0
- package/dist/cli/completions.js +227 -0
- package/dist/cli/completions.js.map +1 -0
- package/dist/cli/flags.d.ts +19 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +91 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/format.d.ts +19 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +249 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli/helpers.d.ts +95 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/helpers.js +301 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/mcp-server.d.ts +4 -0
- package/dist/cli/mcp-server.d.ts.map +1 -0
- package/dist/cli/mcp-server.js +277 -0
- package/dist/cli/mcp-server.js.map +1 -0
- package/dist/cli/menu.d.ts +7 -0
- package/dist/cli/menu.d.ts.map +1 -0
- package/dist/cli/menu.js +172 -0
- package/dist/cli/menu.js.map +1 -0
- package/dist/cli/pages/community.d.ts +9 -0
- package/dist/cli/pages/community.d.ts.map +1 -0
- package/dist/cli/pages/community.js +1094 -0
- package/dist/cli/pages/community.js.map +1 -0
- package/dist/cli/pages/helpers.d.ts +37 -0
- package/dist/cli/pages/helpers.d.ts.map +1 -0
- package/dist/cli/pages/helpers.js +98 -0
- package/dist/cli/pages/helpers.js.map +1 -0
- package/dist/cli/pages/home.d.ts +4 -0
- package/dist/cli/pages/home.d.ts.map +1 -0
- package/dist/cli/pages/home.js +231 -0
- package/dist/cli/pages/home.js.map +1 -0
- package/dist/cli/pages/marketplace.d.ts +5 -0
- package/dist/cli/pages/marketplace.d.ts.map +1 -0
- package/dist/cli/pages/marketplace.js +583 -0
- package/dist/cli/pages/marketplace.js.map +1 -0
- package/dist/cli/pages/news.d.ts +31 -0
- package/dist/cli/pages/news.d.ts.map +1 -0
- package/dist/cli/pages/news.js +688 -0
- package/dist/cli/pages/news.js.map +1 -0
- package/dist/cli/pages/settings.d.ts +3 -0
- package/dist/cli/pages/settings.d.ts.map +1 -0
- package/dist/cli/pages/settings.js +296 -0
- package/dist/cli/pages/settings.js.map +1 -0
- package/dist/cli/pages/types.d.ts +67 -0
- package/dist/cli/pages/types.d.ts.map +1 -0
- package/dist/cli/pages/types.js +2 -0
- package/dist/cli/pages/types.js.map +1 -0
- package/dist/cli/prompter.d.ts +135 -0
- package/dist/cli/prompter.d.ts.map +1 -0
- package/dist/cli/prompter.js +710 -0
- package/dist/cli/prompter.js.map +1 -0
- package/dist/cli/shell.d.ts +23 -0
- package/dist/cli/shell.d.ts.map +1 -0
- package/dist/cli/shell.js +1106 -0
- package/dist/cli/shell.js.map +1 -0
- package/dist/cli/tui.d.ts +7 -0
- package/dist/cli/tui.d.ts.map +1 -0
- package/dist/cli/tui.js +419 -0
- package/dist/cli/tui.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +14 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +28 -0
- package/dist/commands.js.map +1 -0
- package/dist/community/client.d.ts +84 -0
- package/dist/community/client.d.ts.map +1 -0
- package/dist/community/client.js +340 -0
- package/dist/community/client.js.map +1 -0
- package/dist/community/search.d.ts +25 -0
- package/dist/community/search.d.ts.map +1 -0
- package/dist/community/search.js +62 -0
- package/dist/community/search.js.map +1 -0
- package/dist/community/types.d.ts +71 -0
- package/dist/community/types.d.ts.map +1 -0
- package/dist/community/types.js +11 -0
- package/dist/community/types.js.map +1 -0
- package/dist/config.d.ts +1 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -32
- package/dist/config.js.map +1 -1
- package/dist/data.d.ts +1 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +778 -40
- package/dist/data.js.map +1 -1
- package/dist/format.d.ts +5 -39
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +5 -120
- package/dist/format.js.map +1 -1
- package/dist/history.d.ts +13 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +37 -0
- package/dist/history.js.map +1 -0
- package/dist/hubs/cache.d.ts +6 -0
- package/dist/hubs/cache.d.ts.map +1 -0
- package/dist/hubs/cache.js +46 -0
- package/dist/hubs/cache.js.map +1 -0
- package/dist/hubs/enrichment.d.ts +43 -0
- package/dist/hubs/enrichment.d.ts.map +1 -0
- package/dist/hubs/enrichment.js +239 -0
- package/dist/hubs/enrichment.js.map +1 -0
- package/dist/hubs/github.d.ts +12 -0
- package/dist/hubs/github.d.ts.map +1 -0
- package/dist/hubs/github.js +54 -0
- package/dist/hubs/github.js.map +1 -0
- package/dist/hubs/huggingface.d.ts +27 -0
- package/dist/hubs/huggingface.d.ts.map +1 -0
- package/dist/hubs/huggingface.js +88 -0
- package/dist/hubs/huggingface.js.map +1 -0
- package/dist/hubs/quality.d.ts +26 -0
- package/dist/hubs/quality.d.ts.map +1 -0
- package/dist/hubs/quality.js +57 -0
- package/dist/hubs/quality.js.map +1 -0
- package/dist/hubs/types.d.ts +30 -0
- package/dist/hubs/types.d.ts.map +1 -0
- package/dist/hubs/types.js +2 -0
- package/dist/hubs/types.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +188 -224
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +6 -11
- package/dist/init.js.map +1 -1
- package/dist/live.d.ts +14 -0
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +35 -3
- package/dist/live.js.map +1 -1
- package/dist/marketplace.d.ts +25 -3
- package/dist/marketplace.d.ts.map +1 -1
- package/dist/marketplace.js +279 -22
- package/dist/marketplace.js.map +1 -1
- package/dist/news/cache.d.ts +13 -0
- package/dist/news/cache.d.ts.map +1 -0
- package/dist/news/cache.js +66 -0
- package/dist/news/cache.js.map +1 -0
- package/dist/news/score.d.ts +4 -0
- package/dist/news/score.d.ts.map +1 -0
- package/dist/news/score.js +43 -0
- package/dist/news/score.js.map +1 -0
- package/dist/news/sources/arxiv.d.ts +9 -0
- package/dist/news/sources/arxiv.d.ts.map +1 -0
- package/dist/news/sources/arxiv.js +107 -0
- package/dist/news/sources/arxiv.js.map +1 -0
- package/dist/news/sources/github-trending.d.ts +9 -0
- package/dist/news/sources/github-trending.d.ts.map +1 -0
- package/dist/news/sources/github-trending.js +97 -0
- package/dist/news/sources/github-trending.js.map +1 -0
- package/dist/news/sources/hn.d.ts +9 -0
- package/dist/news/sources/hn.d.ts.map +1 -0
- package/dist/news/sources/hn.js +57 -0
- package/dist/news/sources/hn.js.map +1 -0
- package/dist/news/sources/reddit.d.ts +9 -0
- package/dist/news/sources/reddit.d.ts.map +1 -0
- package/dist/news/sources/reddit.js +69 -0
- package/dist/news/sources/reddit.js.map +1 -0
- package/dist/news/sources/rss.d.ts +13 -0
- package/dist/news/sources/rss.d.ts.map +1 -0
- package/dist/news/sources/rss.js +14 -0
- package/dist/news/sources/rss.js.map +1 -0
- package/dist/news/types.d.ts +42 -0
- package/dist/news/types.d.ts.map +1 -0
- package/dist/news/types.js +56 -0
- package/dist/news/types.js.map +1 -0
- package/dist/preferences.d.ts +14 -0
- package/dist/preferences.d.ts.map +1 -0
- package/dist/preferences.js +31 -0
- package/dist/preferences.js.map +1 -0
- package/dist/settings.d.ts +26 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +251 -0
- package/dist/settings.js.map +1 -0
- package/dist/state.d.ts +9 -2
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +41 -19
- package/dist/state.js.map +1 -1
- package/dist/transcript.d.ts +28 -0
- package/dist/transcript.d.ts.map +1 -0
- package/dist/transcript.js +79 -0
- package/dist/transcript.js.map +1 -0
- package/dist/types.d.ts +19 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/ui.d.ts +157 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +296 -0
- package/dist/ui.js.map +1 -0
- package/package.json +11 -9
- package/dist/api.d.ts +0 -72
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -109
- package/dist/api.js.map +0 -1
- package/dist/logger.d.ts +0 -20
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -59
- package/dist/logger.js.map +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const booleanFlags = new Set([
|
|
2
|
+
'api',
|
|
3
|
+
'clear',
|
|
4
|
+
'continue',
|
|
5
|
+
'down',
|
|
6
|
+
'dryRun',
|
|
7
|
+
'fix',
|
|
8
|
+
'help',
|
|
9
|
+
'json',
|
|
10
|
+
'live',
|
|
11
|
+
'mcp',
|
|
12
|
+
'offline',
|
|
13
|
+
'once',
|
|
14
|
+
'refresh',
|
|
15
|
+
'sound',
|
|
16
|
+
'table',
|
|
17
|
+
'up',
|
|
18
|
+
'version',
|
|
19
|
+
'verbose',
|
|
20
|
+
'write',
|
|
21
|
+
'yes'
|
|
22
|
+
]);
|
|
23
|
+
export function normalizeFlag(flag) {
|
|
24
|
+
return flag.trim().replace(/-([a-z])/g, (_, char) => char.toUpperCase());
|
|
25
|
+
}
|
|
26
|
+
function shortFlag(arg) {
|
|
27
|
+
const flag = arg.slice(1);
|
|
28
|
+
if (flag === 'h')
|
|
29
|
+
return 'help';
|
|
30
|
+
if (flag === 'j')
|
|
31
|
+
return 'json';
|
|
32
|
+
if (flag === 'm')
|
|
33
|
+
return 'model';
|
|
34
|
+
if (flag === 'c')
|
|
35
|
+
return 'c';
|
|
36
|
+
if (flag === 'n')
|
|
37
|
+
return 'n';
|
|
38
|
+
if (flag === 't')
|
|
39
|
+
return 't';
|
|
40
|
+
if (flag === 'y')
|
|
41
|
+
return 'yes';
|
|
42
|
+
return flag;
|
|
43
|
+
}
|
|
44
|
+
export function parseArgs(argv) {
|
|
45
|
+
const flags = {};
|
|
46
|
+
const positionals = [];
|
|
47
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
48
|
+
const arg = argv[index];
|
|
49
|
+
if (arg === '--') {
|
|
50
|
+
positionals.push(...argv.slice(index + 1));
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
if (arg.startsWith('--')) {
|
|
54
|
+
const [rawKey, inlineValue] = arg.slice(2).split(/=(.*)/s, 2);
|
|
55
|
+
const key = normalizeFlag(rawKey);
|
|
56
|
+
if (inlineValue !== undefined) {
|
|
57
|
+
flags[key] = inlineValue;
|
|
58
|
+
}
|
|
59
|
+
else if (!booleanFlags.has(key) &&
|
|
60
|
+
argv[index + 1] &&
|
|
61
|
+
(!argv[index + 1].startsWith('-') || /^-\d/.test(argv[index + 1]))) {
|
|
62
|
+
flags[key] = argv[index + 1];
|
|
63
|
+
index += 1;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
flags[key] = true;
|
|
67
|
+
}
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (arg.startsWith('-') && arg.length > 1) {
|
|
71
|
+
const key = shortFlag(arg);
|
|
72
|
+
if (!booleanFlags.has(key) &&
|
|
73
|
+
argv[index + 1] &&
|
|
74
|
+
(!argv[index + 1].startsWith('-') || /^-\d/.test(argv[index + 1]))) {
|
|
75
|
+
flags[key] = argv[index + 1];
|
|
76
|
+
index += 1;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
flags[key] = true;
|
|
80
|
+
}
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
positionals.push(arg);
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
command: positionals[0],
|
|
87
|
+
args: positionals.slice(1),
|
|
88
|
+
flags
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/cli/flags.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Styler } from '../ui.js';
|
|
2
|
+
import { type MarketplaceItem } from '../marketplace.js';
|
|
3
|
+
import type { ResolvedSavedItem } from '../state.js';
|
|
4
|
+
import type { Tutorial } from '../types.js';
|
|
5
|
+
import type { ApiReview, ApiProfile } from '../live.js';
|
|
6
|
+
export declare function truncate(value: string, max: number): string;
|
|
7
|
+
export declare function formatDate(value: string): string;
|
|
8
|
+
export declare function formatItemList(items: MarketplaceItem[], style: Styler): string;
|
|
9
|
+
export declare function formatItemTable(items: MarketplaceItem[], style: Styler): string;
|
|
10
|
+
export declare function formatItemDetail(item: MarketplaceItem, style: Styler): string;
|
|
11
|
+
export declare function formatSavedList(items: ResolvedSavedItem[], style: Styler): string;
|
|
12
|
+
export declare function formatReviewList(reviews: ApiReview[], style: Styler): string;
|
|
13
|
+
export declare function formatProfileDetail(profile: ApiProfile, style: Styler): string;
|
|
14
|
+
export declare function formatTutorialList(tutorials: Tutorial[], style: Styler): string;
|
|
15
|
+
export declare function formatTutorialStep(tutorial: Tutorial, stepNumber: number, style: Styler): string;
|
|
16
|
+
export declare function welcome(color: boolean, trueColor: boolean, style: Styler, version: string): string;
|
|
17
|
+
export declare function header(title: string, meta: string[], style: Styler): string;
|
|
18
|
+
export declare function usage(style: Styler, version: string): string;
|
|
19
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAyC,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWxD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB9E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAsC/E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuC7E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBjF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAU5E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAe9E;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW/E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA2BhG;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,MAAM,CAiCR;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAqB5D"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { formatNumber } from '../format.js';
|
|
2
|
+
import { getInstallKind, renderPermissionLines } from '../marketplace.js';
|
|
3
|
+
import { COMMANDS } from './commands-meta.js';
|
|
4
|
+
import { renderBanner, renderBox } from '../ui.js';
|
|
5
|
+
function pricingBadge(pricing, style) {
|
|
6
|
+
if (!pricing)
|
|
7
|
+
return '';
|
|
8
|
+
if (pricing.kind === 'free')
|
|
9
|
+
return ' ' + style.dim('FREE');
|
|
10
|
+
if (pricing.kind === 'paid')
|
|
11
|
+
return ' ' + style.accent('PAID');
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
export function truncate(value, max) {
|
|
15
|
+
if (value.length <= max)
|
|
16
|
+
return value;
|
|
17
|
+
return value.slice(0, max - 1) + '…';
|
|
18
|
+
}
|
|
19
|
+
export function formatDate(value) {
|
|
20
|
+
if (!value)
|
|
21
|
+
return '';
|
|
22
|
+
const d = new Date(value);
|
|
23
|
+
if (isNaN(d.getTime()))
|
|
24
|
+
return value;
|
|
25
|
+
return d.toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });
|
|
26
|
+
}
|
|
27
|
+
export function formatItemList(items, style) {
|
|
28
|
+
const idWidth = Math.max(...items.map((item) => item.id.length));
|
|
29
|
+
return items
|
|
30
|
+
.map((item) => {
|
|
31
|
+
const metrics = item.kind === 'package'
|
|
32
|
+
? `${formatNumber(item.installs)} installs · ${formatNumber(item.stars)} ★`
|
|
33
|
+
: `${formatNumber(item.stars)} ★`;
|
|
34
|
+
const badge = item.kind === 'package' ? pricingBadge(item.pricing, style) : '';
|
|
35
|
+
return [
|
|
36
|
+
`${style.accent(item.id.padEnd(idWidth))} ${style.dim(metrics)}`,
|
|
37
|
+
style.dim(item.name) + badge,
|
|
38
|
+
truncate(item.description, 88),
|
|
39
|
+
style.dim(`${item.category} · by ${item.author}`)
|
|
40
|
+
].join('\n');
|
|
41
|
+
})
|
|
42
|
+
.join('\n\n');
|
|
43
|
+
}
|
|
44
|
+
export function formatItemTable(items, style) {
|
|
45
|
+
const idW = Math.max(4, ...items.map((i) => i.id.length));
|
|
46
|
+
const nameW = Math.max(4, ...items.map((i) => i.name.length));
|
|
47
|
+
const starW = 6;
|
|
48
|
+
const installW = 9;
|
|
49
|
+
const totalW = idW + 3 + nameW + 3 + starW + 3 + installW + 4;
|
|
50
|
+
const top = '┌' + '─'.repeat(totalW - 2) + '┐';
|
|
51
|
+
const bot = '└' + '─'.repeat(totalW - 2) + '┘';
|
|
52
|
+
const sep = '│';
|
|
53
|
+
const hdr = sep +
|
|
54
|
+
' ' +
|
|
55
|
+
'id'.padEnd(idW) +
|
|
56
|
+
' │ ' +
|
|
57
|
+
'name'.padEnd(nameW) +
|
|
58
|
+
' │ ' +
|
|
59
|
+
'stars'.padStart(starW) +
|
|
60
|
+
' │ ' +
|
|
61
|
+
'installs'.padStart(installW) +
|
|
62
|
+
' │';
|
|
63
|
+
const rows = items.map((item) => sep +
|
|
64
|
+
' ' +
|
|
65
|
+
style.accent(item.id.padEnd(idW)) +
|
|
66
|
+
' │ ' +
|
|
67
|
+
style.dim(item.name.padEnd(nameW)) +
|
|
68
|
+
' │ ' +
|
|
69
|
+
style.dim(formatNumber(item.stars).padStart(starW)) +
|
|
70
|
+
' │ ' +
|
|
71
|
+
style.dim(formatNumber(item.installs).padStart(installW)) +
|
|
72
|
+
' │');
|
|
73
|
+
return [top, hdr, ...rows, bot].join('\n');
|
|
74
|
+
}
|
|
75
|
+
export function formatItemDetail(item, style) {
|
|
76
|
+
const badge = item.kind === 'package' ? pricingBadge(item.pricing, style) : '';
|
|
77
|
+
const lines = [
|
|
78
|
+
style.bold(item.name) + badge,
|
|
79
|
+
`${style.dim('id')} ${style.accent(item.id)}`,
|
|
80
|
+
`${style.dim('type')} ${item.kind}`,
|
|
81
|
+
`${style.dim('category')} ${item.category}`,
|
|
82
|
+
`${style.dim('author')} ${item.author}`,
|
|
83
|
+
`${style.dim('stars')} ${formatNumber(item.stars)}`,
|
|
84
|
+
`${style.dim('install')} ${getInstallKind(item)}`,
|
|
85
|
+
'',
|
|
86
|
+
item.description,
|
|
87
|
+
'',
|
|
88
|
+
`${style.dim('tags')} ${item.tags.join(', ')}`
|
|
89
|
+
];
|
|
90
|
+
if (item.kind === 'package') {
|
|
91
|
+
lines.splice(5, 0, `${style.dim('version')} ${item.version}`);
|
|
92
|
+
lines.push(`${style.dim('installs')} ${formatNumber(item.installs)}`);
|
|
93
|
+
if (item.repository)
|
|
94
|
+
lines.push(`${style.dim('repo')} ${item.repository}`);
|
|
95
|
+
if (item.npmPackage)
|
|
96
|
+
lines.push(`${style.dim('npm')} ${item.npmPackage}`);
|
|
97
|
+
if (item.permissions) {
|
|
98
|
+
const permRows = renderPermissionLines(item.permissions);
|
|
99
|
+
if (permRows.length > 1) {
|
|
100
|
+
lines.push('');
|
|
101
|
+
// First row is "Permissions" label; subsequent rows are the indented values.
|
|
102
|
+
lines.push(style.dim(permRows[0]));
|
|
103
|
+
for (const row of permRows.slice(1))
|
|
104
|
+
lines.push(row);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (item.kind === 'workflow') {
|
|
109
|
+
lines.push(`${style.dim('forks')} ${item.forks}`);
|
|
110
|
+
if (item.model)
|
|
111
|
+
lines.push(`${style.dim('model')} ${item.model}`);
|
|
112
|
+
lines.push('', style.dim('prompt'), item.prompt);
|
|
113
|
+
}
|
|
114
|
+
return lines.join('\n');
|
|
115
|
+
}
|
|
116
|
+
export function formatSavedList(items, style) {
|
|
117
|
+
return items
|
|
118
|
+
.map((entry, index) => {
|
|
119
|
+
if (!entry.item) {
|
|
120
|
+
return [
|
|
121
|
+
`${index + 1}. ${style.accent(entry.saved.id)} ${style.dim('[missing]')}`,
|
|
122
|
+
` ${style.dim('saved ' + formatDate(entry.saved.savedAt))}`
|
|
123
|
+
].join('\n');
|
|
124
|
+
}
|
|
125
|
+
return [
|
|
126
|
+
`${index + 1}. ${style.accent(entry.item.id)} ${style.dim('[' + entry.item.category + ']')}`,
|
|
127
|
+
` ${style.dim(entry.item.name)}`,
|
|
128
|
+
` ${truncate(entry.item.description, 88)}`,
|
|
129
|
+
` ${style.dim('saved ' + formatDate(entry.saved.savedAt))}`
|
|
130
|
+
].join('\n');
|
|
131
|
+
})
|
|
132
|
+
.join('\n\n');
|
|
133
|
+
}
|
|
134
|
+
export function formatReviewList(reviews, style) {
|
|
135
|
+
return reviews
|
|
136
|
+
.map((review, index) => {
|
|
137
|
+
return [
|
|
138
|
+
`${index + 1}. ${style.accent(review.itemId)} ${style.dim('[' + review.itemType + ']')}`,
|
|
139
|
+
` ${style.dim('rating ' + review.rating + '/5 by ' + review.author)}`,
|
|
140
|
+
` ${truncate(review.content, 88)}`
|
|
141
|
+
].join('\n');
|
|
142
|
+
})
|
|
143
|
+
.join('\n\n');
|
|
144
|
+
}
|
|
145
|
+
export function formatProfileDetail(profile, style) {
|
|
146
|
+
const lines = [
|
|
147
|
+
style.bold(profile.displayName),
|
|
148
|
+
`${style.dim('username')} ${style.accent(profile.username)}`,
|
|
149
|
+
`${style.dim('packages')} ${formatNumber(profile.packages)}`,
|
|
150
|
+
`${style.dim('workflows')} ${formatNumber(profile.workflows)}`,
|
|
151
|
+
`${style.dim('discussions')} ${formatNumber(profile.discussions)}`,
|
|
152
|
+
`${style.dim('reputation')} ${profile.reputation ?? 0}`
|
|
153
|
+
];
|
|
154
|
+
if (profile.bio)
|
|
155
|
+
lines.splice(2, 0, `${style.dim('bio')} ${profile.bio}`);
|
|
156
|
+
if (profile.avatarUrl)
|
|
157
|
+
lines.push(`${style.dim('avatar')} ${profile.avatarUrl}`);
|
|
158
|
+
if (profile.joinedAt)
|
|
159
|
+
lines.push(`${style.dim('joined')} ${formatDate(profile.joinedAt)}`);
|
|
160
|
+
return lines.join('\n');
|
|
161
|
+
}
|
|
162
|
+
export function formatTutorialList(tutorials, style) {
|
|
163
|
+
return tutorials
|
|
164
|
+
.map((tutorial, index) => {
|
|
165
|
+
return [
|
|
166
|
+
`${index + 1}. ${style.accent(tutorial.id)} ${style.dim('[' + tutorial.level + ']')}`,
|
|
167
|
+
` ${style.dim(tutorial.title)}`,
|
|
168
|
+
` ${truncate(tutorial.description, 88)}`,
|
|
169
|
+
` ${style.dim(tutorial.duration + ' | ' + tutorial.steps.length + ' steps')}`
|
|
170
|
+
].join('\n');
|
|
171
|
+
})
|
|
172
|
+
.join('\n\n');
|
|
173
|
+
}
|
|
174
|
+
export function formatTutorialStep(tutorial, stepNumber, style) {
|
|
175
|
+
const step = tutorial.steps[stepNumber - 1];
|
|
176
|
+
if (!step) {
|
|
177
|
+
return [
|
|
178
|
+
style.bold(tutorial.title),
|
|
179
|
+
style.dim(`Completed ${tutorial.steps.length}/${tutorial.steps.length} steps.`),
|
|
180
|
+
'Run agora tutorials for more tutorials.'
|
|
181
|
+
].join('\n');
|
|
182
|
+
}
|
|
183
|
+
const lines = [
|
|
184
|
+
style.bold(tutorial.title),
|
|
185
|
+
`${style.dim('id')} ${style.accent(tutorial.id)}`,
|
|
186
|
+
`${style.dim('level')} ${tutorial.level}`,
|
|
187
|
+
`${style.dim('duration')} ${tutorial.duration}`,
|
|
188
|
+
`${style.dim('step')} ${stepNumber}/${tutorial.steps.length}`,
|
|
189
|
+
'',
|
|
190
|
+
step.title || '',
|
|
191
|
+
step.content || ''
|
|
192
|
+
];
|
|
193
|
+
if (step.code) {
|
|
194
|
+
lines.push('', style.dim('code:'), step.code);
|
|
195
|
+
}
|
|
196
|
+
return lines.join('\n');
|
|
197
|
+
}
|
|
198
|
+
export function welcome(color, trueColor, style, version) {
|
|
199
|
+
if (!color) {
|
|
200
|
+
return [
|
|
201
|
+
'',
|
|
202
|
+
`agora · Developers' CLI marketplace and community hub · v${version}`,
|
|
203
|
+
'',
|
|
204
|
+
' Search agora search <query>',
|
|
205
|
+
' Browse agora trending · agora browse <id>',
|
|
206
|
+
' Learn agora tutorials · agora tutorial <id>',
|
|
207
|
+
' Install agora install <id> [--write]',
|
|
208
|
+
' Setup agora init [--mcp] · agora use <workflow>',
|
|
209
|
+
' Auth agora login [--api-url <url>]',
|
|
210
|
+
''
|
|
211
|
+
].join('\n');
|
|
212
|
+
}
|
|
213
|
+
const banner = renderBanner({ color, trueColor });
|
|
214
|
+
const box = renderBox('Welcome to Agora', [
|
|
215
|
+
"Developers' CLI marketplace and community hub - type a command, bash or chat:",
|
|
216
|
+
`v${version} · run \`agora help\` to get started`
|
|
217
|
+
], { color, trueColor });
|
|
218
|
+
const hint = [
|
|
219
|
+
`${style.dim('Search')} agora search <query>`,
|
|
220
|
+
`${style.dim('Browse')} agora trending · agora browse <id>`,
|
|
221
|
+
`${style.dim('Learn')} agora tutorials · agora tutorial <id>`,
|
|
222
|
+
`${style.dim('Install')} agora install <id> [--write]`,
|
|
223
|
+
`${style.dim('Setup')} agora init [--mcp] · agora use <workflow>`,
|
|
224
|
+
`${style.dim('Auth')} agora login [--api-url <url>]`
|
|
225
|
+
].join('\n');
|
|
226
|
+
return `\n${banner}\n\n${box}\n\n${hint}\n`;
|
|
227
|
+
}
|
|
228
|
+
export function header(title, meta, style) {
|
|
229
|
+
return [style.accent(title), ...meta.map((part) => style.dim(part))].join(style.dim(' · '));
|
|
230
|
+
}
|
|
231
|
+
export function usage(style, version) {
|
|
232
|
+
const nameWidth = Math.max(...COMMANDS.map((c) => c.name.length));
|
|
233
|
+
const groups = ['Marketplace', 'Setup', 'Library', 'Learn', 'Community'];
|
|
234
|
+
const lines = [
|
|
235
|
+
`${style.accent('agora')}${style.dim(` · Developers' CLI marketplace and community hub · v${version}`)}`,
|
|
236
|
+
''
|
|
237
|
+
];
|
|
238
|
+
for (const group of groups) {
|
|
239
|
+
const groupCmds = COMMANDS.filter((c) => c.group === group);
|
|
240
|
+
lines.push(style.dim(group));
|
|
241
|
+
for (const cmd of groupCmds) {
|
|
242
|
+
lines.push(` ${style.accent(cmd.name.padEnd(nameWidth))} ${style.dim(cmd.summary)}`);
|
|
243
|
+
}
|
|
244
|
+
lines.push('');
|
|
245
|
+
}
|
|
246
|
+
lines.push(style.dim('Run `agora help <command>` for details on any command.'));
|
|
247
|
+
return lines.join('\n');
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { getAuthState, type ResolvedSavedItem } from '../state.js';
|
|
2
|
+
import type { Tutorial } from '../types.js';
|
|
3
|
+
import type { SourceOptions, SourceResult } from '../live.js';
|
|
4
|
+
import type { CliIo, ParsedArgs, OutputStream } from './flags.js';
|
|
5
|
+
export declare function writeLine(stream: OutputStream, value?: string): void;
|
|
6
|
+
export declare function writeJson(stream: OutputStream, value: unknown): void;
|
|
7
|
+
export declare function usageError(io: CliIo, message: string): number;
|
|
8
|
+
/**
|
|
9
|
+
* Returns true only when both stdout and stdin are real interactive TTYs AND the
|
|
10
|
+
* environment supports colour (i.e. not NO_COLOR or TERM=dumb). The gate keeps
|
|
11
|
+
* the interactive menu away from pipes, CI, and the test harness, all of which
|
|
12
|
+
* use non-TTY mock streams.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isInteractive(io: CliIo, env: Record<string, string | undefined>): boolean;
|
|
15
|
+
export declare function stringFlag(parsed: ParsedArgs, longName: string, shortName?: string): string | undefined;
|
|
16
|
+
export declare function requiredStringFlag(parsed: ParsedArgs, longName: string, shortName?: string): string | undefined;
|
|
17
|
+
export declare function numberFlag(parsed: ParsedArgs, longName: string, shortName?: string): number | undefined;
|
|
18
|
+
export declare function envString(io: CliIo, name: string): string | undefined;
|
|
19
|
+
export declare function authTokenInput(parsed: ParsedArgs, io: CliIo): string | undefined;
|
|
20
|
+
export declare function detectDataDir(parsed: ParsedArgs, io: CliIo): string;
|
|
21
|
+
export declare function sourceOptions(parsed: ParsedArgs, io: CliIo): Promise<SourceOptions>;
|
|
22
|
+
export declare function writeSourceOptions(parsed: ParsedArgs, io: CliIo): Promise<{
|
|
23
|
+
ok: true;
|
|
24
|
+
options: SourceOptions;
|
|
25
|
+
} | {
|
|
26
|
+
ok: false;
|
|
27
|
+
error: string;
|
|
28
|
+
}>;
|
|
29
|
+
export declare function readSourceOptions(parsed: ParsedArgs, io: CliIo): Promise<{
|
|
30
|
+
ok: true;
|
|
31
|
+
options: SourceOptions;
|
|
32
|
+
} | {
|
|
33
|
+
ok: false;
|
|
34
|
+
error: string;
|
|
35
|
+
}>;
|
|
36
|
+
export declare function sourceLabel(result: {
|
|
37
|
+
source: string;
|
|
38
|
+
}): string;
|
|
39
|
+
export declare function warnFallback<T>(result: SourceResult<T>, io: CliIo): void;
|
|
40
|
+
export declare function sourcePayload<T extends object, TValue>(result: SourceResult<TValue>, payload: T): T & {
|
|
41
|
+
source: string;
|
|
42
|
+
apiUrl?: string;
|
|
43
|
+
fallbackReason?: string;
|
|
44
|
+
};
|
|
45
|
+
export declare function maskToken(token: string): string;
|
|
46
|
+
export declare function formatRelativeExp(exp: number, nowSec: number): string;
|
|
47
|
+
export declare function authStatusPayload(dataDir: string, auth: ReturnType<typeof getAuthState>): {
|
|
48
|
+
dataDir: string;
|
|
49
|
+
statePath: string;
|
|
50
|
+
authenticated: boolean;
|
|
51
|
+
accessTokenPreview?: string;
|
|
52
|
+
accessExp?: number;
|
|
53
|
+
refreshTokenPreview?: string;
|
|
54
|
+
refreshExp?: number;
|
|
55
|
+
apiUrl?: string;
|
|
56
|
+
savedAt?: string;
|
|
57
|
+
};
|
|
58
|
+
export declare function matchesSavedQuery(entry: ResolvedSavedItem, query: string): boolean;
|
|
59
|
+
export declare function tutorialLevelFlag(parsed: ParsedArgs): {
|
|
60
|
+
ok: true;
|
|
61
|
+
value: string;
|
|
62
|
+
} | {
|
|
63
|
+
ok: false;
|
|
64
|
+
error: string;
|
|
65
|
+
};
|
|
66
|
+
export declare function tutorialStepNumber(parsed: ParsedArgs): {
|
|
67
|
+
ok: true;
|
|
68
|
+
value: number;
|
|
69
|
+
} | {
|
|
70
|
+
ok: false;
|
|
71
|
+
error: string;
|
|
72
|
+
};
|
|
73
|
+
export declare function tutorialStepPayload(tutorial: Tutorial, stepNumber: number): {
|
|
74
|
+
stepNumber: number;
|
|
75
|
+
totalSteps: number;
|
|
76
|
+
completed: boolean;
|
|
77
|
+
title?: string;
|
|
78
|
+
content?: string;
|
|
79
|
+
code?: string;
|
|
80
|
+
};
|
|
81
|
+
export declare function tagsFlag(parsed: ParsedArgs): string[];
|
|
82
|
+
export declare function promptInput(parsed: ParsedArgs, io: CliIo): string | undefined;
|
|
83
|
+
export declare function contentInput(parsed: ParsedArgs, io: CliIo): string | undefined;
|
|
84
|
+
export declare function itemTypeFlag(parsed: ParsedArgs, itemId: string): 'package' | 'workflow';
|
|
85
|
+
export declare function discussionCategoryFlag(parsed: ParsedArgs): {
|
|
86
|
+
ok: true;
|
|
87
|
+
value: string;
|
|
88
|
+
} | {
|
|
89
|
+
ok: false;
|
|
90
|
+
error: string;
|
|
91
|
+
};
|
|
92
|
+
export declare function extractSessionId(line: string): string | null;
|
|
93
|
+
export declare function persistChatSession(dataDir: string, sessionId: string): void;
|
|
94
|
+
export declare function loadLastChatSession(dataDir: string): string | undefined;
|
|
95
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/cli/helpers.ts"],"names":[],"mappings":"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"}
|