@dependabit/manifest 0.1.1

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/dist/schema.js ADDED
@@ -0,0 +1,213 @@
1
+ import { z } from 'zod';
2
+ // Version tracking
3
+ export const ManifestVersionSchema = z.literal('1.0.0');
4
+ // Access methods (HOW to retrieve/check dependency)
5
+ export const AccessMethodSchema = z.enum(['context7', 'arxiv', 'openapi', 'github-api', 'http']);
6
+ // Dependency types (WHAT the dependency represents)
7
+ export const DependencyTypeSchema = z.enum([
8
+ 'reference-implementation',
9
+ 'schema',
10
+ 'documentation',
11
+ 'research-paper',
12
+ 'api-example',
13
+ 'other'
14
+ ]);
15
+ // Detection methods
16
+ export const DetectionMethodSchema = z.enum([
17
+ 'llm-analysis',
18
+ 'manual',
19
+ 'package-json',
20
+ 'requirements-txt',
21
+ 'code-comment'
22
+ ]);
23
+ // Severity levels
24
+ export const SeveritySchema = z.enum(['breaking', 'major', 'minor']);
25
+ // Authentication configuration
26
+ export const AuthConfigSchema = z
27
+ .object({
28
+ type: z.enum(['token', 'basic', 'oauth', 'none']),
29
+ // Reference to an environment variable or secret identifier.
30
+ // Do NOT store raw secret values directly in the manifest.
31
+ secretEnvVar: z.string().optional()
32
+ })
33
+ .optional();
34
+ // Monitoring rules
35
+ export const MonitoringRulesSchema = z.object({
36
+ enabled: z.boolean().default(true),
37
+ checkFrequency: z.enum(['hourly', 'daily', 'weekly', 'monthly']).default('daily'),
38
+ ignoreChanges: z.boolean().default(false),
39
+ severityOverride: SeveritySchema.optional()
40
+ });
41
+ // Individual dependency entry
42
+ export const DependencyEntrySchema = z.object({
43
+ id: z.string().uuid(),
44
+ url: z.string().url(),
45
+ type: DependencyTypeSchema,
46
+ accessMethod: AccessMethodSchema,
47
+ name: z.string(),
48
+ description: z.string().optional(),
49
+ // Version/state tracking
50
+ currentVersion: z.string().optional(),
51
+ currentStateHash: z.string(),
52
+ // Metadata
53
+ detectionMethod: DetectionMethodSchema,
54
+ detectionConfidence: z.number().min(0).max(1),
55
+ detectedAt: z.string().datetime(),
56
+ lastChecked: z.string().datetime(),
57
+ lastChanged: z.string().datetime().optional(),
58
+ // Configuration
59
+ auth: AuthConfigSchema,
60
+ monitoring: MonitoringRulesSchema.optional(),
61
+ // Relationships
62
+ referencedIn: z.array(z.object({
63
+ file: z.string(),
64
+ line: z.number().optional(),
65
+ context: z.string().optional()
66
+ })),
67
+ // Change history
68
+ changeHistory: z
69
+ .array(z.object({
70
+ detectedAt: z.string().datetime(),
71
+ oldVersion: z.string().optional(),
72
+ newVersion: z.string().optional(),
73
+ severity: SeveritySchema,
74
+ issueNumber: z.number().optional(),
75
+ falsePositive: z.boolean().default(false)
76
+ }))
77
+ .default([])
78
+ });
79
+ // Complete manifest
80
+ export const DependencyManifestSchema = z.object({
81
+ version: ManifestVersionSchema,
82
+ generatedAt: z.string().datetime(),
83
+ generatedBy: z.object({
84
+ action: z.string(),
85
+ version: z.string(),
86
+ llmProvider: z.string(),
87
+ llmModel: z.string().optional()
88
+ }),
89
+ repository: z.object({
90
+ owner: z.string(),
91
+ name: z.string(),
92
+ branch: z.string(),
93
+ commit: z.string()
94
+ }),
95
+ dependencies: z.array(DependencyEntrySchema),
96
+ statistics: z.object({
97
+ totalDependencies: z.number(),
98
+ byType: z.record(z.string(), z.number()),
99
+ byAccessMethod: z.record(z.string(), z.number()),
100
+ byDetectionMethod: z.record(z.string(), z.number()),
101
+ averageConfidence: z.number(),
102
+ falsePositiveRate: z.number().min(0).max(1).optional()
103
+ })
104
+ });
105
+ // Schedule configuration (dependabot-compatible)
106
+ export const ScheduleSchema = z.object({
107
+ interval: z.enum(['hourly', 'daily', 'weekly', 'monthly']),
108
+ day: z
109
+ .enum(['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'])
110
+ .optional(),
111
+ time: z
112
+ .string()
113
+ .regex(/^([01]\d|2[0-3]):([0-5]\d)$/)
114
+ .optional(),
115
+ timezone: z.string().default('UTC')
116
+ });
117
+ // LLM provider configuration
118
+ export const LLMConfigSchema = z.object({
119
+ provider: z
120
+ .enum(['github-copilot', 'claude', 'openai', 'azure-openai'])
121
+ .default('github-copilot'),
122
+ model: z.string().optional(),
123
+ maxTokens: z.number().int().positive().default(4000),
124
+ temperature: z.number().min(0).max(2).default(0.3)
125
+ });
126
+ // Issue configuration
127
+ export const IssueConfigSchema = z.object({
128
+ labels: z.array(z.string()).default(['dependabit', 'dependency-update']),
129
+ assignees: z.array(z.string()).default([]),
130
+ aiAgentAssignment: z
131
+ .object({
132
+ enabled: z.boolean().default(false),
133
+ breaking: z.string().optional(),
134
+ major: z.string().optional(),
135
+ minor: z.string().optional()
136
+ })
137
+ .optional(),
138
+ titleTemplate: z.string().default('[dependabit] {name}: {change}'),
139
+ bodyTemplate: z.string().optional()
140
+ });
141
+ // Per-dependency override
142
+ export const DependencyOverrideSchema = z.object({
143
+ url: z.string().url(),
144
+ schedule: ScheduleSchema.optional(),
145
+ monitoring: MonitoringRulesSchema.optional(),
146
+ issues: IssueConfigSchema.optional()
147
+ });
148
+ // Complete configuration
149
+ export const DependabitConfigSchema = z.object({
150
+ version: z.literal('1'),
151
+ // Global settings
152
+ llm: LLMConfigSchema.optional(),
153
+ schedule: ScheduleSchema.default({ interval: 'daily', timezone: 'UTC' }),
154
+ issues: IssueConfigSchema.optional(),
155
+ // Monitoring behavior
156
+ monitoring: z
157
+ .object({
158
+ enabled: z.boolean().default(true),
159
+ autoUpdate: z.boolean().default(true),
160
+ falsePositiveThreshold: z.number().min(0).max(1).default(0.1)
161
+ })
162
+ .optional(),
163
+ // Dependency-specific overrides
164
+ dependencies: z.array(DependencyOverrideSchema).optional(),
165
+ // Exclusions
166
+ ignore: z
167
+ .object({
168
+ urls: z.array(z.string()).optional(),
169
+ types: z.array(DependencyTypeSchema).optional(),
170
+ patterns: z.array(z.string()).optional()
171
+ })
172
+ .optional()
173
+ });
174
+ // Change detection schemas
175
+ export const ChangeTypeSchema = z.enum([
176
+ 'version-bump',
177
+ 'content-changed',
178
+ 'released',
179
+ 'deprecated',
180
+ 'unavailable',
181
+ 'unknown'
182
+ ]);
183
+ export const ChangeDetectionRecordSchema = z.object({
184
+ id: z.string().uuid(),
185
+ timestamp: z.string().datetime(),
186
+ // Dependency reference
187
+ dependencyId: z.string().uuid(),
188
+ dependencyUrl: z.string().url(),
189
+ dependencyName: z.string(),
190
+ // Change details
191
+ changeType: ChangeTypeSchema,
192
+ severity: SeveritySchema,
193
+ // State comparison
194
+ oldState: z.object({
195
+ version: z.string().optional(),
196
+ hash: z.string(),
197
+ checkedAt: z.string().datetime()
198
+ }),
199
+ newState: z.object({
200
+ version: z.string().optional(),
201
+ hash: z.string(),
202
+ checkedAt: z.string().datetime()
203
+ }),
204
+ // Change description
205
+ summary: z.string(),
206
+ details: z.string().optional(),
207
+ breakingChanges: z.array(z.string()).optional(),
208
+ // Action taken
209
+ issueCreated: z.boolean().default(false),
210
+ issueNumber: z.number().optional(),
211
+ issueUrl: z.string().url().optional()
212
+ });
213
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Manifest size validation and warnings
3
+ * Checks manifest size and warns when approaching limits
4
+ */
5
+ export interface SizeCheckResult {
6
+ sizeBytes: number;
7
+ sizeMB: number;
8
+ status: 'ok' | 'warning' | 'error';
9
+ message?: string | undefined;
10
+ }
11
+ export interface SizeCheckOptions {
12
+ warnThreshold?: number;
13
+ errorThreshold?: number;
14
+ }
15
+ /**
16
+ * Check manifest size and return status
17
+ */
18
+ export declare function checkManifestSize(content: string | Buffer, options?: SizeCheckOptions): SizeCheckResult;
19
+ /**
20
+ * Get formatted size string
21
+ */
22
+ export declare function formatSize(bytes: number): string;
23
+ /**
24
+ * Validate manifest object size before serialization
25
+ */
26
+ export declare function validateManifestObject(manifest: unknown, options?: SizeCheckOptions): SizeCheckResult;
27
+ /**
28
+ * Estimate manifest size impact of adding an entry
29
+ */
30
+ export declare function estimateEntrySize(entry: unknown): number;
31
+ /**
32
+ * Check if adding an entry would exceed limits
33
+ */
34
+ export declare function canAddEntry(currentManifest: unknown, newEntry: unknown, options?: SizeCheckOptions): {
35
+ canAdd: boolean;
36
+ currentSize: SizeCheckResult;
37
+ estimatedSize: SizeCheckResult;
38
+ };
39
+ //# sourceMappingURL=size-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-check.d.ts","sourceRoot":"","sources":["../src/size-check.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,eAAe,CAgCjB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,gBAAgB,GACzB,eAAe,CAGjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,eAAe,EAAE,OAAO,EACxB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,gBAAgB,GACzB;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,eAAe,CAAC;IAC7B,aAAa,EAAE,eAAe,CAAC;CAChC,CAuBA"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Manifest size validation and warnings
3
+ * Checks manifest size and warns when approaching limits
4
+ */
5
+ /**
6
+ * Check manifest size and return status
7
+ */
8
+ export function checkManifestSize(content, options) {
9
+ const warnThreshold = (options?.warnThreshold ?? 1) * 1024 * 1024; // Convert MB to bytes
10
+ const errorThreshold = (options?.errorThreshold ?? 10) * 1024 * 1024;
11
+ const sizeBytes = typeof content === 'string' ? Buffer.byteLength(content, 'utf8') : content.length;
12
+ const sizeMB = sizeBytes / (1024 * 1024);
13
+ if (sizeBytes >= errorThreshold) {
14
+ return {
15
+ sizeBytes,
16
+ sizeMB,
17
+ status: 'error',
18
+ message: `Manifest size (${sizeMB.toFixed(2)}MB) exceeds maximum limit of ${(errorThreshold / 1024 / 1024).toFixed(0)}MB. Consider splitting or pruning data.`
19
+ };
20
+ }
21
+ if (sizeBytes >= warnThreshold) {
22
+ return {
23
+ sizeBytes,
24
+ sizeMB,
25
+ status: 'warning',
26
+ message: `Manifest size (${sizeMB.toFixed(2)}MB) is approaching limit. Warning threshold: ${(warnThreshold / 1024 / 1024).toFixed(0)}MB, Max: ${(errorThreshold / 1024 / 1024).toFixed(0)}MB.`
27
+ };
28
+ }
29
+ return {
30
+ sizeBytes,
31
+ sizeMB,
32
+ status: 'ok'
33
+ };
34
+ }
35
+ /**
36
+ * Get formatted size string
37
+ */
38
+ export function formatSize(bytes) {
39
+ if (bytes < 1024) {
40
+ return `${bytes} B`;
41
+ }
42
+ if (bytes < 1024 * 1024) {
43
+ return `${(bytes / 1024).toFixed(2)} KB`;
44
+ }
45
+ return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
46
+ }
47
+ /**
48
+ * Validate manifest object size before serialization
49
+ */
50
+ export function validateManifestObject(manifest, options) {
51
+ const serialized = JSON.stringify(manifest, null, 2);
52
+ return checkManifestSize(serialized, options);
53
+ }
54
+ /**
55
+ * Estimate manifest size impact of adding an entry
56
+ */
57
+ export function estimateEntrySize(entry) {
58
+ const serialized = JSON.stringify(entry);
59
+ return Buffer.byteLength(serialized, 'utf8');
60
+ }
61
+ /**
62
+ * Check if adding an entry would exceed limits
63
+ */
64
+ export function canAddEntry(currentManifest, newEntry, options) {
65
+ const currentSize = validateManifestObject(currentManifest, options);
66
+ const entrySize = estimateEntrySize(newEntry);
67
+ // Estimate new size (accounting for JSON formatting)
68
+ const estimatedBytes = currentSize.sizeBytes + entrySize + 100; // Add buffer for formatting
69
+ const estimatedSizeMB = estimatedBytes / (1024 * 1024);
70
+ const errorThreshold = (options?.errorThreshold ?? 10) * 1024 * 1024;
71
+ const canAdd = estimatedBytes < errorThreshold;
72
+ const estimatedResult = checkManifestSize(Buffer.alloc(estimatedBytes), options);
73
+ return {
74
+ canAdd,
75
+ currentSize,
76
+ estimatedSize: {
77
+ ...estimatedResult,
78
+ message: canAdd
79
+ ? estimatedResult.message
80
+ : `Adding entry would exceed size limit (estimated: ${estimatedSizeMB.toFixed(2)}MB)`
81
+ }
82
+ };
83
+ }
84
+ //# sourceMappingURL=size-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-check.js","sourceRoot":"","sources":["../src/size-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type DependencyManifest, type DependencyEntry, type DependabitConfig } from './schema.js';
2
+ import { ZodError } from 'zod';
3
+ /**
4
+ * Validation error class with detailed error information
5
+ */
6
+ export declare class ValidationError extends Error {
7
+ readonly errors: ZodError;
8
+ constructor(message: string, errors: ZodError);
9
+ /**
10
+ * Get formatted error messages
11
+ */
12
+ getFormattedErrors(): string[];
13
+ }
14
+ /**
15
+ * Validate a dependency manifest
16
+ * @throws {ValidationError} if validation fails
17
+ */
18
+ export declare function validateManifest(data: unknown): DependencyManifest;
19
+ /**
20
+ * Validate a dependency entry
21
+ * @throws {ValidationError} if validation fails
22
+ */
23
+ export declare function validateDependencyEntry(data: unknown): DependencyEntry;
24
+ /**
25
+ * Validate a dependabit configuration
26
+ * @throws {ValidationError} if validation fails
27
+ */
28
+ export declare function validateConfig(data: unknown): DependabitConfig;
29
+ /**
30
+ * Safe validation that returns success/error result
31
+ */
32
+ export declare function safeValidateManifest(data: unknown): {
33
+ success: boolean;
34
+ data?: DependencyManifest;
35
+ error?: ValidationError;
36
+ };
37
+ /**
38
+ * Safe validation for dependency entry
39
+ */
40
+ export declare function safeValidateDependencyEntry(data: unknown): {
41
+ success: boolean;
42
+ data?: DependencyEntry;
43
+ error?: ValidationError;
44
+ };
45
+ /**
46
+ * Safe validation for config
47
+ */
48
+ export declare function safeValidateConfig(data: unknown): {
49
+ success: boolean;
50
+ data?: DependabitConfig;
51
+ error?: ValidationError;
52
+ };
53
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE/B;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,MAAM,EAAE,QAAQ;IAFlC,YACE,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,QAAQ,EAIjC;IAED;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAE7B;CACF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,kBAAkB,CASlE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,CAStE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAS9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAUA;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAUA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAUA"}
@@ -0,0 +1,110 @@
1
+ import { DependencyManifestSchema, DependencyEntrySchema, DependabitConfigSchema } from './schema.js';
2
+ import { ZodError } from 'zod';
3
+ /**
4
+ * Validation error class with detailed error information
5
+ */
6
+ export class ValidationError extends Error {
7
+ errors;
8
+ constructor(message, errors) {
9
+ super(message);
10
+ this.errors = errors;
11
+ this.name = 'ValidationError';
12
+ }
13
+ /**
14
+ * Get formatted error messages
15
+ */
16
+ getFormattedErrors() {
17
+ return this.errors.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`);
18
+ }
19
+ }
20
+ /**
21
+ * Validate a dependency manifest
22
+ * @throws {ValidationError} if validation fails
23
+ */
24
+ export function validateManifest(data) {
25
+ try {
26
+ return DependencyManifestSchema.parse(data);
27
+ }
28
+ catch (error) {
29
+ if (error instanceof ZodError) {
30
+ throw new ValidationError('Manifest validation failed', error);
31
+ }
32
+ throw error;
33
+ }
34
+ }
35
+ /**
36
+ * Validate a dependency entry
37
+ * @throws {ValidationError} if validation fails
38
+ */
39
+ export function validateDependencyEntry(data) {
40
+ try {
41
+ return DependencyEntrySchema.parse(data);
42
+ }
43
+ catch (error) {
44
+ if (error instanceof ZodError) {
45
+ throw new ValidationError('Dependency entry validation failed', error);
46
+ }
47
+ throw error;
48
+ }
49
+ }
50
+ /**
51
+ * Validate a dependabit configuration
52
+ * @throws {ValidationError} if validation fails
53
+ */
54
+ export function validateConfig(data) {
55
+ try {
56
+ return DependabitConfigSchema.parse(data);
57
+ }
58
+ catch (error) {
59
+ if (error instanceof ZodError) {
60
+ throw new ValidationError('Config validation failed', error);
61
+ }
62
+ throw error;
63
+ }
64
+ }
65
+ /**
66
+ * Safe validation that returns success/error result
67
+ */
68
+ export function safeValidateManifest(data) {
69
+ try {
70
+ const validated = validateManifest(data);
71
+ return { success: true, data: validated };
72
+ }
73
+ catch (error) {
74
+ if (error instanceof ValidationError) {
75
+ return { success: false, error };
76
+ }
77
+ throw error;
78
+ }
79
+ }
80
+ /**
81
+ * Safe validation for dependency entry
82
+ */
83
+ export function safeValidateDependencyEntry(data) {
84
+ try {
85
+ const validated = validateDependencyEntry(data);
86
+ return { success: true, data: validated };
87
+ }
88
+ catch (error) {
89
+ if (error instanceof ValidationError) {
90
+ return { success: false, error };
91
+ }
92
+ throw error;
93
+ }
94
+ }
95
+ /**
96
+ * Safe validation for config
97
+ */
98
+ export function safeValidateConfig(data) {
99
+ try {
100
+ const validated = validateConfig(data);
101
+ return { success: true, data: validated };
102
+ }
103
+ catch (error) {
104
+ if (error instanceof ValidationError) {
105
+ return { success: false, error };
106
+ }
107
+ throw error;
108
+ }
109
+ }
110
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@dependabit/manifest",
3
+ "version": "0.1.1",
4
+ "description": "Manifest schema and validation for dependency tracking",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "dependencies": {
15
+ "yaml": "^2.8.2",
16
+ "zod": "^4.3.6"
17
+ },
18
+ "devDependencies": {
19
+ "@types/node": "^25.2.2",
20
+ "tsx": "^4.21.0",
21
+ "typescript": "^5.9.3",
22
+ "vitest": "^4.0.18"
23
+ },
24
+ "keywords": [
25
+ "manifest",
26
+ "schema",
27
+ "validation"
28
+ ],
29
+ "license": "MIT",
30
+ "scripts": {
31
+ "build": "tsgo -p tsconfig.json",
32
+ "clean": "rm -rf dist",
33
+ "dev": "tsx watch src/index.ts",
34
+ "type-check": "tsgo --noEmit -p tsconfig.json",
35
+ "test": "vitest run",
36
+ "test:watch": "vitest"
37
+ }
38
+ }