@specverse/engine-registry 4.0.2 → 4.0.4
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/package.json +1 -1
- package/dist/cache/cache-manager.d.ts +0 -132
- package/dist/cache/cache-manager.d.ts.map +0 -1
- package/dist/cache/cache-manager.js +0 -218
- package/dist/cache/cache-manager.js.map +0 -1
- package/dist/client/registry-client.d.ts +0 -129
- package/dist/client/registry-client.d.ts.map +0 -1
- package/dist/client/registry-client.js +0 -317
- package/dist/client/registry-client.js.map +0 -1
- package/dist/formatters/error-formatter.d.ts +0 -100
- package/dist/formatters/error-formatter.d.ts.map +0 -1
- package/dist/formatters/error-formatter.js +0 -290
- package/dist/formatters/error-formatter.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -8
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -7
- package/dist/formatters/index.js.map +0 -1
- package/dist/index.d.ts +0 -19
- package/dist/index.js +0 -22
- package/dist/index.js.map +0 -1
- package/dist/offline/offline-handler.d.ts +0 -150
- package/dist/offline/offline-handler.d.ts.map +0 -1
- package/dist/offline/offline-handler.js +0 -290
- package/dist/offline/offline-handler.js.map +0 -1
- package/dist/types/index.d.ts +0 -13
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -11
- package/dist/types/index.js.map +0 -1
- package/dist/types/registry.d.ts +0 -220
- package/dist/types/registry.d.ts.map +0 -1
- package/dist/types/registry.js +0 -55
- package/dist/types/registry.js.map +0 -1
- package/dist/types/validation.d.ts +0 -197
- package/dist/types/validation.d.ts.map +0 -1
- package/dist/types/validation.js +0 -140
- package/dist/types/validation.js.map +0 -1
- package/dist/utils/manifest-adapter.d.ts +0 -42
- package/dist/utils/manifest-adapter.js +0 -182
- package/dist/utils/manifest-adapter.js.map +0 -1
- package/dist/validators/index.d.ts +0 -12
- package/dist/validators/index.d.ts.map +0 -1
- package/dist/validators/index.js +0 -9
- package/dist/validators/index.js.map +0 -1
- package/dist/validators/installation-validator.d.ts +0 -75
- package/dist/validators/installation-validator.d.ts.map +0 -1
- package/dist/validators/installation-validator.js +0 -142
- package/dist/validators/installation-validator.js.map +0 -1
- package/dist/validators/manifest-validator.d.ts +0 -82
- package/dist/validators/manifest-validator.d.ts.map +0 -1
- package/dist/validators/manifest-validator.js +0 -213
- package/dist/validators/manifest-validator.js.map +0 -1
- package/dist/validators/validator.d.ts +0 -113
- package/dist/validators/validator.d.ts.map +0 -1
- package/dist/validators/validator.js +0 -165
- package/dist/validators/validator.js.map +0 -1
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Main Validator
|
|
3
|
-
*
|
|
4
|
-
* Orchestrates manifest and installation validation.
|
|
5
|
-
* Provides a unified interface for validating SpecVerse projects.
|
|
6
|
-
*
|
|
7
|
-
* @module registry/validators/validator
|
|
8
|
-
* @version 2.0.0
|
|
9
|
-
*/
|
|
10
|
-
import { ManifestValidator } from './manifest-validator.js';
|
|
11
|
-
import { InstallationValidator } from './installation-validator.js';
|
|
12
|
-
import { OfflineHandler } from '../offline/offline-handler.js';
|
|
13
|
-
import { mergeResults } from '../types/index.js';
|
|
14
|
-
/**
|
|
15
|
-
* Main Validator
|
|
16
|
-
*
|
|
17
|
-
* Orchestrates all validation stages.
|
|
18
|
-
*/
|
|
19
|
-
export class Validator {
|
|
20
|
-
manifestValidator;
|
|
21
|
-
installationValidator;
|
|
22
|
-
offlineHandler;
|
|
23
|
-
constructor(offlineHandler) {
|
|
24
|
-
this.offlineHandler = offlineHandler || new OfflineHandler();
|
|
25
|
-
this.manifestValidator = new ManifestValidator(this.offlineHandler);
|
|
26
|
-
this.installationValidator = new InstallationValidator();
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Validate a manifest file
|
|
30
|
-
*
|
|
31
|
-
* Runs both manifest and installation validation unless skipped.
|
|
32
|
-
*
|
|
33
|
-
* @param manifest - Manifest to validate
|
|
34
|
-
* @param options - Validation options
|
|
35
|
-
* @returns Validation report
|
|
36
|
-
*/
|
|
37
|
-
async validate(manifest, options = {}) {
|
|
38
|
-
const validationsPassed = [];
|
|
39
|
-
const validationsFailed = [];
|
|
40
|
-
let manifestResult;
|
|
41
|
-
let installationResult;
|
|
42
|
-
// Stage 1: Manifest Validation (unless skipped)
|
|
43
|
-
if (!options.skipManifest) {
|
|
44
|
-
const manifestOptions = {
|
|
45
|
-
...options.manifest,
|
|
46
|
-
offline: options.offline
|
|
47
|
-
};
|
|
48
|
-
manifestResult = await this.manifestValidator.validate(manifest, manifestOptions);
|
|
49
|
-
if (manifestResult.valid) {
|
|
50
|
-
validationsPassed.push('manifest');
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
validationsFailed.push('manifest');
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
// Stage 2: Installation Validation (unless skipped or manifest failed critically)
|
|
57
|
-
if (!options.skipInstallation) {
|
|
58
|
-
// Only run installation validation if we have manifest data or skipped manifest
|
|
59
|
-
if (options.skipManifest || !manifestResult || manifestResult.valid) {
|
|
60
|
-
// Get registry factories from offline handler
|
|
61
|
-
const registryResult = await this.offlineHandler.fetchFactories();
|
|
62
|
-
const registryFactories = new Map(registryResult.data.results.map(f => [f.name, f]));
|
|
63
|
-
installationResult = await this.installationValidator.validate(manifest, registryFactories, options.installation);
|
|
64
|
-
if (installationResult.valid) {
|
|
65
|
-
validationsPassed.push('installation');
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
validationsFailed.push('installation');
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
// Skip installation validation if manifest failed
|
|
73
|
-
validationsFailed.push('installation (skipped due to manifest errors)');
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// Merge results
|
|
77
|
-
const results = [manifestResult, installationResult].filter((r) => r !== undefined);
|
|
78
|
-
const mergedResult = results.length > 0
|
|
79
|
-
? mergeResults(...results)
|
|
80
|
-
: {
|
|
81
|
-
valid: true,
|
|
82
|
-
errors: [],
|
|
83
|
-
warnings: [],
|
|
84
|
-
info: []
|
|
85
|
-
};
|
|
86
|
-
return {
|
|
87
|
-
result: mergedResult,
|
|
88
|
-
manifestResult,
|
|
89
|
-
installationResult,
|
|
90
|
-
summary: {
|
|
91
|
-
totalIssues: mergedResult.errors.length +
|
|
92
|
-
mergedResult.warnings.length +
|
|
93
|
-
mergedResult.info.length,
|
|
94
|
-
errorCount: mergedResult.errors.length,
|
|
95
|
-
warningCount: mergedResult.warnings.length,
|
|
96
|
-
infoCount: mergedResult.info.length,
|
|
97
|
-
validationsPassed,
|
|
98
|
-
validationsFailed
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Validate manifest only (skip installation check)
|
|
104
|
-
*
|
|
105
|
-
* @param manifest - Manifest to validate
|
|
106
|
-
* @param options - Manifest validation options
|
|
107
|
-
* @returns Validation report
|
|
108
|
-
*/
|
|
109
|
-
async validateManifestOnly(manifest, options) {
|
|
110
|
-
return this.validate(manifest, {
|
|
111
|
-
manifest: options,
|
|
112
|
-
skipInstallation: true
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Validate installation only (skip manifest check)
|
|
117
|
-
*
|
|
118
|
-
* @param manifest - Manifest to validate
|
|
119
|
-
* @param options - Installation validation options
|
|
120
|
-
* @returns Validation report
|
|
121
|
-
*/
|
|
122
|
-
async validateInstallationOnly(manifest, options) {
|
|
123
|
-
return this.validate(manifest, {
|
|
124
|
-
installation: options,
|
|
125
|
-
skipManifest: true
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Get offline handler
|
|
130
|
-
*
|
|
131
|
-
* @returns Offline handler instance
|
|
132
|
-
*/
|
|
133
|
-
getOfflineHandler() {
|
|
134
|
-
return this.offlineHandler;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Get manifest validator
|
|
138
|
-
*
|
|
139
|
-
* @returns Manifest validator instance
|
|
140
|
-
*/
|
|
141
|
-
getManifestValidator() {
|
|
142
|
-
return this.manifestValidator;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Get installation validator
|
|
146
|
-
*
|
|
147
|
-
* @returns Installation validator instance
|
|
148
|
-
*/
|
|
149
|
-
getInstallationValidator() {
|
|
150
|
-
return this.installationValidator;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Enable offline mode
|
|
154
|
-
*/
|
|
155
|
-
enableOfflineMode() {
|
|
156
|
-
this.offlineHandler.enableOfflineMode();
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Disable offline mode
|
|
160
|
-
*/
|
|
161
|
-
disableOfflineMode() {
|
|
162
|
-
this.offlineHandler.disableOfflineMode();
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
//# sourceMappingURL=validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validators/validator.ts"],"names":[],"mappings":"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"}
|