glost-cli 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +260 -0
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +152 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/plugins.d.ts +41 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +273 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/package.json +43 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 GLOST Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
# glost-cli
|
|
2
|
+
|
|
3
|
+
Command-line tools for GLOST plugin management and discovery.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g glost-cli
|
|
9
|
+
# or
|
|
10
|
+
pnpm add -g glost-cli
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
glost plugins <command> [options]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Commands
|
|
20
|
+
|
|
21
|
+
### List Plugins
|
|
22
|
+
|
|
23
|
+
List all available plugins:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
glost plugins list
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
With filters:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Filter by category
|
|
33
|
+
glost plugins list --category=enhancer
|
|
34
|
+
|
|
35
|
+
# Filter by language
|
|
36
|
+
glost plugins list --language=th
|
|
37
|
+
|
|
38
|
+
# Verbose output
|
|
39
|
+
glost plugins list --verbose
|
|
40
|
+
glost plugins list -v
|
|
41
|
+
|
|
42
|
+
# Combined
|
|
43
|
+
glost plugins list --category=enhancer --language=th --verbose
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Search Plugins
|
|
47
|
+
|
|
48
|
+
Search for plugins by keyword:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
glost plugins search transcription
|
|
52
|
+
glost plugins search "thai language"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
With filters:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
glost plugins search transcription --category=enhancer
|
|
59
|
+
glost plugins search transcription --language=th
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Plugin Information
|
|
63
|
+
|
|
64
|
+
Show detailed information about a plugin:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
glost plugins info glost-transcription
|
|
68
|
+
glost plugins info transcription
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Output includes:
|
|
72
|
+
- Version and metadata
|
|
73
|
+
- Capabilities (async, parallel, languages, node types)
|
|
74
|
+
- Requirements and dependencies
|
|
75
|
+
- Conflicts
|
|
76
|
+
- Examples
|
|
77
|
+
|
|
78
|
+
### Validate Plugin Combinations
|
|
79
|
+
|
|
80
|
+
Check for conflicts and validate dependencies:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
glost plugins validate transcription translation frequency
|
|
84
|
+
glost plugins validate plugin1 plugin2 plugin3
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Output includes:
|
|
88
|
+
- Missing plugins check
|
|
89
|
+
- Conflict detection
|
|
90
|
+
- Dependency resolution
|
|
91
|
+
- Execution order
|
|
92
|
+
|
|
93
|
+
### Registry Statistics
|
|
94
|
+
|
|
95
|
+
Show statistics about the plugin registry:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
glost plugins stats
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Output includes:
|
|
102
|
+
- Total plugin count
|
|
103
|
+
- Plugins by category
|
|
104
|
+
- Plugins by language
|
|
105
|
+
- Top tags
|
|
106
|
+
|
|
107
|
+
### Create Plugin Template
|
|
108
|
+
|
|
109
|
+
Generate a plugin template:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
glost plugins create MyCustomPlugin
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Outputs a complete plugin template to stdout.
|
|
116
|
+
|
|
117
|
+
## Options
|
|
118
|
+
|
|
119
|
+
- `--category=<category>` - Filter by category
|
|
120
|
+
- Values: `transformer`, `enhancer`, `generator`, `analyzer`, `utility`
|
|
121
|
+
- `--language=<lang>` - Filter by language support
|
|
122
|
+
- Values: `th`, `ja`, `ko`, `en`, etc.
|
|
123
|
+
- `--verbose`, `-v` - Show detailed information
|
|
124
|
+
- `--tags=<tag1,tag2>` - Filter by tags (comma-separated)
|
|
125
|
+
|
|
126
|
+
## Examples
|
|
127
|
+
|
|
128
|
+
### Find all transcription plugins
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
glost plugins search transcription
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### List all enhancers for Thai
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
glost plugins list --category=enhancer --language=th --verbose
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Check if plugins work together
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
glost plugins validate transcription translation frequency difficulty
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Output:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
Validating plugins: transcription, translation, frequency, difficulty
|
|
150
|
+
|
|
151
|
+
✓ All plugins found
|
|
152
|
+
✓ No conflicts detected
|
|
153
|
+
✓ Dependency resolution successful
|
|
154
|
+
|
|
155
|
+
Execution order: transcription → translation → frequency → difficulty
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Get plugin details
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
glost plugins info transcription
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Output:
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
Transcription
|
|
168
|
+
|
|
169
|
+
ID: transcription
|
|
170
|
+
Version: 1.0.0
|
|
171
|
+
Category: enhancer
|
|
172
|
+
Description: Adds transcription support
|
|
173
|
+
|
|
174
|
+
Capabilities:
|
|
175
|
+
Async: Yes
|
|
176
|
+
Parallel: No
|
|
177
|
+
Languages: th, ja, ko
|
|
178
|
+
|
|
179
|
+
Tags: transcription, phonetics, ipa
|
|
180
|
+
|
|
181
|
+
Examples:
|
|
182
|
+
|
|
183
|
+
Basic Usage
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
import { transcription } from "glost-transcription";
|
|
187
|
+
|
|
188
|
+
const processor = glost()
|
|
189
|
+
.use(transcription, { scheme: "ipa" });
|
|
190
|
+
```
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### View registry overview
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
glost plugins stats
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Output:
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
GLOST Plugin Registry Statistics
|
|
203
|
+
===================================
|
|
204
|
+
|
|
205
|
+
Total Plugins: 12
|
|
206
|
+
|
|
207
|
+
By Category:
|
|
208
|
+
transformer 2
|
|
209
|
+
enhancer 5
|
|
210
|
+
generator 3
|
|
211
|
+
analyzer 2
|
|
212
|
+
|
|
213
|
+
By Language:
|
|
214
|
+
th 8
|
|
215
|
+
ja 6
|
|
216
|
+
ko 4
|
|
217
|
+
en 12
|
|
218
|
+
|
|
219
|
+
Top Tags:
|
|
220
|
+
transcription 5
|
|
221
|
+
translation 3
|
|
222
|
+
frequency 2
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Programmatic Usage
|
|
226
|
+
|
|
227
|
+
You can also use the CLI functions programmatically:
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
import {
|
|
231
|
+
listPlugins,
|
|
232
|
+
searchPlugins,
|
|
233
|
+
showPluginInfo,
|
|
234
|
+
validatePlugins,
|
|
235
|
+
showStats,
|
|
236
|
+
createPluginTemplate
|
|
237
|
+
} from "glost-cli";
|
|
238
|
+
|
|
239
|
+
// List all plugins
|
|
240
|
+
listPlugins({ verbose: true });
|
|
241
|
+
|
|
242
|
+
// Search
|
|
243
|
+
searchPlugins("transcription", { language: "th" });
|
|
244
|
+
|
|
245
|
+
// Show info
|
|
246
|
+
showPluginInfo("transcription");
|
|
247
|
+
|
|
248
|
+
// Validate
|
|
249
|
+
validatePlugins(["transcription", "translation", "frequency"]);
|
|
250
|
+
|
|
251
|
+
// Stats
|
|
252
|
+
showStats();
|
|
253
|
+
|
|
254
|
+
// Create template
|
|
255
|
+
createPluginTemplate("MyPlugin");
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## License
|
|
259
|
+
|
|
260
|
+
MIT
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* GLOST CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for GLOST plugin management.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import { listPlugins, searchPlugins, showPluginInfo, validatePlugins, showStats, createPluginTemplate, } from "./commands/plugins.js";
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
const command = args[0];
|
|
12
|
+
const subcommand = args[1];
|
|
13
|
+
function showHelp() {
|
|
14
|
+
console.log(`
|
|
15
|
+
GLOST CLI - Plugin Management Tool
|
|
16
|
+
|
|
17
|
+
Usage:
|
|
18
|
+
glost plugins <command> [options]
|
|
19
|
+
|
|
20
|
+
Commands:
|
|
21
|
+
list [--category=<cat>] [--language=<lang>] [--verbose]
|
|
22
|
+
List all available plugins
|
|
23
|
+
|
|
24
|
+
search <keyword> [--category=<cat>] [--language=<lang>]
|
|
25
|
+
Search for plugins by keyword
|
|
26
|
+
|
|
27
|
+
info <plugin-id>
|
|
28
|
+
Show detailed information about a plugin
|
|
29
|
+
|
|
30
|
+
validate <plugin1> <plugin2> ...
|
|
31
|
+
Validate plugin combinations for conflicts and dependencies
|
|
32
|
+
|
|
33
|
+
stats
|
|
34
|
+
Show registry statistics
|
|
35
|
+
|
|
36
|
+
create <plugin-name>
|
|
37
|
+
Generate a plugin template
|
|
38
|
+
|
|
39
|
+
help
|
|
40
|
+
Show this help message
|
|
41
|
+
|
|
42
|
+
Options:
|
|
43
|
+
--category=<category> Filter by category (transformer, enhancer, generator, analyzer, utility)
|
|
44
|
+
--language=<lang> Filter by language support (th, ja, ko, en, etc.)
|
|
45
|
+
--verbose, -v Show detailed information
|
|
46
|
+
|
|
47
|
+
Examples:
|
|
48
|
+
glost plugins list
|
|
49
|
+
glost plugins list --category=enhancer --verbose
|
|
50
|
+
glost plugins search transcription
|
|
51
|
+
glost plugins info glost-transcription
|
|
52
|
+
glost plugins validate transcription translation frequency
|
|
53
|
+
glost plugins stats
|
|
54
|
+
glost plugins create MyCustomPlugin
|
|
55
|
+
`);
|
|
56
|
+
}
|
|
57
|
+
function parseOptions(args) {
|
|
58
|
+
const options = {};
|
|
59
|
+
for (const arg of args) {
|
|
60
|
+
if (arg.startsWith("--")) {
|
|
61
|
+
const [key, value] = arg.slice(2).split("=");
|
|
62
|
+
if (value) {
|
|
63
|
+
options[key] = value;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
options[key] = true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else if (arg.startsWith("-")) {
|
|
70
|
+
const key = arg.slice(1);
|
|
71
|
+
options[key] = true;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return options;
|
|
75
|
+
}
|
|
76
|
+
// Main command router
|
|
77
|
+
if (command === "plugins") {
|
|
78
|
+
const options = parseOptions(args.slice(2));
|
|
79
|
+
switch (subcommand) {
|
|
80
|
+
case "list": {
|
|
81
|
+
listPlugins({
|
|
82
|
+
category: options.category,
|
|
83
|
+
language: options.language,
|
|
84
|
+
verbose: options.verbose || options.v,
|
|
85
|
+
});
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case "search": {
|
|
89
|
+
const keyword = args[2];
|
|
90
|
+
if (!keyword || keyword.startsWith("--")) {
|
|
91
|
+
console.error("Error: search requires a keyword");
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
searchPlugins(keyword, {
|
|
95
|
+
category: options.category,
|
|
96
|
+
language: options.language,
|
|
97
|
+
tags: options.tags ? options.tags.split(",") : undefined,
|
|
98
|
+
});
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case "info": {
|
|
102
|
+
const pluginId = args[2];
|
|
103
|
+
if (!pluginId) {
|
|
104
|
+
console.error("Error: info requires a plugin ID");
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
showPluginInfo(pluginId);
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
case "validate": {
|
|
111
|
+
const pluginIds = args.slice(2).filter((arg) => !arg.startsWith("--"));
|
|
112
|
+
if (pluginIds.length === 0) {
|
|
113
|
+
console.error("Error: validate requires at least one plugin ID");
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
validatePlugins(pluginIds);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
case "stats": {
|
|
120
|
+
showStats();
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
case "create": {
|
|
124
|
+
const pluginName = args[2];
|
|
125
|
+
if (!pluginName) {
|
|
126
|
+
console.error("Error: create requires a plugin name");
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
createPluginTemplate(pluginName);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
case "help":
|
|
133
|
+
case undefined: {
|
|
134
|
+
showHelp();
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
default: {
|
|
138
|
+
console.error(`Unknown command: ${subcommand}`);
|
|
139
|
+
console.error('Run "glost plugins help" for usage information');
|
|
140
|
+
process.exit(1);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else if (command === "help" || command === "--help" || command === "-h" || !command) {
|
|
145
|
+
showHelp();
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.error(`Unknown command: ${command}`);
|
|
149
|
+
console.error('Run "glost help" for usage information');
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Commands
|
|
3
|
+
*
|
|
4
|
+
* CLI commands for plugin management and discovery.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import type { PluginCategory } from "glost-registry";
|
|
9
|
+
/**
|
|
10
|
+
* List all available plugins
|
|
11
|
+
*/
|
|
12
|
+
export declare function listPlugins(options?: {
|
|
13
|
+
category?: PluginCategory;
|
|
14
|
+
language?: string;
|
|
15
|
+
verbose?: boolean;
|
|
16
|
+
}): void;
|
|
17
|
+
/**
|
|
18
|
+
* Search for plugins
|
|
19
|
+
*/
|
|
20
|
+
export declare function searchPlugins(keyword: string, options?: {
|
|
21
|
+
category?: PluginCategory;
|
|
22
|
+
language?: string;
|
|
23
|
+
tags?: string[];
|
|
24
|
+
}): void;
|
|
25
|
+
/**
|
|
26
|
+
* Show plugin information
|
|
27
|
+
*/
|
|
28
|
+
export declare function showPluginInfo(pluginId: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Validate plugin combinations
|
|
31
|
+
*/
|
|
32
|
+
export declare function validatePlugins(pluginIds: string[]): void;
|
|
33
|
+
/**
|
|
34
|
+
* Show registry statistics
|
|
35
|
+
*/
|
|
36
|
+
export declare function showStats(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Create a new plugin template
|
|
39
|
+
*/
|
|
40
|
+
export declare function createPluginTemplate(name: string): void;
|
|
41
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CA0CP;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACvD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,IAAI,CAwBP;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoFrD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CA4CzD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAgChC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAkDvD"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Commands
|
|
3
|
+
*
|
|
4
|
+
* CLI commands for plugin management and discovery.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import { pluginRegistry } from "glost-registry";
|
|
9
|
+
/**
|
|
10
|
+
* List all available plugins
|
|
11
|
+
*/
|
|
12
|
+
export function listPlugins(options) {
|
|
13
|
+
let plugins = pluginRegistry.list();
|
|
14
|
+
// Filter by category
|
|
15
|
+
if (options?.category) {
|
|
16
|
+
plugins = plugins.filter((p) => p.category === options.category);
|
|
17
|
+
}
|
|
18
|
+
// Filter by language
|
|
19
|
+
if (options?.language) {
|
|
20
|
+
plugins = pluginRegistry.getLanguageSupport(options.language);
|
|
21
|
+
}
|
|
22
|
+
if (plugins.length === 0) {
|
|
23
|
+
console.log("No plugins found.");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
console.log(`\nFound ${plugins.length} plugin(s):\n`);
|
|
27
|
+
for (const plugin of plugins) {
|
|
28
|
+
if (options?.verbose) {
|
|
29
|
+
console.log(`${plugin.name} (${plugin.id})`);
|
|
30
|
+
console.log(` Version: ${plugin.version}`);
|
|
31
|
+
console.log(` Category: ${plugin.category}`);
|
|
32
|
+
console.log(` Description: ${plugin.description}`);
|
|
33
|
+
if (plugin.author) {
|
|
34
|
+
console.log(` Author: ${plugin.author}`);
|
|
35
|
+
}
|
|
36
|
+
if (plugin.tags.length > 0) {
|
|
37
|
+
console.log(` Tags: ${plugin.tags.join(", ")}`);
|
|
38
|
+
}
|
|
39
|
+
if (plugin.supports.languages) {
|
|
40
|
+
console.log(` Languages: ${plugin.supports.languages.join(", ")}`);
|
|
41
|
+
}
|
|
42
|
+
console.log();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.log(` ${plugin.name.padEnd(30)} ${plugin.id.padEnd(25)} ${plugin.version}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Search for plugins
|
|
51
|
+
*/
|
|
52
|
+
export function searchPlugins(keyword, options) {
|
|
53
|
+
const results = pluginRegistry.search({
|
|
54
|
+
keyword,
|
|
55
|
+
category: options?.category,
|
|
56
|
+
language: options?.language,
|
|
57
|
+
tags: options?.tags,
|
|
58
|
+
});
|
|
59
|
+
if (results.length === 0) {
|
|
60
|
+
console.log(`No plugins found matching "${keyword}".`);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
console.log(`\nFound ${results.length} plugin(s) matching "${keyword}":\n`);
|
|
64
|
+
for (const plugin of results) {
|
|
65
|
+
console.log(`${plugin.name} (${plugin.id})`);
|
|
66
|
+
console.log(` ${plugin.description}`);
|
|
67
|
+
console.log(` Category: ${plugin.category} | Version: ${plugin.version}`);
|
|
68
|
+
if (plugin.tags.length > 0) {
|
|
69
|
+
console.log(` Tags: ${plugin.tags.join(", ")}`);
|
|
70
|
+
}
|
|
71
|
+
console.log();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Show plugin information
|
|
76
|
+
*/
|
|
77
|
+
export function showPluginInfo(pluginId) {
|
|
78
|
+
const metadata = pluginRegistry.getMetadata(pluginId);
|
|
79
|
+
if (!metadata) {
|
|
80
|
+
console.error(`Plugin "${pluginId}" not found.`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
console.log(`\n${metadata.name}`);
|
|
84
|
+
console.log("=".repeat(metadata.name.length));
|
|
85
|
+
console.log();
|
|
86
|
+
console.log(`ID: ${metadata.id}`);
|
|
87
|
+
console.log(`Version: ${metadata.version}`);
|
|
88
|
+
console.log(`Category: ${metadata.category}`);
|
|
89
|
+
console.log(`Description: ${metadata.description}`);
|
|
90
|
+
if (metadata.author) {
|
|
91
|
+
console.log(`Author: ${metadata.author}`);
|
|
92
|
+
}
|
|
93
|
+
if (metadata.repository) {
|
|
94
|
+
console.log(`Repository: ${metadata.repository}`);
|
|
95
|
+
}
|
|
96
|
+
if (metadata.homepage) {
|
|
97
|
+
console.log(`Homepage: ${metadata.homepage}`);
|
|
98
|
+
}
|
|
99
|
+
console.log();
|
|
100
|
+
console.log("Capabilities:");
|
|
101
|
+
console.log(` Async: ${metadata.supports.async ? "Yes" : "No"}`);
|
|
102
|
+
console.log(` Parallel: ${metadata.supports.parallel ? "Yes" : "No"}`);
|
|
103
|
+
if (metadata.supports.languages) {
|
|
104
|
+
console.log(` Languages: ${metadata.supports.languages.join(", ")}`);
|
|
105
|
+
}
|
|
106
|
+
if (metadata.supports.nodeTypes) {
|
|
107
|
+
console.log(` Node Types: ${metadata.supports.nodeTypes.join(", ")}`);
|
|
108
|
+
}
|
|
109
|
+
if (metadata.tags.length > 0) {
|
|
110
|
+
console.log();
|
|
111
|
+
console.log(`Tags: ${metadata.tags.join(", ")}`);
|
|
112
|
+
}
|
|
113
|
+
if (metadata.requires) {
|
|
114
|
+
console.log();
|
|
115
|
+
console.log("Requirements:");
|
|
116
|
+
if (metadata.requires.plugins) {
|
|
117
|
+
console.log(` Plugins: ${metadata.requires.plugins.join(", ")}`);
|
|
118
|
+
}
|
|
119
|
+
if (metadata.requires.glostVersion) {
|
|
120
|
+
console.log(` GLOST Version: ${metadata.requires.glostVersion}`);
|
|
121
|
+
}
|
|
122
|
+
if (metadata.requires.nodeVersion) {
|
|
123
|
+
console.log(` Node.js Version: ${metadata.requires.nodeVersion}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (metadata.conflicts && metadata.conflicts.length > 0) {
|
|
127
|
+
console.log();
|
|
128
|
+
console.log(`Conflicts with: ${metadata.conflicts.join(", ")}`);
|
|
129
|
+
}
|
|
130
|
+
if (metadata.examples && metadata.examples.length > 0) {
|
|
131
|
+
console.log();
|
|
132
|
+
console.log("Examples:");
|
|
133
|
+
for (const example of metadata.examples) {
|
|
134
|
+
console.log(`\n ${example.title}`);
|
|
135
|
+
if (example.description) {
|
|
136
|
+
console.log(` ${example.description}`);
|
|
137
|
+
}
|
|
138
|
+
console.log();
|
|
139
|
+
console.log(" ```typescript");
|
|
140
|
+
console.log(example.code.split("\n").map((line) => ` ${line}`).join("\n"));
|
|
141
|
+
console.log(" ```");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
console.log();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Validate plugin combinations
|
|
148
|
+
*/
|
|
149
|
+
export function validatePlugins(pluginIds) {
|
|
150
|
+
console.log(`\nValidating plugins: ${pluginIds.join(", ")}\n`);
|
|
151
|
+
// Check if all plugins exist
|
|
152
|
+
const missing = [];
|
|
153
|
+
for (const id of pluginIds) {
|
|
154
|
+
if (!pluginRegistry.has(id)) {
|
|
155
|
+
missing.push(id);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (missing.length > 0) {
|
|
159
|
+
console.error(`❌ Missing plugins: ${missing.join(", ")}`);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
console.log("✓ All plugins found");
|
|
163
|
+
// Check for conflicts
|
|
164
|
+
const conflictReport = pluginRegistry.checkConflicts(pluginIds);
|
|
165
|
+
if (conflictReport.hasConflicts) {
|
|
166
|
+
console.log(`\n⚠️ Found ${conflictReport.conflicts.length} conflict(s):\n`);
|
|
167
|
+
for (const conflict of conflictReport.conflicts) {
|
|
168
|
+
const icon = conflict.severity === "error" ? "❌" : "⚠️ ";
|
|
169
|
+
console.log(`${icon} ${conflict.plugin1} <-> ${conflict.plugin2}`);
|
|
170
|
+
console.log(` ${conflict.reason}`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
console.log("✓ No conflicts detected");
|
|
175
|
+
}
|
|
176
|
+
// Resolve dependencies
|
|
177
|
+
try {
|
|
178
|
+
const ordered = pluginRegistry.resolveDependencies(pluginIds);
|
|
179
|
+
console.log("\n✓ Dependency resolution successful");
|
|
180
|
+
console.log(`\nExecution order: ${ordered.join(" → ")}`);
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
console.error(`\n❌ Dependency resolution failed:`);
|
|
184
|
+
console.error(` ${error instanceof Error ? error.message : String(error)}`);
|
|
185
|
+
}
|
|
186
|
+
console.log();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Show registry statistics
|
|
190
|
+
*/
|
|
191
|
+
export function showStats() {
|
|
192
|
+
const stats = pluginRegistry.getStatistics();
|
|
193
|
+
console.log("\nGLOST Plugin Registry Statistics");
|
|
194
|
+
console.log("=".repeat(35));
|
|
195
|
+
console.log();
|
|
196
|
+
console.log(`Total Plugins: ${stats.total}`);
|
|
197
|
+
console.log();
|
|
198
|
+
console.log("By Category:");
|
|
199
|
+
for (const [category, count] of Object.entries(stats.byCategory)) {
|
|
200
|
+
if (count > 0) {
|
|
201
|
+
console.log(` ${category.padEnd(15)} ${count}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (Object.keys(stats.byLanguage).length > 0) {
|
|
205
|
+
console.log();
|
|
206
|
+
console.log("By Language:");
|
|
207
|
+
for (const [lang, count] of Object.entries(stats.byLanguage)) {
|
|
208
|
+
console.log(` ${lang.padEnd(15)} ${count}`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (stats.topTags.length > 0) {
|
|
212
|
+
console.log();
|
|
213
|
+
console.log("Top Tags:");
|
|
214
|
+
for (const { tag, count } of stats.topTags) {
|
|
215
|
+
console.log(` ${tag.padEnd(15)} ${count}`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
console.log();
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Create a new plugin template
|
|
222
|
+
*/
|
|
223
|
+
export function createPluginTemplate(name) {
|
|
224
|
+
const template = `/**
|
|
225
|
+
* ${name}
|
|
226
|
+
*
|
|
227
|
+
* TODO: Add description
|
|
228
|
+
*/
|
|
229
|
+
|
|
230
|
+
import type { GLOSTExtension } from "glost-extensions";
|
|
231
|
+
|
|
232
|
+
export const ${name}Extension: GLOSTExtension = {
|
|
233
|
+
id: "${name.toLowerCase()}",
|
|
234
|
+
name: "${name}",
|
|
235
|
+
description: "TODO: Add description",
|
|
236
|
+
|
|
237
|
+
// TODO: Implement transform, visit, or enhanceMetadata
|
|
238
|
+
transform: (tree) => {
|
|
239
|
+
// Transform the document tree
|
|
240
|
+
return tree;
|
|
241
|
+
},
|
|
242
|
+
|
|
243
|
+
// Optional: Declare dependencies
|
|
244
|
+
// dependencies: ["other-plugin"],
|
|
245
|
+
|
|
246
|
+
// Optional: Declare requirements
|
|
247
|
+
// requires: {
|
|
248
|
+
// extras: ["field-name"],
|
|
249
|
+
// metadata: ["metadata-field"],
|
|
250
|
+
// },
|
|
251
|
+
|
|
252
|
+
// Optional: Declare what this extension provides
|
|
253
|
+
// provides: {
|
|
254
|
+
// extras: ["my-field"],
|
|
255
|
+
// },
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
// Export as a plugin function
|
|
259
|
+
export function ${name.toLowerCase()}(options?: {
|
|
260
|
+
// TODO: Add options
|
|
261
|
+
}) {
|
|
262
|
+
return (pluginOptions?: any): GLOSTExtension => {
|
|
263
|
+
return {
|
|
264
|
+
...${name}Extension,
|
|
265
|
+
options: { ...options, ...pluginOptions },
|
|
266
|
+
};
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
`;
|
|
270
|
+
console.log(template);
|
|
271
|
+
console.log(`\n// Save this to: packages/${name.toLowerCase()}/src/index.ts`);
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/commands/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAI3B;IACC,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAEpC,qBAAqB;IACrB,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;IAEtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAI9C;IACC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC;QACpC,OAAO;QACP,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,IAAI,EAAE,OAAO,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,IAAI,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,wBAAwB,OAAO,MAAM,CAAC,CAAC;IAE5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,QAAQ,cAAc,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAEpD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAExE,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAmB;IACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/D,6BAA6B;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAEnC,sBAAsB;IACtB,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAEhE,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,CAAC,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAE7E,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,OAAO,QAAQ,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,QAAQ,GAAG;KACd,IAAI;;;;;;;eAOM,IAAI;SACV,IAAI,CAAC,WAAW,EAAE;WAChB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;kBAyBG,IAAI,CAAC,WAAW,EAAE;;;;;WAKzB,IAAI;;;;;CAKd,CAAC;IAEA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAChF,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,uBAAuB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,uBAAuB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "glost-cli",
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"description": "Command-line tools for GLOST plugin management and discovery",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"glost": "./dist/cli.js"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"keywords": [
|
|
22
|
+
"glost",
|
|
23
|
+
"cli",
|
|
24
|
+
"tools",
|
|
25
|
+
"plugins"
|
|
26
|
+
],
|
|
27
|
+
"author": "",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"glost-registry": "0.5.0",
|
|
31
|
+
"glost-extensions": "0.4.0",
|
|
32
|
+
"glost-core": "0.5.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/node": "^20.0.0",
|
|
36
|
+
"typescript": "^5.3.3",
|
|
37
|
+
"vitest": "^1.6.0"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsc",
|
|
41
|
+
"test": "vitest run --passWithNoTests"
|
|
42
|
+
}
|
|
43
|
+
}
|