opencode-agora 0.3.0 → 0.4.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.
Files changed (168) hide show
  1. package/README.md +217 -52
  2. package/dist/cli/app.d.ts +3 -0
  3. package/dist/cli/app.d.ts.map +1 -1
  4. package/dist/cli/app.js +1053 -183
  5. package/dist/cli/app.js.map +1 -1
  6. package/dist/cli/chat-renderer.d.ts +31 -0
  7. package/dist/cli/chat-renderer.d.ts.map +1 -0
  8. package/dist/cli/chat-renderer.js +275 -0
  9. package/dist/cli/chat-renderer.js.map +1 -0
  10. package/dist/cli/commands-meta.d.ts +21 -0
  11. package/dist/cli/commands-meta.d.ts.map +1 -0
  12. package/dist/cli/commands-meta.js +600 -0
  13. package/dist/cli/commands-meta.js.map +1 -0
  14. package/dist/cli/completions.d.ts +18 -0
  15. package/dist/cli/completions.d.ts.map +1 -0
  16. package/dist/cli/completions.js +190 -0
  17. package/dist/cli/completions.js.map +1 -0
  18. package/dist/cli/mcp-server.d.ts +4 -0
  19. package/dist/cli/mcp-server.d.ts.map +1 -0
  20. package/dist/cli/mcp-server.js +277 -0
  21. package/dist/cli/mcp-server.js.map +1 -0
  22. package/dist/cli/menu.d.ts +7 -0
  23. package/dist/cli/menu.d.ts.map +1 -0
  24. package/dist/cli/menu.js +164 -0
  25. package/dist/cli/menu.js.map +1 -0
  26. package/dist/cli/pages/community.d.ts +3 -0
  27. package/dist/cli/pages/community.d.ts.map +1 -0
  28. package/dist/cli/pages/community.js +276 -0
  29. package/dist/cli/pages/community.js.map +1 -0
  30. package/dist/cli/pages/helpers.d.ts +32 -0
  31. package/dist/cli/pages/helpers.d.ts.map +1 -0
  32. package/dist/cli/pages/helpers.js +67 -0
  33. package/dist/cli/pages/helpers.js.map +1 -0
  34. package/dist/cli/pages/home.d.ts +3 -0
  35. package/dist/cli/pages/home.d.ts.map +1 -0
  36. package/dist/cli/pages/home.js +148 -0
  37. package/dist/cli/pages/home.js.map +1 -0
  38. package/dist/cli/pages/marketplace.d.ts +3 -0
  39. package/dist/cli/pages/marketplace.d.ts.map +1 -0
  40. package/dist/cli/pages/marketplace.js +179 -0
  41. package/dist/cli/pages/marketplace.js.map +1 -0
  42. package/dist/cli/pages/news.d.ts +3 -0
  43. package/dist/cli/pages/news.d.ts.map +1 -0
  44. package/dist/cli/pages/news.js +561 -0
  45. package/dist/cli/pages/news.js.map +1 -0
  46. package/dist/cli/pages/settings.d.ts +3 -0
  47. package/dist/cli/pages/settings.d.ts.map +1 -0
  48. package/dist/cli/pages/settings.js +166 -0
  49. package/dist/cli/pages/settings.js.map +1 -0
  50. package/dist/cli/pages/types.d.ts +67 -0
  51. package/dist/cli/pages/types.d.ts.map +1 -0
  52. package/dist/cli/pages/types.js +2 -0
  53. package/dist/cli/pages/types.js.map +1 -0
  54. package/dist/cli/prompter.d.ts +135 -0
  55. package/dist/cli/prompter.d.ts.map +1 -0
  56. package/dist/cli/prompter.js +675 -0
  57. package/dist/cli/prompter.js.map +1 -0
  58. package/dist/cli/shell.d.ts +23 -0
  59. package/dist/cli/shell.d.ts.map +1 -0
  60. package/dist/cli/shell.js +819 -0
  61. package/dist/cli/shell.js.map +1 -0
  62. package/dist/cli/tui.d.ts +7 -0
  63. package/dist/cli/tui.d.ts.map +1 -0
  64. package/dist/cli/tui.js +373 -0
  65. package/dist/cli/tui.js.map +1 -0
  66. package/dist/cli.js +1 -1
  67. package/dist/cli.js.map +1 -1
  68. package/dist/commands.d.ts +14 -0
  69. package/dist/commands.d.ts.map +1 -0
  70. package/dist/commands.js +28 -0
  71. package/dist/commands.js.map +1 -0
  72. package/dist/community/client.d.ts +47 -0
  73. package/dist/community/client.d.ts.map +1 -0
  74. package/dist/community/client.js +245 -0
  75. package/dist/community/client.js.map +1 -0
  76. package/dist/community/types.d.ts +50 -0
  77. package/dist/community/types.d.ts.map +1 -0
  78. package/dist/community/types.js +11 -0
  79. package/dist/community/types.js.map +1 -0
  80. package/dist/config.d.ts +1 -3
  81. package/dist/config.d.ts.map +1 -1
  82. package/dist/config.js +0 -17
  83. package/dist/config.js.map +1 -1
  84. package/dist/data.d.ts +1 -1
  85. package/dist/data.d.ts.map +1 -1
  86. package/dist/data.js +667 -3
  87. package/dist/data.js.map +1 -1
  88. package/dist/format.d.ts +5 -39
  89. package/dist/format.d.ts.map +1 -1
  90. package/dist/format.js +5 -120
  91. package/dist/format.js.map +1 -1
  92. package/dist/history.d.ts +13 -0
  93. package/dist/history.d.ts.map +1 -0
  94. package/dist/history.js +37 -0
  95. package/dist/history.js.map +1 -0
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +114 -234
  98. package/dist/index.js.map +1 -1
  99. package/dist/init.d.ts.map +1 -1
  100. package/dist/init.js +4 -9
  101. package/dist/init.js.map +1 -1
  102. package/dist/live.d.ts +4 -0
  103. package/dist/live.d.ts.map +1 -1
  104. package/dist/live.js +11 -3
  105. package/dist/live.js.map +1 -1
  106. package/dist/marketplace.d.ts +9 -0
  107. package/dist/marketplace.d.ts.map +1 -1
  108. package/dist/marketplace.js +105 -15
  109. package/dist/marketplace.js.map +1 -1
  110. package/dist/news/cache.d.ts +13 -0
  111. package/dist/news/cache.d.ts.map +1 -0
  112. package/dist/news/cache.js +65 -0
  113. package/dist/news/cache.js.map +1 -0
  114. package/dist/news/score.d.ts +4 -0
  115. package/dist/news/score.d.ts.map +1 -0
  116. package/dist/news/score.js +43 -0
  117. package/dist/news/score.js.map +1 -0
  118. package/dist/news/sources/arxiv.d.ts +9 -0
  119. package/dist/news/sources/arxiv.d.ts.map +1 -0
  120. package/dist/news/sources/arxiv.js +103 -0
  121. package/dist/news/sources/arxiv.js.map +1 -0
  122. package/dist/news/sources/github-trending.d.ts +9 -0
  123. package/dist/news/sources/github-trending.d.ts.map +1 -0
  124. package/dist/news/sources/github-trending.js +93 -0
  125. package/dist/news/sources/github-trending.js.map +1 -0
  126. package/dist/news/sources/hn.d.ts +9 -0
  127. package/dist/news/sources/hn.d.ts.map +1 -0
  128. package/dist/news/sources/hn.js +53 -0
  129. package/dist/news/sources/hn.js.map +1 -0
  130. package/dist/news/sources/reddit.d.ts +9 -0
  131. package/dist/news/sources/reddit.d.ts.map +1 -0
  132. package/dist/news/sources/reddit.js +68 -0
  133. package/dist/news/sources/reddit.js.map +1 -0
  134. package/dist/news/sources/rss.d.ts +14 -0
  135. package/dist/news/sources/rss.d.ts.map +1 -0
  136. package/dist/news/sources/rss.js +102 -0
  137. package/dist/news/sources/rss.js.map +1 -0
  138. package/dist/news/types.d.ts +39 -0
  139. package/dist/news/types.d.ts.map +1 -0
  140. package/dist/news/types.js +47 -0
  141. package/dist/news/types.js.map +1 -0
  142. package/dist/preferences.d.ts +14 -0
  143. package/dist/preferences.d.ts.map +1 -0
  144. package/dist/preferences.js +31 -0
  145. package/dist/preferences.js.map +1 -0
  146. package/dist/settings.d.ts +26 -0
  147. package/dist/settings.d.ts.map +1 -0
  148. package/dist/settings.js +257 -0
  149. package/dist/settings.js.map +1 -0
  150. package/dist/transcript.d.ts +28 -0
  151. package/dist/transcript.d.ts.map +1 -0
  152. package/dist/transcript.js +79 -0
  153. package/dist/transcript.js.map +1 -0
  154. package/dist/types.d.ts +6 -1
  155. package/dist/types.d.ts.map +1 -1
  156. package/dist/ui.d.ts +157 -0
  157. package/dist/ui.d.ts.map +1 -0
  158. package/dist/ui.js +296 -0
  159. package/dist/ui.js.map +1 -0
  160. package/package.json +11 -9
  161. package/dist/api.d.ts +0 -72
  162. package/dist/api.d.ts.map +0 -1
  163. package/dist/api.js +0 -109
  164. package/dist/api.js.map +0 -1
  165. package/dist/logger.d.ts +0 -20
  166. package/dist/logger.d.ts.map +0 -1
  167. package/dist/logger.js +0 -59
  168. package/dist/logger.js.map +0 -1
@@ -0,0 +1,148 @@
1
+ import { getMarketplaceItems, getTrendingItems, similarItems, } from '../../marketplace.js';
2
+ import { rail, sep, fmtCount, frame } from './helpers.js';
3
+ const state = { selected: 0 };
4
+ let cachedPrimary;
5
+ let cachedSimilar = [];
6
+ function pickPrimary(items) {
7
+ const filtered = items.filter((i) => i.id !== 'mcp-everything');
8
+ let best;
9
+ for (const it of filtered) {
10
+ if (!best || (it.installs ?? 0) > (best.installs ?? 0))
11
+ best = it;
12
+ }
13
+ return best;
14
+ }
15
+ function refreshRecommendations(items) {
16
+ const itemsArr = items;
17
+ const seed = itemsArr.find((i) => i.id === 'mcp-postgres' || i.id === 'mcp-github')
18
+ ?? pickPrimary(itemsArr);
19
+ cachedPrimary = seed;
20
+ if (seed) {
21
+ const type = seed.kind === 'workflow' ? 'workflow' : 'package';
22
+ cachedSimilar = similarItems(seed.id, { limit: 3, type: type }).filter((s) => s.id !== seed.id);
23
+ }
24
+ else {
25
+ cachedSimilar = [];
26
+ }
27
+ }
28
+ function reason(item, seed) {
29
+ if (!seed)
30
+ return '';
31
+ const shared = (item.tags ?? []).filter((t) => (seed.tags ?? []).includes(t));
32
+ if (shared.length > 0)
33
+ return 'shares tags [' + shared.slice(0, 4).join(', ') + '] with ' + seed.id;
34
+ return 'similar to ' + seed.id + ' by category';
35
+ }
36
+ export const homePage = {
37
+ id: 'home',
38
+ title: 'HOME',
39
+ navLabel: 'Home',
40
+ navIcon: 'H',
41
+ hotkeys: [
42
+ { key: 'r', label: 'refresh' },
43
+ { key: '/', label: 'search' },
44
+ { key: 'i', label: 'install last' },
45
+ { key: 's', label: 'saved' },
46
+ ],
47
+ render(ctx) {
48
+ const { style, width, height } = ctx;
49
+ const items = getMarketplaceItems();
50
+ refreshRecommendations(items);
51
+ const primary = cachedPrimary;
52
+ const recs = cachedSimilar;
53
+ const trending = getTrendingItems().slice(0, 3);
54
+ const lines = [];
55
+ lines.push('');
56
+ lines.push(' ' + sep('Recommended for you', width - 2, style));
57
+ lines.push('');
58
+ if (recs.length > 0) {
59
+ const rec = recs[0];
60
+ lines.push(' ' + rail(style) + style.bold(rec.name)
61
+ + style.dim(' (similar items)'));
62
+ if (rec.description) {
63
+ lines.push(' ' + style.dim(rec.description)
64
+ + (rec.author ? style.dim(' \u00b7 ' + rec.author) : ''));
65
+ }
66
+ lines.push(' '
67
+ + style.accent(fmtCount(rec.installs ?? 0)) + style.dim(' installs')
68
+ + (rec.stars !== undefined
69
+ ? ' ' + style.accent(fmtCount(rec.stars)) + style.dim(' \u2605')
70
+ : ''));
71
+ lines.push('');
72
+ lines.push(' '
73
+ + style.accent('i') + style.dim(' install ')
74
+ + style.accent('s') + style.dim(' save ')
75
+ + style.accent('Enter') + style.dim(' view full details'));
76
+ lines.push('');
77
+ lines.push(' ' + style.dim('Why: ') + reason(rec, primary));
78
+ }
79
+ else if (primary) {
80
+ lines.push(' ' + rail(style) + style.bold(primary.name)
81
+ + style.dim(' (top-installed package)'));
82
+ if (primary.description) {
83
+ lines.push(' ' + style.dim(primary.description)
84
+ + (primary.author ? style.dim(' \u00b7 ' + primary.author) : ''));
85
+ }
86
+ lines.push(' '
87
+ + style.accent(fmtCount(primary.installs ?? 0)) + style.dim(' installs')
88
+ + (primary.stars !== undefined
89
+ ? ' ' + style.accent(fmtCount(primary.stars)) + style.dim(' \u2605')
90
+ : ''));
91
+ lines.push('');
92
+ lines.push(' '
93
+ + style.accent('i') + style.dim(' install ')
94
+ + style.accent('s') + style.dim(' save ')
95
+ + style.accent('Enter') + style.dim(' view full details'));
96
+ lines.push('');
97
+ lines.push(' ' + style.dim('Why: ') + reason(primary, undefined));
98
+ }
99
+ else {
100
+ lines.push(' ' + style.dim('Nothing to recommend yet \u2014 press ')
101
+ + style.accent('2') + style.dim(' to browse the marketplace.'));
102
+ }
103
+ lines.push('');
104
+ lines.push('');
105
+ if (recs.length > 1) {
106
+ lines.push(' ' + sep('More like this', width - 2, style));
107
+ lines.push('');
108
+ for (let i = 1; i < recs.length; i++) {
109
+ const r = recs[i];
110
+ lines.push(' \u00b7 ' + style.bold(r.name.padEnd(20))
111
+ + style.dim(r.description ?? ''));
112
+ }
113
+ }
114
+ else {
115
+ lines.push(' ' + sep('Trending', width - 2, style));
116
+ lines.push('');
117
+ if (trending.length === 0) {
118
+ lines.push(' ' + style.dim('Nothing trending right now.'));
119
+ }
120
+ else {
121
+ for (const t of trending) {
122
+ lines.push(' \u00b7 ' + style.bold(t.name.padEnd(20))
123
+ + style.dim(t.description ?? ''));
124
+ }
125
+ }
126
+ }
127
+ return frame(lines, width, height);
128
+ },
129
+ handleKey(event, _ctx) {
130
+ switch (event.key) {
131
+ case 'up':
132
+ case 'k':
133
+ state.selected = Math.max(0, state.selected - 1);
134
+ return { kind: 'none' };
135
+ case 'down':
136
+ case 'j':
137
+ state.selected += 1;
138
+ return { kind: 'none' };
139
+ case 'enter': return { kind: 'switch', to: 'marketplace' };
140
+ case 'i': return { kind: 'status', message: 'install queued (fixture)' };
141
+ case 's': return { kind: 'status', message: 'saved' };
142
+ case 'r': return { kind: 'status', message: 'refreshed' };
143
+ case '/': return { kind: 'switch', to: 'marketplace' };
144
+ default: return { kind: 'none' };
145
+ }
146
+ },
147
+ };
148
+ //# sourceMappingURL=home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../../../src/cli/pages/home.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Page } from './types.js';
2
+ export declare const marketplacePage: Page;
3
+ //# sourceMappingURL=marketplace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../../src/cli/pages/marketplace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,YAAY,CAAC;AAgChE,eAAO,MAAM,eAAe,EAAE,IAyI7B,CAAC"}
@@ -0,0 +1,179 @@
1
+ import { getMarketplaceItems, searchMarketplaceItems, similarItems, } from '../../marketplace.js';
2
+ import { vlen, rail, noRail, sep, fmtCount, frame, scrollbar } from './helpers.js';
3
+ const state = {
4
+ cursor: 0, detail: false, query: '', filtering: false,
5
+ category: 'all', sort: 'installs',
6
+ };
7
+ function filtered() {
8
+ const all = state.query ? searchMarketplaceItems({ query: state.query }) : getMarketplaceItems();
9
+ const sorted = all.slice().sort((a, b) => {
10
+ if (state.sort === 'name')
11
+ return a.name.localeCompare(b.name);
12
+ if (state.sort === 'stars')
13
+ return (b.stars ?? 0) - (a.stars ?? 0);
14
+ return (b.installs ?? 0) - (a.installs ?? 0);
15
+ });
16
+ return state.category === 'all'
17
+ ? sorted
18
+ : sorted.filter((i) => (i.tags ?? []).includes(state.category));
19
+ }
20
+ export const marketplacePage = {
21
+ id: 'marketplace',
22
+ title: 'MARKETPLACE',
23
+ navLabel: 'Market',
24
+ navIcon: 'M',
25
+ hotkeys: [
26
+ { key: 'j/k', label: 'nav' },
27
+ { key: 'Enter', label: 'details' },
28
+ { key: 'i', label: 'install' },
29
+ { key: 's', label: 'save' },
30
+ { key: '/', label: 'filter' },
31
+ { key: 'c', label: 'category' },
32
+ { key: 'o', label: 'sort' },
33
+ ],
34
+ render(ctx) {
35
+ const { style, width, height } = ctx;
36
+ const items = filtered();
37
+ state.cursor = Math.min(state.cursor, Math.max(0, items.length - 1));
38
+ const lines = [];
39
+ const top = ' ' + style.bold(style.accent('MARKETPLACE'))
40
+ + ' ' + style.dim('category: ') + style.accent(state.category)
41
+ + style.dim(' \u00b7 sort: ') + style.accent(state.sort)
42
+ + ' ' + style.dim(items.length + (items.length === 1 ? ' item' : ' items'));
43
+ lines.push(top);
44
+ lines.push(' ' + sep('', width - 2, style));
45
+ if (state.filtering) {
46
+ lines.push(' ' + style.accent('/') + ' ' + state.query + style.dim('\u258f'));
47
+ lines.push('');
48
+ }
49
+ if (items.length === 0) {
50
+ lines.push('');
51
+ lines.push(' ' + style.dim('No items match ')
52
+ + style.accent(state.query || state.category) + style.dim('.'));
53
+ lines.push(' ' + style.dim('Press ') + style.accent('/')
54
+ + style.dim(' to change filter, ') + style.accent('c')
55
+ + style.dim(' to reset category.'));
56
+ return frame(lines, width, height);
57
+ }
58
+ if (state.detail) {
59
+ const it = items[state.cursor];
60
+ if (it) {
61
+ lines.push('');
62
+ lines.push(' ' + style.bold(it.name)
63
+ + (it.author ? style.dim(' by ' + it.author) : ''));
64
+ lines.push(' ' + style.dim((it.tags ?? []).map((t) => '[' + t + ']').join(' ')));
65
+ lines.push('');
66
+ lines.push(' ' + (it.description ?? ''));
67
+ lines.push('');
68
+ lines.push(' '
69
+ + style.accent(fmtCount(it.installs ?? 0)) + style.dim(' installs ')
70
+ + (it.stars !== undefined
71
+ ? style.accent(fmtCount(it.stars)) + style.dim(' \u2605') : ''));
72
+ lines.push('');
73
+ lines.push(' '
74
+ + style.accent('i') + style.dim(' install ')
75
+ + style.accent('s') + style.dim(' save ')
76
+ + style.accent('Esc') + style.dim(' back'));
77
+ const kind = it.kind === 'workflow' ? 'workflow' : 'package';
78
+ const related = similarItems(it.id, { limit: 3, type: kind });
79
+ if (related.length > 0) {
80
+ lines.push('');
81
+ lines.push(' ' + sep('Related', width - 2, style));
82
+ for (const rel of related) {
83
+ if (rel.id === it.id)
84
+ continue;
85
+ lines.push(' \u00b7 ' + style.bold(rel.name.padEnd(20))
86
+ + style.dim(fmtCount(rel.installs ?? 0) + ' installs'));
87
+ }
88
+ }
89
+ }
90
+ return frame(lines, width, height);
91
+ }
92
+ const limit = Math.max(0, height - lines.length - 1);
93
+ const start = Math.max(0, Math.min(state.cursor - Math.floor(limit / 2), items.length - limit));
94
+ const sbar = scrollbar(items.length, limit, state.cursor, style);
95
+ for (let i = 0; i < limit && start + i < items.length; i++) {
96
+ const it = items[start + i];
97
+ if (!it)
98
+ continue;
99
+ const selected = start + i === state.cursor;
100
+ const lead = selected ? rail(style) : noRail();
101
+ const stats = style.accent(fmtCount(it.installs ?? 0).padStart(7))
102
+ + style.dim(' installs')
103
+ + (it.stars !== undefined
104
+ ? ' ' + style.accent(fmtCount(it.stars).padStart(5)) + style.dim(' \u2605')
105
+ : '');
106
+ const nameCell = selected ? style.bold(it.name) : it.name;
107
+ const left = ' ' + lead + nameCell;
108
+ const room = width - vlen(left) - vlen(stats) - 2;
109
+ const desc = style.dim((it.description ?? '').slice(0, Math.max(0, room - 2)));
110
+ const pad = ' '.repeat(Math.max(1, room - vlen(desc) - 1));
111
+ lines.push(left + ' ' + desc + pad + stats + ' ' + sbar[i]);
112
+ }
113
+ lines.push(' ' + (items.length > limit
114
+ ? style.dim('items ' + (start + 1) + '\u2013' + Math.min(start + limit, items.length) + ' of ' + items.length)
115
+ : style.dim(items.length + (items.length === 1 ? ' item' : ' items'))));
116
+ return frame(lines, width, height);
117
+ },
118
+ handleKey(event, _ctx) {
119
+ if (state.filtering) {
120
+ if (event.key === 'esc') {
121
+ state.filtering = false;
122
+ state.query = '';
123
+ return { kind: 'none' };
124
+ }
125
+ if (event.key === 'enter') {
126
+ state.filtering = false;
127
+ return { kind: 'none' };
128
+ }
129
+ if (event.key === 'backspace') {
130
+ state.query = state.query.slice(0, -1);
131
+ return { kind: 'none' };
132
+ }
133
+ if (event.key.length === 1 && !event.ctrl) {
134
+ state.query += event.key;
135
+ return { kind: 'none' };
136
+ }
137
+ return { kind: 'none' };
138
+ }
139
+ const items = filtered();
140
+ switch (event.key) {
141
+ case 'j':
142
+ case 'down':
143
+ state.cursor = Math.min(items.length - 1, state.cursor + 1);
144
+ return { kind: 'none' };
145
+ case 'k':
146
+ case 'up':
147
+ state.cursor = Math.max(0, state.cursor - 1);
148
+ return { kind: 'none' };
149
+ case 'enter':
150
+ state.detail = !state.detail;
151
+ return { kind: 'none' };
152
+ case 'esc':
153
+ if (state.detail)
154
+ state.detail = false;
155
+ return { kind: 'none' };
156
+ case 'i': {
157
+ const it = items[state.cursor];
158
+ return { kind: 'status', message: it ? 'install ' + it.id + ' queued' : 'nothing selected' };
159
+ }
160
+ case 's': return { kind: 'status', message: 'saved' };
161
+ case '/':
162
+ state.filtering = true;
163
+ return { kind: 'none' };
164
+ case 'c': {
165
+ const order = ['all', 'db', 'fs', 'web', 'ai'];
166
+ state.category = order[(order.indexOf(state.category) + 1) % order.length] ?? 'all';
167
+ state.cursor = 0;
168
+ return { kind: 'none' };
169
+ }
170
+ case 'o': {
171
+ const order = ['installs', 'stars', 'name'];
172
+ state.sort = order[(order.indexOf(state.sort) + 1) % order.length] ?? 'installs';
173
+ return { kind: 'none' };
174
+ }
175
+ default: return { kind: 'none' };
176
+ }
177
+ },
178
+ };
179
+ //# sourceMappingURL=marketplace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../../src/cli/pages/marketplace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Page } from './types.js';
2
+ export declare const newsPage: Page;
3
+ //# sourceMappingURL=news.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"news.d.ts","sourceRoot":"","sources":["../../../src/cli/pages/news.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA2B,MAAM,YAAY,CAAC;AAoRhE,eAAO,MAAM,QAAQ,EAAE,IAwRtB,CAAC"}