@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.
Files changed (55) hide show
  1. package/package.json +1 -1
  2. package/dist/cache/cache-manager.d.ts +0 -132
  3. package/dist/cache/cache-manager.d.ts.map +0 -1
  4. package/dist/cache/cache-manager.js +0 -218
  5. package/dist/cache/cache-manager.js.map +0 -1
  6. package/dist/client/registry-client.d.ts +0 -129
  7. package/dist/client/registry-client.d.ts.map +0 -1
  8. package/dist/client/registry-client.js +0 -317
  9. package/dist/client/registry-client.js.map +0 -1
  10. package/dist/formatters/error-formatter.d.ts +0 -100
  11. package/dist/formatters/error-formatter.d.ts.map +0 -1
  12. package/dist/formatters/error-formatter.js +0 -290
  13. package/dist/formatters/error-formatter.js.map +0 -1
  14. package/dist/formatters/index.d.ts +0 -8
  15. package/dist/formatters/index.d.ts.map +0 -1
  16. package/dist/formatters/index.js +0 -7
  17. package/dist/formatters/index.js.map +0 -1
  18. package/dist/index.d.ts +0 -19
  19. package/dist/index.js +0 -22
  20. package/dist/index.js.map +0 -1
  21. package/dist/offline/offline-handler.d.ts +0 -150
  22. package/dist/offline/offline-handler.d.ts.map +0 -1
  23. package/dist/offline/offline-handler.js +0 -290
  24. package/dist/offline/offline-handler.js.map +0 -1
  25. package/dist/types/index.d.ts +0 -13
  26. package/dist/types/index.d.ts.map +0 -1
  27. package/dist/types/index.js +0 -11
  28. package/dist/types/index.js.map +0 -1
  29. package/dist/types/registry.d.ts +0 -220
  30. package/dist/types/registry.d.ts.map +0 -1
  31. package/dist/types/registry.js +0 -55
  32. package/dist/types/registry.js.map +0 -1
  33. package/dist/types/validation.d.ts +0 -197
  34. package/dist/types/validation.d.ts.map +0 -1
  35. package/dist/types/validation.js +0 -140
  36. package/dist/types/validation.js.map +0 -1
  37. package/dist/utils/manifest-adapter.d.ts +0 -42
  38. package/dist/utils/manifest-adapter.js +0 -182
  39. package/dist/utils/manifest-adapter.js.map +0 -1
  40. package/dist/validators/index.d.ts +0 -12
  41. package/dist/validators/index.d.ts.map +0 -1
  42. package/dist/validators/index.js +0 -9
  43. package/dist/validators/index.js.map +0 -1
  44. package/dist/validators/installation-validator.d.ts +0 -75
  45. package/dist/validators/installation-validator.d.ts.map +0 -1
  46. package/dist/validators/installation-validator.js +0 -142
  47. package/dist/validators/installation-validator.js.map +0 -1
  48. package/dist/validators/manifest-validator.d.ts +0 -82
  49. package/dist/validators/manifest-validator.d.ts.map +0 -1
  50. package/dist/validators/manifest-validator.js +0 -213
  51. package/dist/validators/manifest-validator.js.map +0 -1
  52. package/dist/validators/validator.d.ts +0 -113
  53. package/dist/validators/validator.d.ts.map +0 -1
  54. package/dist/validators/validator.js +0 -165
  55. package/dist/validators/validator.js.map +0 -1
@@ -1,197 +0,0 @@
1
- /**
2
- * Validation Type Definitions
3
- *
4
- * Types for manifest validation and error reporting.
5
- *
6
- * @module registry/types/validation
7
- * @version 2.0.0
8
- */
9
- import type { RegistryResponse } from './registry.js';
10
- /**
11
- * Validation severity levels
12
- */
13
- export type ValidationSeverity = 'error' | 'warning' | 'info';
14
- /**
15
- * Validation stage
16
- */
17
- export type ValidationStage = 'manifest' | 'installation';
18
- /**
19
- * Validation issue/error
20
- *
21
- * Represents a single validation problem found during manifest or installation validation.
22
- */
23
- export interface ValidationIssue {
24
- /** Error code (e.g., "MANIFEST-001") */
25
- code: string;
26
- /** Severity level */
27
- severity: ValidationSeverity;
28
- /** Validation stage where this issue was found */
29
- stage: ValidationStage;
30
- /** Short title for the issue */
31
- title: string;
32
- /** Detailed message explaining the issue */
33
- message: string;
34
- /** File where the issue was found */
35
- file: string;
36
- /** Line number in the file (0 if unknown) */
37
- line: number;
38
- /** Column number in the file (0 if unknown) */
39
- column: number;
40
- /** Code snippet showing the problematic section (optional) */
41
- snippet?: string;
42
- /** Suggestions for fixing the issue */
43
- suggestions?: string[];
44
- /** Auto-fix command (e.g., "npm install @specverse/factories-prisma@3.3.0") */
45
- fix?: string;
46
- /** URL to learn more about this issue */
47
- learnMoreUrl?: string;
48
- }
49
- /**
50
- * Validation result
51
- *
52
- * Complete result of running validation on a manifest.
53
- */
54
- export interface ValidationResult {
55
- /** True if validation passed (no errors) */
56
- valid: boolean;
57
- /** List of errors found */
58
- errors: ValidationIssue[];
59
- /** List of warnings found */
60
- warnings: ValidationIssue[];
61
- /** List of informational messages */
62
- info: ValidationIssue[];
63
- }
64
- /**
65
- * Validation rule interface
66
- *
67
- * All validation rules must implement this interface.
68
- */
69
- export interface ValidationRule {
70
- /** Unique error code for this rule */
71
- code: string;
72
- /** Human-readable name for this rule */
73
- name: string;
74
- /** Default severity for issues from this rule */
75
- severity: ValidationSeverity;
76
- /** Stage where this rule runs */
77
- stage: ValidationStage;
78
- /**
79
- * Validate manifest against registry metadata
80
- *
81
- * @param manifest - The manifest to validate
82
- * @param registry - Registry metadata to validate against
83
- * @returns Array of validation issues found
84
- */
85
- validate(manifest: any, registry: RegistryResponse): ValidationIssue[];
86
- }
87
- /**
88
- * Manifest validation options
89
- */
90
- export interface ManifestValidationOptions {
91
- /** Treat warnings as errors */
92
- strict?: boolean;
93
- /** Skip deprecated factory checks */
94
- skipDeprecated?: boolean;
95
- /** File path for error reporting */
96
- filePath?: string;
97
- }
98
- /**
99
- * Installation validation options
100
- */
101
- export interface InstallationValidationOptions {
102
- /** Auto-install missing packages */
103
- autoInstall?: boolean;
104
- /** Check git sources (requires git command) */
105
- checkGit?: boolean;
106
- /** Check URL sources (requires network) */
107
- checkUrl?: boolean;
108
- }
109
- /**
110
- * Combined validation options
111
- */
112
- export interface ValidationOptions extends ManifestValidationOptions, InstallationValidationOptions {
113
- /** Run manifest validation (Stage 2) */
114
- checkManifest?: boolean;
115
- /** Run installation validation (Stage 3) */
116
- checkInstalled?: boolean;
117
- /** Use offline mode (cached registry metadata) */
118
- offline?: boolean;
119
- }
120
- /**
121
- * Type guard to check if issue is an error
122
- */
123
- export declare function isError(issue: ValidationIssue): boolean;
124
- /**
125
- * Type guard to check if issue is a warning
126
- */
127
- export declare function isWarning(issue: ValidationIssue): boolean;
128
- /**
129
- * Type guard to check if issue is info
130
- */
131
- export declare function isInfo(issue: ValidationIssue): boolean;
132
- /**
133
- * Helper to filter issues by severity
134
- */
135
- export declare function filterBySeverity(issues: ValidationIssue[], severity: ValidationSeverity): ValidationIssue[];
136
- /**
137
- * Helper to filter issues by stage
138
- */
139
- export declare function filterByStage(issues: ValidationIssue[], stage: ValidationStage): ValidationIssue[];
140
- /**
141
- * Helper to check if validation result has errors
142
- */
143
- export declare function hasErrors(result: ValidationResult): boolean;
144
- /**
145
- * Helper to check if validation result has warnings
146
- */
147
- export declare function hasWarnings(result: ValidationResult): boolean;
148
- /**
149
- * Helper to get total issue count
150
- */
151
- export declare function getTotalIssues(result: ValidationResult): number;
152
- /**
153
- * Helper to merge multiple validation results
154
- */
155
- export declare function mergeResults(...results: ValidationResult[]): ValidationResult;
156
- /**
157
- * Helper to create a validation issue
158
- */
159
- export declare function createIssue(code: string, severity: ValidationSeverity, stage: ValidationStage, title: string, message: string, file?: string, line?: number, column?: number): ValidationIssue;
160
- /**
161
- * Helper to add suggestions to an issue
162
- */
163
- export declare function withSuggestions(issue: ValidationIssue, suggestions: string[]): ValidationIssue;
164
- /**
165
- * Helper to add fix command to an issue
166
- */
167
- export declare function withFix(issue: ValidationIssue, fix: string): ValidationIssue;
168
- /**
169
- * Helper to add learn more URL to an issue
170
- */
171
- export declare function withLearnMore(issue: ValidationIssue, url: string): ValidationIssue;
172
- /**
173
- * Error code constants
174
- */
175
- export declare const ErrorCodes: {
176
- readonly FACTORY_NOT_FOUND: "MANIFEST-001";
177
- readonly FACTORY_DEPRECATED: "MANIFEST-002";
178
- readonly INVALID_CAPABILITY_MAPPING: "MANIFEST-004";
179
- readonly NETWORK_ERROR: "MANIFEST-005";
180
- readonly STALE_CACHE: "MANIFEST-006";
181
- readonly PACKAGE_NOT_INSTALLED: "REALIZE-001";
182
- readonly FACTORY_FILE_NOT_FOUND: "REALIZE-002";
183
- readonly VERSION_MISMATCH: "REALIZE-003";
184
- };
185
- /**
186
- * Type for error codes
187
- */
188
- export type ErrorCode = typeof ErrorCodes[keyof typeof ErrorCodes];
189
- /**
190
- * Learn more URLs
191
- */
192
- export declare const LearnMoreUrls: {
193
- readonly REGISTRY: "https://registry.specverse.com/factories";
194
- readonly MIGRATION: "https://docs.specverse.com/migration";
195
- readonly CAPABILITIES: "https://docs.specverse.com/capabilities";
196
- };
197
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"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"}
@@ -1,140 +0,0 @@
1
- /**
2
- * Validation Type Definitions
3
- *
4
- * Types for manifest validation and error reporting.
5
- *
6
- * @module registry/types/validation
7
- * @version 2.0.0
8
- */
9
- /**
10
- * Type guard to check if issue is an error
11
- */
12
- export function isError(issue) {
13
- return issue.severity === 'error';
14
- }
15
- /**
16
- * Type guard to check if issue is a warning
17
- */
18
- export function isWarning(issue) {
19
- return issue.severity === 'warning';
20
- }
21
- /**
22
- * Type guard to check if issue is info
23
- */
24
- export function isInfo(issue) {
25
- return issue.severity === 'info';
26
- }
27
- /**
28
- * Helper to filter issues by severity
29
- */
30
- export function filterBySeverity(issues, severity) {
31
- return issues.filter(issue => issue.severity === severity);
32
- }
33
- /**
34
- * Helper to filter issues by stage
35
- */
36
- export function filterByStage(issues, stage) {
37
- return issues.filter(issue => issue.stage === stage);
38
- }
39
- /**
40
- * Helper to check if validation result has errors
41
- */
42
- export function hasErrors(result) {
43
- return result.errors.length > 0;
44
- }
45
- /**
46
- * Helper to check if validation result has warnings
47
- */
48
- export function hasWarnings(result) {
49
- return result.warnings.length > 0;
50
- }
51
- /**
52
- * Helper to get total issue count
53
- */
54
- export function getTotalIssues(result) {
55
- return result.errors.length + result.warnings.length + result.info.length;
56
- }
57
- /**
58
- * Helper to merge multiple validation results
59
- */
60
- export function mergeResults(...results) {
61
- const merged = {
62
- valid: true,
63
- errors: [],
64
- warnings: [],
65
- info: []
66
- };
67
- for (const result of results) {
68
- merged.errors.push(...result.errors);
69
- merged.warnings.push(...result.warnings);
70
- merged.info.push(...result.info);
71
- }
72
- merged.valid = merged.errors.length === 0;
73
- return merged;
74
- }
75
- /**
76
- * Helper to create a validation issue
77
- */
78
- export function createIssue(code, severity, stage, title, message, file = 'manifests/implementation.yaml', line = 0, column = 0) {
79
- return {
80
- code,
81
- severity,
82
- stage,
83
- title,
84
- message,
85
- file,
86
- line,
87
- column
88
- };
89
- }
90
- /**
91
- * Helper to add suggestions to an issue
92
- */
93
- export function withSuggestions(issue, suggestions) {
94
- return {
95
- ...issue,
96
- suggestions
97
- };
98
- }
99
- /**
100
- * Helper to add fix command to an issue
101
- */
102
- export function withFix(issue, fix) {
103
- return {
104
- ...issue,
105
- fix
106
- };
107
- }
108
- /**
109
- * Helper to add learn more URL to an issue
110
- */
111
- export function withLearnMore(issue, url) {
112
- return {
113
- ...issue,
114
- learnMoreUrl: url
115
- };
116
- }
117
- /**
118
- * Error code constants
119
- */
120
- export const ErrorCodes = {
121
- // Stage 2: Manifest validation
122
- FACTORY_NOT_FOUND: 'MANIFEST-001',
123
- FACTORY_DEPRECATED: 'MANIFEST-002',
124
- INVALID_CAPABILITY_MAPPING: 'MANIFEST-004',
125
- NETWORK_ERROR: 'MANIFEST-005',
126
- STALE_CACHE: 'MANIFEST-006',
127
- // Stage 3: Installation validation
128
- PACKAGE_NOT_INSTALLED: 'REALIZE-001',
129
- FACTORY_FILE_NOT_FOUND: 'REALIZE-002',
130
- VERSION_MISMATCH: 'REALIZE-003'
131
- };
132
- /**
133
- * Learn more URLs
134
- */
135
- export const LearnMoreUrls = {
136
- REGISTRY: 'https://registry.specverse.com/factories',
137
- MIGRATION: 'https://docs.specverse.com/migration',
138
- CAPABILITIES: 'https://docs.specverse.com/capabilities'
139
- };
140
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Manifest Adapter
3
- *
4
- * Bridges between ManifestConfig (realize format) and SpecVerseManifest (validation format).
5
- * Converts the unified manifest format to the structure expected by validators.
6
- *
7
- * @module registry/utils/manifest-adapter
8
- * @version 1.0.0
9
- */
10
- import type { SpecVerseManifest } from '../validators/manifest-validator.js';
11
- import type { ManifestConfig } from '@specverse/engine-realize';
12
- /**
13
- * Convert ManifestConfig to SpecVerseManifest
14
- *
15
- * Extracts instance factories and capability mappings from the unified format.
16
- * Supports both v3.6 (defaults/overrides) and v3.3 (capabilityMappings/instanceMappings).
17
- *
18
- * @param manifestConfig - Full manifest configuration
19
- * @returns SpecVerseManifest suitable for validation
20
- */
21
- export declare function manifestConfigToSpecVerseManifest(manifestConfig: ManifestConfig): SpecVerseManifest;
22
- /**
23
- * Validate that capability mappings reference declared factories
24
- *
25
- * Supports both v3.6 (defaults/overrides) and v3.3 (capabilityMappings/instanceMappings).
26
- *
27
- * @param manifest - Manifest configuration to validate
28
- * @returns Validation errors (empty if valid)
29
- */
30
- export declare function validateFactoryReferences(manifest: ManifestConfig): string[];
31
- /**
32
- * Get all factory names from manifest
33
- *
34
- * Extracts factory names from instanceFactories, overrides, capabilityMappings, and instanceMappings.
35
- * Supports both v3.6 and v3.3 formats.
36
- * Useful for determining what needs to be declared.
37
- *
38
- * @param manifest - Manifest configuration
39
- * @returns Set of factory names
40
- */
41
- export declare function getReferencedFactoryNames(manifest: ManifestConfig): Set<string>;
42
- //# sourceMappingURL=manifest-adapter.d.ts.map
@@ -1,182 +0,0 @@
1
- /**
2
- * Manifest Adapter
3
- *
4
- * Bridges between ManifestConfig (realize format) and SpecVerseManifest (validation format).
5
- * Converts the unified manifest format to the structure expected by validators.
6
- *
7
- * @module registry/utils/manifest-adapter
8
- * @version 1.0.0
9
- */
10
- import { getEffectiveMappings } from '@specverse/engine-realize';
11
- /**
12
- * Convert ManifestConfig to SpecVerseManifest
13
- *
14
- * Extracts instance factories and capability mappings from the unified format.
15
- * Supports both v3.6 (defaults/overrides) and v3.3 (capabilityMappings/instanceMappings).
16
- *
17
- * @param manifestConfig - Full manifest configuration
18
- * @returns SpecVerseManifest suitable for validation
19
- */
20
- export function manifestConfigToSpecVerseManifest(manifestConfig) {
21
- // Extract instance factories if present
22
- const instanceFactories = [];
23
- if (manifestConfig.instanceFactories) {
24
- for (const factory of manifestConfig.instanceFactories) {
25
- // Convert source metadata to string format for validation
26
- const sourceString = getSourceString(factory);
27
- instanceFactories.push({
28
- name: factory.name,
29
- source: sourceString
30
- });
31
- }
32
- }
33
- // Get effective mappings (auto-migrates v3.3 to v3.6 if needed)
34
- const { defaults, overrides, system } = getEffectiveMappings(manifestConfig);
35
- // Build capability mappings from effective mappings
36
- const capabilityMappings = [];
37
- // If using v3.6 format, convert overrides with capability targets
38
- if (system === 'v3.6' && overrides) {
39
- for (const override of overrides) {
40
- // Only include capability targets (not instance names)
41
- if (isCapabilityTarget(override.target)) {
42
- capabilityMappings.push({
43
- capability: override.target,
44
- instanceFactory: override.factory
45
- });
46
- }
47
- }
48
- }
49
- // If using v3.3 format, use original legacy mappings (not migrated)
50
- if (system === 'v3.3' && manifestConfig.capabilityMappings) {
51
- capabilityMappings.push(...manifestConfig.capabilityMappings.map(mapping => ({
52
- capability: mapping.capability,
53
- instanceFactory: mapping.instanceFactory
54
- })));
55
- }
56
- return {
57
- specVersion: manifestConfig.specVersion,
58
- instanceFactories,
59
- capabilityMappings
60
- };
61
- }
62
- /**
63
- * Determine if a target is a capability pattern
64
- *
65
- * Capability patterns contain dots (e.g., "storage.database")
66
- * Instance names typically don't (e.g., "primary-db")
67
- *
68
- * @param target - Target string to check
69
- * @returns True if target looks like a capability
70
- */
71
- function isCapabilityTarget(target) {
72
- return /^[a-z]+\.[a-z]+(\.[a-z]+)*$/.test(target);
73
- }
74
- /**
75
- * Get source string from factory declaration
76
- *
77
- * Converts structured source metadata to a string representation.
78
- *
79
- * @param factory - Instance factory declaration
80
- * @returns Source string (e.g., "@specverse/factories-prisma")
81
- */
82
- function getSourceString(factory) {
83
- const { source } = factory;
84
- switch (source.type) {
85
- case 'npm':
86
- return source.package || '';
87
- case 'git':
88
- return source.url || '';
89
- case 'url':
90
- return source.url || '';
91
- default:
92
- return '';
93
- }
94
- }
95
- /**
96
- * Validate that capability mappings reference declared factories
97
- *
98
- * Supports both v3.6 (defaults/overrides) and v3.3 (capabilityMappings/instanceMappings).
99
- *
100
- * @param manifest - Manifest configuration to validate
101
- * @returns Validation errors (empty if valid)
102
- */
103
- export function validateFactoryReferences(manifest) {
104
- const errors = [];
105
- if (!manifest.instanceFactories || manifest.instanceFactories.length === 0) {
106
- // If no instance factories declared, skip validation
107
- // (backward compatibility with old manifests)
108
- return errors;
109
- }
110
- // Build map of declared factory names
111
- const declaredFactories = new Set(manifest.instanceFactories.map(f => f.name));
112
- // Check v3.6 overrides
113
- if (manifest.overrides) {
114
- for (const override of manifest.overrides) {
115
- if (!declaredFactories.has(override.factory)) {
116
- errors.push(`Override references undeclared factory: "${override.factory}" for target "${override.target}". ` +
117
- `Add it to instanceFactories section.`);
118
- }
119
- }
120
- }
121
- // Check v3.3 capability mappings
122
- if (manifest.capabilityMappings) {
123
- for (const mapping of manifest.capabilityMappings) {
124
- if (!declaredFactories.has(mapping.instanceFactory)) {
125
- errors.push(`Capability mapping references undeclared factory: "${mapping.instanceFactory}". ` +
126
- `Add it to instanceFactories section.`);
127
- }
128
- }
129
- }
130
- // Check v3.3 instance mappings
131
- if (manifest.instanceMappings) {
132
- for (const mapping of manifest.instanceMappings) {
133
- const factoryName = mapping.instanceFactory;
134
- if (factoryName && !declaredFactories.has(factoryName)) {
135
- errors.push(`Instance mapping references undeclared factory: "${factoryName}". ` +
136
- `Add it to instanceFactories section.`);
137
- }
138
- }
139
- }
140
- return errors;
141
- }
142
- /**
143
- * Get all factory names from manifest
144
- *
145
- * Extracts factory names from instanceFactories, overrides, capabilityMappings, and instanceMappings.
146
- * Supports both v3.6 and v3.3 formats.
147
- * Useful for determining what needs to be declared.
148
- *
149
- * @param manifest - Manifest configuration
150
- * @returns Set of factory names
151
- */
152
- export function getReferencedFactoryNames(manifest) {
153
- const names = new Set();
154
- // From instance factories
155
- if (manifest.instanceFactories) {
156
- for (const factory of manifest.instanceFactories) {
157
- names.add(factory.name);
158
- }
159
- }
160
- // From v3.6 overrides
161
- if (manifest.overrides) {
162
- for (const override of manifest.overrides) {
163
- names.add(override.factory);
164
- }
165
- }
166
- // From v3.3 capability mappings
167
- if (manifest.capabilityMappings) {
168
- for (const mapping of manifest.capabilityMappings) {
169
- names.add(mapping.instanceFactory);
170
- }
171
- }
172
- // From v3.3 instance mappings
173
- if (manifest.instanceMappings) {
174
- for (const mapping of manifest.instanceMappings) {
175
- if (mapping.instanceFactory) {
176
- names.add(mapping.instanceFactory);
177
- }
178
- }
179
- }
180
- return names;
181
- }
182
- //# sourceMappingURL=manifest-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest-adapter.js","sourceRoot":"","sources":["../../src/utils/manifest-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Registry Validators
3
- *
4
- * @module registry/validators
5
- */
6
- export { Validator } from './validator.js';
7
- export { ManifestValidator } from './manifest-validator.js';
8
- export { InstallationValidator } from './installation-validator.js';
9
- export type { ValidatorOptions, ValidationReport } from './validator.js';
10
- export type { SpecVerseManifest, ManifestValidationOptions } from './manifest-validator.js';
11
- export type { InstallationValidationOptions, PackageInfo } from './installation-validator.js';
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,YAAY,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Registry Validators
3
- *
4
- * @module registry/validators
5
- */
6
- export { Validator } from './validator.js';
7
- export { ManifestValidator } from './manifest-validator.js';
8
- export { InstallationValidator } from './installation-validator.js';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}