@apiquest/fracture 1.0.2 → 1.0.5
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 +207 -0
- package/bin/cli.js +2 -2
- package/dist/CollectionRunner.d.ts +2 -0
- package/dist/CollectionRunner.d.ts.map +1 -1
- package/dist/CollectionRunner.js +23 -5
- package/dist/CollectionRunner.js.map +1 -1
- package/dist/LibraryLoader.d.ts +49 -0
- package/dist/LibraryLoader.d.ts.map +1 -0
- package/dist/LibraryLoader.js +198 -0
- package/dist/LibraryLoader.js.map +1 -0
- package/dist/PluginLoader.d.ts.map +1 -1
- package/dist/PluginLoader.js +9 -6
- package/dist/PluginLoader.js.map +1 -1
- package/dist/PluginResolver.d.ts +1 -1
- package/dist/PluginResolver.d.ts.map +1 -1
- package/dist/PluginResolver.js +1 -1
- package/dist/PluginResolver.js.map +1 -1
- package/dist/ScriptEngine.d.ts +2 -1
- package/dist/ScriptEngine.d.ts.map +1 -1
- package/dist/ScriptEngine.js +19 -12
- package/dist/ScriptEngine.js.map +1 -1
- package/dist/cli/index.js +35 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plugin-commands.d.ts.map +1 -1
- package/dist/cli/plugin-commands.js +48 -81
- package/dist/cli/plugin-commands.js.map +1 -1
- package/dist/cli/plugin-installer.d.ts +48 -0
- package/dist/cli/plugin-installer.d.ts.map +1 -0
- package/dist/cli/plugin-installer.js +136 -0
- package/dist/cli/plugin-installer.js.map +1 -0
- package/dist/cli/plugin-registry.d.ts +17 -0
- package/dist/cli/plugin-registry.d.ts.map +1 -0
- package/dist/cli/plugin-registry.js +77 -0
- package/dist/cli/plugin-registry.js.map +1 -0
- package/package.json +55 -50
- package/tsconfig.json +20 -20
- package/tsconfig.test.json +5 -5
- package/vitest.config.ts +22 -22
- package/dist/ExecutionTree.d.ts +0 -77
- package/dist/ExecutionTree.d.ts.map +0 -1
- package/dist/ExecutionTree.js +0 -265
- package/dist/ExecutionTree.js.map +0 -1
- package/dist/fracture/src/CollectionAnalyzer.d.ts +0 -17
- package/dist/fracture/src/CollectionAnalyzer.d.ts.map +0 -1
- package/dist/fracture/src/CollectionAnalyzer.js +0 -70
- package/dist/fracture/src/CollectionAnalyzer.js.map +0 -1
- package/dist/fracture/src/CollectionRunner.d.ts +0 -39
- package/dist/fracture/src/CollectionRunner.d.ts.map +0 -1
- package/dist/fracture/src/CollectionRunner.js +0 -802
- package/dist/fracture/src/CollectionRunner.js.map +0 -1
- package/dist/fracture/src/CollectionRunner.types.d.ts +0 -8
- package/dist/fracture/src/CollectionRunner.types.d.ts.map +0 -1
- package/dist/fracture/src/CollectionRunner.types.js +0 -2
- package/dist/fracture/src/CollectionRunner.types.js.map +0 -1
- package/dist/fracture/src/CollectionValidator.d.ts +0 -14
- package/dist/fracture/src/CollectionValidator.d.ts.map +0 -1
- package/dist/fracture/src/CollectionValidator.js +0 -145
- package/dist/fracture/src/CollectionValidator.js.map +0 -1
- package/dist/fracture/src/ConsoleReporter.d.ts +0 -24
- package/dist/fracture/src/ConsoleReporter.d.ts.map +0 -1
- package/dist/fracture/src/ConsoleReporter.js +0 -123
- package/dist/fracture/src/ConsoleReporter.js.map +0 -1
- package/dist/fracture/src/CookieJar.d.ts +0 -70
- package/dist/fracture/src/CookieJar.d.ts.map +0 -1
- package/dist/fracture/src/CookieJar.js +0 -233
- package/dist/fracture/src/CookieJar.js.map +0 -1
- package/dist/fracture/src/ExecutionTree.d.ts +0 -77
- package/dist/fracture/src/ExecutionTree.d.ts.map +0 -1
- package/dist/fracture/src/ExecutionTree.js +0 -258
- package/dist/fracture/src/ExecutionTree.js.map +0 -1
- package/dist/fracture/src/Logger.d.ts +0 -25
- package/dist/fracture/src/Logger.d.ts.map +0 -1
- package/dist/fracture/src/Logger.js +0 -78
- package/dist/fracture/src/Logger.js.map +0 -1
- package/dist/fracture/src/PluginLoader.d.ts +0 -23
- package/dist/fracture/src/PluginLoader.d.ts.map +0 -1
- package/dist/fracture/src/PluginLoader.js +0 -102
- package/dist/fracture/src/PluginLoader.js.map +0 -1
- package/dist/fracture/src/PluginManager.d.ts +0 -64
- package/dist/fracture/src/PluginManager.d.ts.map +0 -1
- package/dist/fracture/src/PluginManager.js +0 -162
- package/dist/fracture/src/PluginManager.js.map +0 -1
- package/dist/fracture/src/PluginResolver.d.ts +0 -35
- package/dist/fracture/src/PluginResolver.d.ts.map +0 -1
- package/dist/fracture/src/PluginResolver.js +0 -128
- package/dist/fracture/src/PluginResolver.js.map +0 -1
- package/dist/fracture/src/QuestAPI.d.ts +0 -9
- package/dist/fracture/src/QuestAPI.d.ts.map +0 -1
- package/dist/fracture/src/QuestAPI.js +0 -679
- package/dist/fracture/src/QuestAPI.js.map +0 -1
- package/dist/fracture/src/QuestAPI.types.d.ts +0 -35
- package/dist/fracture/src/QuestAPI.types.d.ts.map +0 -1
- package/dist/fracture/src/QuestAPI.types.js +0 -3
- package/dist/fracture/src/QuestAPI.types.js.map +0 -1
- package/dist/fracture/src/QuestTestAPI.d.ts +0 -12
- package/dist/fracture/src/QuestTestAPI.d.ts.map +0 -1
- package/dist/fracture/src/QuestTestAPI.js +0 -133
- package/dist/fracture/src/QuestTestAPI.js.map +0 -1
- package/dist/fracture/src/ScriptEngine.d.ts +0 -21
- package/dist/fracture/src/ScriptEngine.d.ts.map +0 -1
- package/dist/fracture/src/ScriptEngine.js +0 -183
- package/dist/fracture/src/ScriptEngine.js.map +0 -1
- package/dist/fracture/src/ScriptValidator.d.ts +0 -68
- package/dist/fracture/src/ScriptValidator.d.ts.map +0 -1
- package/dist/fracture/src/ScriptValidator.js +0 -351
- package/dist/fracture/src/ScriptValidator.js.map +0 -1
- package/dist/fracture/src/TestCounter.d.ts +0 -18
- package/dist/fracture/src/TestCounter.d.ts.map +0 -1
- package/dist/fracture/src/TestCounter.js +0 -82
- package/dist/fracture/src/TestCounter.js.map +0 -1
- package/dist/fracture/src/VariableResolver.d.ts +0 -20
- package/dist/fracture/src/VariableResolver.d.ts.map +0 -1
- package/dist/fracture/src/VariableResolver.js +0 -100
- package/dist/fracture/src/VariableResolver.js.map +0 -1
- package/dist/fracture/src/cli/index.d.ts +0 -3
- package/dist/fracture/src/cli/index.d.ts.map +0 -1
- package/dist/fracture/src/cli/index.js +0 -347
- package/dist/fracture/src/cli/index.js.map +0 -1
- package/dist/fracture/src/cli/plugin-commands.d.ts +0 -6
- package/dist/fracture/src/cli/plugin-commands.d.ts.map +0 -1
- package/dist/fracture/src/cli/plugin-commands.js +0 -263
- package/dist/fracture/src/cli/plugin-commands.js.map +0 -1
- package/dist/fracture/src/cli/plugin-discovery.d.ts +0 -11
- package/dist/fracture/src/cli/plugin-discovery.d.ts.map +0 -1
- package/dist/fracture/src/cli/plugin-discovery.js +0 -64
- package/dist/fracture/src/cli/plugin-discovery.js.map +0 -1
- package/dist/fracture/src/index.d.ts +0 -13
- package/dist/fracture/src/index.d.ts.map +0 -1
- package/dist/fracture/src/index.js +0 -17
- package/dist/fracture/src/index.js.map +0 -1
- package/dist/fracture/src/utils.d.ts +0 -28
- package/dist/fracture/src/utils.d.ts.map +0 -1
- package/dist/fracture/src/utils.js +0 -48
- package/dist/fracture/src/utils.js.map +0 -1
- package/dist/plugin-auth/src/apikey-auth.d.ts +0 -3
- package/dist/plugin-auth/src/apikey-auth.d.ts.map +0 -1
- package/dist/plugin-auth/src/apikey-auth.js +0 -73
- package/dist/plugin-auth/src/apikey-auth.js.map +0 -1
- package/dist/plugin-auth/src/basic-auth.d.ts +0 -3
- package/dist/plugin-auth/src/basic-auth.d.ts.map +0 -1
- package/dist/plugin-auth/src/basic-auth.js +0 -61
- package/dist/plugin-auth/src/basic-auth.js.map +0 -1
- package/dist/plugin-auth/src/bearer-auth.d.ts +0 -3
- package/dist/plugin-auth/src/bearer-auth.d.ts.map +0 -1
- package/dist/plugin-auth/src/bearer-auth.js +0 -49
- package/dist/plugin-auth/src/bearer-auth.js.map +0 -1
- package/dist/plugin-auth/src/helpers.d.ts +0 -3
- package/dist/plugin-auth/src/helpers.d.ts.map +0 -1
- package/dist/plugin-auth/src/helpers.js +0 -8
- package/dist/plugin-auth/src/helpers.js.map +0 -1
- package/dist/plugin-auth/src/index.d.ts +0 -10
- package/dist/plugin-auth/src/index.d.ts.map +0 -1
- package/dist/plugin-auth/src/index.js +0 -25
- package/dist/plugin-auth/src/index.js.map +0 -1
- package/dist/plugin-auth/src/oauth2-auth.d.ts +0 -35
- package/dist/plugin-auth/src/oauth2-auth.d.ts.map +0 -1
- package/dist/plugin-auth/src/oauth2-auth.js +0 -266
- package/dist/plugin-auth/src/oauth2-auth.js.map +0 -1
- package/dist/plugin-http/src/index.d.ts +0 -4
- package/dist/plugin-http/src/index.d.ts.map +0 -1
- package/dist/plugin-http/src/index.js +0 -266
- package/dist/plugin-http/src/index.js.map +0 -1
- package/dist/plugin-vault-file/src/index.d.ts +0 -67
- package/dist/plugin-vault-file/src/index.d.ts.map +0 -1
- package/dist/plugin-vault-file/src/index.js +0 -171
- package/dist/plugin-vault-file/src/index.js.map +0 -1
- package/dist/types.d.ts +0 -374
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -13
- package/dist/types.js.map +0 -1
- package/src/CollectionAnalyzer.ts +0 -102
- package/src/CollectionRunner.ts +0 -1423
- package/src/CollectionRunner.types.ts +0 -9
- package/src/CollectionValidator.ts +0 -289
- package/src/ConsoleReporter.ts +0 -143
- package/src/CookieJar.ts +0 -258
- package/src/DagScheduler.ts +0 -439
- package/src/Logger.ts +0 -85
- package/src/PluginLoader.ts +0 -126
- package/src/PluginManager.ts +0 -208
- package/src/PluginResolver.ts +0 -154
- package/src/QuestAPI.ts +0 -764
- package/src/QuestAPI.types.ts +0 -33
- package/src/QuestTestAPI.ts +0 -164
- package/src/RequestFilter.ts +0 -224
- package/src/ScriptEngine.ts +0 -219
- package/src/ScriptValidator.ts +0 -428
- package/src/TaskGraph.ts +0 -598
- package/src/TestCounter.ts +0 -109
- package/src/VariableResolver.ts +0 -114
- package/src/cli/index.ts +0 -480
- package/src/cli/plugin-commands.ts +0 -341
- package/src/cli/plugin-discovery.ts +0 -44
- package/src/index.ts +0 -24
- package/src/utils.ts +0 -52
|
@@ -3,6 +3,7 @@ import { promisify } from 'util';
|
|
|
3
3
|
import { readdir, readFile, access } from 'fs/promises';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { execSync } from 'child_process';
|
|
6
|
+
import { fetchAvailablePlugins } from './plugin-registry.js';
|
|
6
7
|
const execAsync = promisify(exec);
|
|
7
8
|
/**
|
|
8
9
|
* Add plugin management commands to the CLI program
|
|
@@ -17,19 +18,24 @@ export function addPluginCommands(program) {
|
|
|
17
18
|
.description('Install a plugin')
|
|
18
19
|
.argument('<names...>', 'Plugin name(s) to install')
|
|
19
20
|
.action(async (names) => {
|
|
21
|
+
let hasErrors = false;
|
|
20
22
|
for (const name of names) {
|
|
21
23
|
const packageName = name.startsWith('@') ? name : `@apiquest/plugin-${name}`;
|
|
22
24
|
console.log(`Installing ${packageName}...`);
|
|
23
25
|
try {
|
|
24
26
|
// Use npm to install globally
|
|
25
27
|
await execAsync(`npm install -g ${packageName}`);
|
|
26
|
-
console.log(
|
|
28
|
+
console.log(`${packageName} installed`);
|
|
27
29
|
}
|
|
28
30
|
catch (error) {
|
|
31
|
+
hasErrors = true;
|
|
29
32
|
const err = error;
|
|
30
|
-
console.error(
|
|
33
|
+
console.error(`Failed to install ${packageName}:`, err.message ?? String(error));
|
|
31
34
|
}
|
|
32
35
|
}
|
|
36
|
+
if (hasErrors) {
|
|
37
|
+
process.exit(4);
|
|
38
|
+
}
|
|
33
39
|
});
|
|
34
40
|
// quest plugin list
|
|
35
41
|
pluginCommand
|
|
@@ -61,16 +67,21 @@ export function addPluginCommands(program) {
|
|
|
61
67
|
}
|
|
62
68
|
for (const plugin of plugins) {
|
|
63
69
|
console.log(` - ${plugin.name}@${plugin.version}`);
|
|
64
|
-
if (plugin.type !== undefined) {
|
|
65
|
-
console.log(` Type: ${plugin.type}`);
|
|
70
|
+
if (plugin.apiquest?.type !== undefined) {
|
|
71
|
+
console.log(` Type: ${plugin.apiquest.type}`);
|
|
66
72
|
}
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
const runtime = plugin.apiquest?.runtime;
|
|
74
|
+
if (runtime !== undefined) {
|
|
75
|
+
const runtimeArray = Array.isArray(runtime) ? runtime : [runtime];
|
|
76
|
+
if (runtimeArray.length > 0) {
|
|
77
|
+
console.log(` Runtime: ${runtimeArray.join(', ')}`);
|
|
78
|
+
}
|
|
69
79
|
}
|
|
70
80
|
if (plugin.description !== undefined) {
|
|
71
81
|
console.log(` Description: ${plugin.description}`);
|
|
72
82
|
}
|
|
73
|
-
printCapabilities(plugin.provides, ' ');
|
|
83
|
+
printCapabilities(plugin.apiquest?.capabilities?.provides, ' ');
|
|
84
|
+
console.log('');
|
|
74
85
|
}
|
|
75
86
|
console.log('');
|
|
76
87
|
}
|
|
@@ -85,18 +96,23 @@ export function addPluginCommands(program) {
|
|
|
85
96
|
.description('Remove a plugin')
|
|
86
97
|
.argument('<names...>', 'Plugin name(s) to remove')
|
|
87
98
|
.action(async (names) => {
|
|
99
|
+
let hasErrors = false;
|
|
88
100
|
for (const name of names) {
|
|
89
101
|
const packageName = name.startsWith('@') ? name : `@apiquest/plugin-${name}`;
|
|
90
102
|
console.log(`Removing ${packageName}...`);
|
|
91
103
|
try {
|
|
92
104
|
await execAsync(`npm uninstall -g ${packageName}`);
|
|
93
|
-
console.log(
|
|
105
|
+
console.log(`${packageName} removed`);
|
|
94
106
|
}
|
|
95
107
|
catch (error) {
|
|
108
|
+
hasErrors = true;
|
|
96
109
|
const err = error;
|
|
97
|
-
console.error(
|
|
110
|
+
console.error(`Failed to remove ${packageName}:`, err.message ?? String(error));
|
|
98
111
|
}
|
|
99
112
|
}
|
|
113
|
+
if (hasErrors) {
|
|
114
|
+
process.exit(4);
|
|
115
|
+
}
|
|
100
116
|
});
|
|
101
117
|
// quest plugin update <name>
|
|
102
118
|
pluginCommand
|
|
@@ -104,16 +120,18 @@ export function addPluginCommands(program) {
|
|
|
104
120
|
.description('Update plugin(s)')
|
|
105
121
|
.argument('[names...]', 'Plugin name(s) to update (all if not specified)')
|
|
106
122
|
.action(async (names) => {
|
|
123
|
+
let hasErrors = false;
|
|
107
124
|
if (names.length === 0) {
|
|
108
125
|
// Update all @apiquest plugins
|
|
109
126
|
console.log('Updating all @apiquest plugins...');
|
|
110
127
|
try {
|
|
111
128
|
await execAsync('npm update -g @apiquest/*');
|
|
112
|
-
console.log('
|
|
129
|
+
console.log('All plugins updated');
|
|
113
130
|
}
|
|
114
131
|
catch (error) {
|
|
132
|
+
hasErrors = true;
|
|
115
133
|
const err = error;
|
|
116
|
-
console.error('
|
|
134
|
+
console.error('Failed to update plugins:', err.message ?? String(error));
|
|
117
135
|
}
|
|
118
136
|
}
|
|
119
137
|
else {
|
|
@@ -122,14 +140,18 @@ export function addPluginCommands(program) {
|
|
|
122
140
|
console.log(`Updating ${packageName}...`);
|
|
123
141
|
try {
|
|
124
142
|
await execAsync(`npm update -g ${packageName}`);
|
|
125
|
-
console.log(
|
|
143
|
+
console.log(`${packageName} updated`);
|
|
126
144
|
}
|
|
127
145
|
catch (error) {
|
|
146
|
+
hasErrors = true;
|
|
128
147
|
const err = error;
|
|
129
|
-
console.error(
|
|
148
|
+
console.error(`Failed to update ${packageName}:`, err.message ?? String(error));
|
|
130
149
|
}
|
|
131
150
|
}
|
|
132
151
|
}
|
|
152
|
+
if (hasErrors) {
|
|
153
|
+
process.exit(4);
|
|
154
|
+
}
|
|
133
155
|
});
|
|
134
156
|
}
|
|
135
157
|
/**
|
|
@@ -155,10 +177,15 @@ async function listPluginsFromDir(dir, label) {
|
|
|
155
177
|
foundAny = true;
|
|
156
178
|
const version = pkg.version ?? 'unknown';
|
|
157
179
|
const type = pkg.apiquest?.type ?? 'unknown';
|
|
158
|
-
const runtime = pkg.apiquest?.runtime
|
|
180
|
+
const runtime = pkg.apiquest?.runtime;
|
|
181
|
+
const runtimeStr = Array.isArray(runtime)
|
|
182
|
+
? runtime.join(', ')
|
|
183
|
+
: typeof runtime === 'string'
|
|
184
|
+
? runtime
|
|
185
|
+
: 'unknown';
|
|
159
186
|
console.log(` - ${pkg.name ?? 'unknown'}@${version}`);
|
|
160
187
|
console.log(` Type: ${type}`);
|
|
161
|
-
console.log(` Runtime: ${
|
|
188
|
+
console.log(` Runtime: ${runtimeStr}`);
|
|
162
189
|
printCapabilities(pkg.apiquest?.capabilities?.provides, ' ');
|
|
163
190
|
}
|
|
164
191
|
catch {
|
|
@@ -174,65 +201,14 @@ async function listPluginsFromDir(dir, label) {
|
|
|
174
201
|
console.log(` [${label}] Directory not found or not accessible\n`);
|
|
175
202
|
}
|
|
176
203
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
searchUrl.searchParams.set('size', '250');
|
|
181
|
-
const response = await fetch(searchUrl.toString(), {
|
|
182
|
-
headers: {
|
|
183
|
-
'Accept': 'application/json'
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
if (!response.ok) {
|
|
187
|
-
throw new Error(`Registry search failed: ${response.status} ${response.statusText}`);
|
|
188
|
-
}
|
|
189
|
-
const data = await response.json();
|
|
190
|
-
const names = data.objects
|
|
191
|
-
.map(obj => obj.package?.name)
|
|
192
|
-
.filter((name) => typeof name === 'string' && name.startsWith('@apiquest/plugin-'));
|
|
193
|
-
const pluginResults = await Promise.all(names.map(async (name) => {
|
|
194
|
-
try {
|
|
195
|
-
return await fetchRegistryPluginInfo(name);
|
|
196
|
-
}
|
|
197
|
-
catch {
|
|
198
|
-
return null;
|
|
199
|
-
}
|
|
200
|
-
}));
|
|
201
|
-
return pluginResults
|
|
202
|
-
.filter((plugin) => plugin !== null)
|
|
203
|
-
.filter(plugin => plugin.runtime.includes('fracture'))
|
|
204
|
-
.sort((a, b) => a.name.localeCompare(b.name));
|
|
205
|
-
}
|
|
206
|
-
async function fetchRegistryPluginInfo(name) {
|
|
207
|
-
const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(name)}`, {
|
|
208
|
-
headers: {
|
|
209
|
-
'Accept': 'application/json'
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
-
if (!response.ok) {
|
|
213
|
-
return null;
|
|
214
|
-
}
|
|
215
|
-
const data = await response.json();
|
|
216
|
-
const latest = data['dist-tags']?.latest;
|
|
217
|
-
const versionData = latest !== undefined && data.versions !== undefined ? data.versions[latest] : undefined;
|
|
218
|
-
const metadata = versionData?.apiquest;
|
|
219
|
-
if (latest === undefined || metadata === undefined) {
|
|
220
|
-
return null;
|
|
221
|
-
}
|
|
222
|
-
const runtime = Array.isArray(metadata.runtime) ? metadata.runtime : [];
|
|
223
|
-
return {
|
|
224
|
-
name: data.name,
|
|
225
|
-
version: latest,
|
|
226
|
-
description: versionData?.description,
|
|
227
|
-
type: metadata.type,
|
|
228
|
-
runtime,
|
|
229
|
-
provides: metadata.capabilities?.provides
|
|
230
|
-
};
|
|
231
|
-
}
|
|
204
|
+
/**
|
|
205
|
+
* Print plugin capabilities (fracture runtime capabilities only)
|
|
206
|
+
*/
|
|
232
207
|
function printCapabilities(provides, indent = ' ') {
|
|
233
208
|
if (provides === undefined) {
|
|
234
209
|
return;
|
|
235
210
|
}
|
|
211
|
+
// Fracture runtime capabilities:
|
|
236
212
|
if (provides.protocols !== undefined && provides.protocols.length > 0) {
|
|
237
213
|
console.log(`${indent}Protocols: ${provides.protocols.join(', ')}`);
|
|
238
214
|
}
|
|
@@ -242,17 +218,8 @@ function printCapabilities(provides, indent = ' ') {
|
|
|
242
218
|
if (provides.reportTypes !== undefined && provides.reportTypes.length > 0) {
|
|
243
219
|
console.log(`${indent}Report Types: ${provides.reportTypes.join(', ')}`);
|
|
244
220
|
}
|
|
245
|
-
if (provides.
|
|
246
|
-
console.log(`${indent}
|
|
247
|
-
}
|
|
248
|
-
if (provides.exportFormats !== undefined && provides.exportFormats.length > 0) {
|
|
249
|
-
console.log(`${indent}Export Formats: ${provides.exportFormats.join(', ')}`);
|
|
250
|
-
}
|
|
251
|
-
if (provides.visualizations !== undefined && provides.visualizations.length > 0) {
|
|
252
|
-
console.log(`${indent}Visualizations: ${provides.visualizations.join(', ')}`);
|
|
253
|
-
}
|
|
254
|
-
if (provides.provider !== undefined) {
|
|
255
|
-
console.log(`${indent}Provider: ${provides.provider}`);
|
|
221
|
+
if (provides.valueTypes !== undefined && provides.valueTypes.length > 0) {
|
|
222
|
+
console.log(`${indent}Value Providers: ${provides.valueTypes.join(', ')}`);
|
|
256
223
|
}
|
|
257
224
|
}
|
|
258
225
|
//# sourceMappingURL=plugin-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-commands.js","sourceRoot":"","sources":["../../src/cli/plugin-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,aAAa,GAAG,OAAO;SAC1B,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAE1C,8BAA8B;IAC9B,aAAa;SACV,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,EAAE;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC;YAE7E,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,KAAK,CAAC,CAAC;YAE5C,IAAI,CAAC;gBACH,8BAA8B;gBAC9B,MAAM,SAAS,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"plugin-commands.js","sourceRoot":"","sources":["../../src/cli/plugin-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { PluginRequirements } from '../CollectionAnalyzer.js';
|
|
2
|
+
import type { ResolvedPlugin } from '../PluginResolver.js';
|
|
3
|
+
export interface PluginInstallResult {
|
|
4
|
+
installed: string[];
|
|
5
|
+
failed: string[];
|
|
6
|
+
skipped: string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Installer for ApiQuest plugins
|
|
10
|
+
* Handles global installation of missing plugins via npm
|
|
11
|
+
* Uses package.json metadata from npm registry to map capabilities to packages
|
|
12
|
+
*/
|
|
13
|
+
export declare class PluginInstaller {
|
|
14
|
+
/**
|
|
15
|
+
* Find plugins that are required but not resolved
|
|
16
|
+
* Queries npm registry to read package.json metadata and map capabilities to actual package names
|
|
17
|
+
*
|
|
18
|
+
* @param requirements - Plugin requirements (protocols, authTypes, valueProviders)
|
|
19
|
+
* @param resolved - Already resolved/installed plugins
|
|
20
|
+
* @param registryUrl - Optional custom npm registry URL
|
|
21
|
+
*/
|
|
22
|
+
static findMissingPlugins(requirements: PluginRequirements, resolved: ResolvedPlugin[], registryUrl?: string): Promise<Set<string>>;
|
|
23
|
+
/**
|
|
24
|
+
* Find which package provides a specific protocol
|
|
25
|
+
* Searches registry metadata to find the correct package
|
|
26
|
+
*/
|
|
27
|
+
private static findPackageForProtocol;
|
|
28
|
+
/**
|
|
29
|
+
* Find which package provides a specific auth type
|
|
30
|
+
* Searches registry metadata to find the correct package
|
|
31
|
+
* Note: Multiple packages can provide the same auth type, we pick the first match
|
|
32
|
+
*/
|
|
33
|
+
private static findPackageForAuthType;
|
|
34
|
+
/**
|
|
35
|
+
* Find which package provides a specific value provider
|
|
36
|
+
* Searches registry metadata to find the correct package
|
|
37
|
+
*/
|
|
38
|
+
private static findPackageForProvider;
|
|
39
|
+
/**
|
|
40
|
+
* Install plugins globally via npm
|
|
41
|
+
*/
|
|
42
|
+
static installPlugins(packageNames: Set<string>): Promise<PluginInstallResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Clear the registry cache (useful for testing or forcing a refresh)
|
|
45
|
+
*/
|
|
46
|
+
static clearCache(): void;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=plugin-installer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-installer.d.ts","sourceRoot":"","sources":["../../src/cli/plugin-installer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAOD;;;;GAIG;AACH,qBAAa,eAAe;IAC1B;;;;;;;OAOG;WACU,kBAAkB,CAC7B,YAAY,EAAE,kBAAkB,EAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IA2DvB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAOrC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAOrC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAOrC;;OAEG;WACU,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2BpF;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { exec } from 'child_process';
|
|
2
|
+
import { promisify } from 'util';
|
|
3
|
+
import { fetchAvailablePlugins } from './plugin-registry.js';
|
|
4
|
+
const execAsync = promisify(exec);
|
|
5
|
+
/**
|
|
6
|
+
* Cache for registry plugin data to avoid repeated queries
|
|
7
|
+
*/
|
|
8
|
+
let registryPluginsCache = null;
|
|
9
|
+
/**
|
|
10
|
+
* Installer for ApiQuest plugins
|
|
11
|
+
* Handles global installation of missing plugins via npm
|
|
12
|
+
* Uses package.json metadata from npm registry to map capabilities to packages
|
|
13
|
+
*/
|
|
14
|
+
export class PluginInstaller {
|
|
15
|
+
/**
|
|
16
|
+
* Find plugins that are required but not resolved
|
|
17
|
+
* Queries npm registry to read package.json metadata and map capabilities to actual package names
|
|
18
|
+
*
|
|
19
|
+
* @param requirements - Plugin requirements (protocols, authTypes, valueProviders)
|
|
20
|
+
* @param resolved - Already resolved/installed plugins
|
|
21
|
+
* @param registryUrl - Optional custom npm registry URL
|
|
22
|
+
*/
|
|
23
|
+
static async findMissingPlugins(requirements, resolved, registryUrl) {
|
|
24
|
+
const missing = new Set();
|
|
25
|
+
// Fetch available plugins from registry (cached)
|
|
26
|
+
if (registryPluginsCache === null) {
|
|
27
|
+
try {
|
|
28
|
+
registryPluginsCache = await fetchAvailablePlugins(registryUrl);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new Error(`Failed to fetch plugin registry data from ${registryUrl ?? 'default registry'}. ` +
|
|
32
|
+
`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const registryPlugins = registryPluginsCache;
|
|
36
|
+
// Check protocols
|
|
37
|
+
for (const protocol of requirements.protocols) {
|
|
38
|
+
const found = resolved.some(p => p.protocols?.includes(protocol) === true);
|
|
39
|
+
if (!found) {
|
|
40
|
+
const packageName = this.findPackageForProtocol(protocol, registryPlugins);
|
|
41
|
+
if (packageName !== null) {
|
|
42
|
+
missing.add(packageName);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.warn(`Warning: No package found in registry for protocol "${protocol}"`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Check auth types
|
|
50
|
+
for (const authType of requirements.authTypes) {
|
|
51
|
+
const found = resolved.some(p => p.authTypes?.includes(authType) === true);
|
|
52
|
+
if (!found) {
|
|
53
|
+
const packageName = this.findPackageForAuthType(authType, registryPlugins);
|
|
54
|
+
if (packageName !== null) {
|
|
55
|
+
missing.add(packageName);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
console.warn(`Warning: No package found in registry for auth type "${authType}"`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Check value providers
|
|
63
|
+
for (const provider of requirements.valueProviders) {
|
|
64
|
+
const found = resolved.some(p => p.valueTypes?.includes(provider) === true);
|
|
65
|
+
if (!found) {
|
|
66
|
+
const packageName = this.findPackageForProvider(provider, registryPlugins);
|
|
67
|
+
if (packageName !== null) {
|
|
68
|
+
missing.add(packageName);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.warn(`Warning: No package found in registry for provider "${provider}"`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return missing;
|
|
76
|
+
}
|
|
77
|
+
//TODO: Need to enhance this to use provides/supports ....
|
|
78
|
+
/**
|
|
79
|
+
* Find which package provides a specific protocol
|
|
80
|
+
* Searches registry metadata to find the correct package
|
|
81
|
+
*/
|
|
82
|
+
static findPackageForProtocol(protocol, plugins) {
|
|
83
|
+
const plugin = plugins.find(p => p.apiquest?.capabilities?.provides?.protocols?.includes(protocol) === true);
|
|
84
|
+
return plugin?.name ?? null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Find which package provides a specific auth type
|
|
88
|
+
* Searches registry metadata to find the correct package
|
|
89
|
+
* Note: Multiple packages can provide the same auth type, we pick the first match
|
|
90
|
+
*/
|
|
91
|
+
static findPackageForAuthType(authType, plugins) {
|
|
92
|
+
const plugin = plugins.find(p => p.apiquest?.capabilities?.provides?.authTypes?.includes(authType) === true);
|
|
93
|
+
return plugin?.name ?? null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Find which package provides a specific value provider
|
|
97
|
+
* Searches registry metadata to find the correct package
|
|
98
|
+
*/
|
|
99
|
+
static findPackageForProvider(provider, plugins) {
|
|
100
|
+
const plugin = plugins.find(p => p.apiquest?.capabilities?.provides?.valueTypes?.includes(provider) === true);
|
|
101
|
+
return plugin?.name ?? null;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Install plugins globally via npm
|
|
105
|
+
*/
|
|
106
|
+
static async installPlugins(packageNames) {
|
|
107
|
+
const result = {
|
|
108
|
+
installed: [],
|
|
109
|
+
failed: [],
|
|
110
|
+
skipped: []
|
|
111
|
+
};
|
|
112
|
+
for (const packageName of packageNames) {
|
|
113
|
+
try {
|
|
114
|
+
console.log(`Installing ${packageName}...`);
|
|
115
|
+
// Install globally
|
|
116
|
+
await execAsync(`npm install -g ${packageName}`, {
|
|
117
|
+
timeout: 120000 // 2 minute timeout
|
|
118
|
+
});
|
|
119
|
+
result.installed.push(packageName);
|
|
120
|
+
console.log(`Successfully installed ${packageName}`);
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
result.failed.push(packageName);
|
|
124
|
+
console.error(`Failed to install ${packageName}:`, error instanceof Error ? error.message : String(error));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Clear the registry cache (useful for testing or forcing a refresh)
|
|
131
|
+
*/
|
|
132
|
+
static clearCache() {
|
|
133
|
+
registryPluginsCache = null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=plugin-installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-installer.js","sourceRoot":"","sources":["../../src/cli/plugin-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared npm registry querying functionality for plugin discovery
|
|
3
|
+
* Uses types from @apiquest/types
|
|
4
|
+
*/
|
|
5
|
+
import type { PluginPackageJson } from '@apiquest/types';
|
|
6
|
+
/**
|
|
7
|
+
* Default npm registry URL
|
|
8
|
+
*/
|
|
9
|
+
export declare const DEFAULT_REGISTRY_URL = "https://registry.npmjs.org";
|
|
10
|
+
/**
|
|
11
|
+
* Fetch all available @apiquest/plugin-* packages from npm registry
|
|
12
|
+
* Filters for fracture runtime
|
|
13
|
+
*
|
|
14
|
+
* @param registryUrl - Base registry URL (default: https://registry.npmjs.org)
|
|
15
|
+
*/
|
|
16
|
+
export declare function fetchAvailablePlugins(registryUrl?: string): Promise<PluginPackageJson[]>;
|
|
17
|
+
//# sourceMappingURL=plugin-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/cli/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAoBzD;;GAEG;AACH,eAAO,MAAM,oBAAoB,+BAA+B,CAAC;AAEjE;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,GAAE,MAA6B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsCpH"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared npm registry querying functionality for plugin discovery
|
|
3
|
+
* Uses types from @apiquest/types
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Default npm registry URL
|
|
7
|
+
*/
|
|
8
|
+
export const DEFAULT_REGISTRY_URL = 'https://registry.npmjs.org';
|
|
9
|
+
/**
|
|
10
|
+
* Fetch all available @apiquest/plugin-* packages from npm registry
|
|
11
|
+
* Filters for fracture runtime
|
|
12
|
+
*
|
|
13
|
+
* @param registryUrl - Base registry URL (default: https://registry.npmjs.org)
|
|
14
|
+
*/
|
|
15
|
+
export async function fetchAvailablePlugins(registryUrl = DEFAULT_REGISTRY_URL) {
|
|
16
|
+
const searchUrl = new URL(`${registryUrl}/-/v1/search`);
|
|
17
|
+
searchUrl.searchParams.set('text', '@apiquest/plugin');
|
|
18
|
+
searchUrl.searchParams.set('size', '250');
|
|
19
|
+
const response = await fetch(searchUrl.toString(), {
|
|
20
|
+
headers: {
|
|
21
|
+
'Accept': 'application/json'
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
if (!response.ok) {
|
|
25
|
+
throw new Error(`Registry search failed: ${response.status} ${response.statusText}`);
|
|
26
|
+
}
|
|
27
|
+
const data = await response.json();
|
|
28
|
+
const names = data.objects
|
|
29
|
+
.map(obj => obj.package?.name)
|
|
30
|
+
.filter((name) => typeof name === 'string' && name.startsWith('@apiquest/plugin-'));
|
|
31
|
+
const pluginResults = await Promise.all(names.map(async (name) => {
|
|
32
|
+
try {
|
|
33
|
+
return await fetchRegistryPluginInfo(name, registryUrl);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
return pluginResults
|
|
40
|
+
.filter((plugin) => plugin !== null)
|
|
41
|
+
.filter(plugin => {
|
|
42
|
+
const runtime = plugin.apiquest?.runtime;
|
|
43
|
+
if (Array.isArray(runtime)) {
|
|
44
|
+
return runtime.includes('fracture');
|
|
45
|
+
}
|
|
46
|
+
return runtime === 'fracture';
|
|
47
|
+
})
|
|
48
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Fetch package.json metadata for a specific plugin from npm registry
|
|
52
|
+
*
|
|
53
|
+
* @param name - Package name (e.g., @apiquest/plugin-http)
|
|
54
|
+
* @param registryUrl - Base registry URL (default: https://registry.npmjs.org)
|
|
55
|
+
*/
|
|
56
|
+
async function fetchRegistryPluginInfo(name, registryUrl = DEFAULT_REGISTRY_URL) {
|
|
57
|
+
const response = await fetch(`${registryUrl}/${encodeURIComponent(name)}`, {
|
|
58
|
+
headers: {
|
|
59
|
+
'Accept': 'application/json'
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
if (!response.ok) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const data = await response.json();
|
|
66
|
+
const latest = data['dist-tags']?.latest;
|
|
67
|
+
const versionData = latest !== undefined && data.versions !== undefined ? data.versions[latest] : undefined;
|
|
68
|
+
if (latest === undefined || versionData?.apiquest === undefined) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
...versionData,
|
|
73
|
+
name: data.name,
|
|
74
|
+
version: latest
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=plugin-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/cli/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,cAAsB,oBAAoB;IACpF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,WAAW,cAAc,CAAC,CAAC;IACxD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvD,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE;QACjD,OAAO,EAAE;YACP,QAAQ,EAAE,kBAAkB;SAC7B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA4B,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO;SACvB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;SAC7B,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEtG,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,aAAa;SACjB,MAAM,CAAC,CAAC,MAAM,EAA+B,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC;SAChE,MAAM,CAAC,MAAM,CAAC,EAAE;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,KAAK,UAAU,CAAC;IAChC,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,uBAAuB,CAAC,IAAY,EAAE,cAAsB,oBAAoB;IAC7F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,WAAW,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;QACzE,OAAO,EAAE;YACP,QAAQ,EAAE,kBAAkB;SAC7B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5G,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC"}
|