@buoy-design/core 0.1.0 → 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.
@@ -1,58 +1,57 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  // Drift types
3
3
  export const DriftTypeSchema = z.enum([
4
- 'deprecated-pattern',
5
- 'accessibility-conflict',
6
- 'semantic-mismatch',
7
- 'orphaned-component',
8
- 'orphaned-token',
9
- 'value-divergence',
10
- 'naming-inconsistency',
11
- 'missing-documentation',
12
- 'hardcoded-value',
13
- 'framework-sprawl',
4
+ "deprecated-pattern",
5
+ "accessibility-conflict",
6
+ "semantic-mismatch",
7
+ "orphaned-component",
8
+ "orphaned-token",
9
+ "value-divergence",
10
+ "naming-inconsistency",
11
+ "missing-documentation",
12
+ "hardcoded-value",
13
+ "framework-sprawl",
14
14
  ]);
15
15
  // Severity levels
16
- export const SeveritySchema = z.enum(['info', 'warning', 'critical']);
16
+ export const SeveritySchema = z.enum(["info", "warning", "critical"]);
17
17
  // Drift source reference
18
18
  export const DriftSourceSchema = z.object({
19
- entityType: z.enum(['component', 'token']),
19
+ entityType: z.enum(["component", "token"]),
20
20
  entityId: z.string(),
21
21
  entityName: z.string(),
22
22
  location: z.string(),
23
23
  });
24
- // Suggested action
25
- export const SuggestedActionSchema = z.object({
26
- action: z.string(),
27
- effort: z.enum(['low', 'medium', 'high']),
28
- priority: z.number(),
29
- codeExample: z.string().optional(),
30
- });
31
24
  // Git context for drift forensics (used by `buoy drift explain`)
32
25
  export const GitContextSchema = z.object({
33
26
  // Who last modified this code and when
34
- blame: z.object({
27
+ blame: z
28
+ .object({
35
29
  author: z.string(),
36
30
  email: z.string().optional(),
37
31
  date: z.date(),
38
32
  commitHash: z.string(),
39
33
  commitMessage: z.string(),
40
- }).optional(),
34
+ })
35
+ .optional(),
41
36
  // What the code looked like before the drift was introduced
42
37
  previousValue: z.string().optional(),
43
38
  // PR/MR context if available
44
- pullRequest: z.object({
39
+ pullRequest: z
40
+ .object({
45
41
  number: z.number(),
46
42
  title: z.string(),
47
43
  url: z.string().optional(),
48
- }).optional(),
44
+ })
45
+ .optional(),
49
46
  // Full history of changes to this line/file (most recent first)
50
- history: z.array(z.object({
47
+ history: z
48
+ .array(z.object({
51
49
  commitHash: z.string(),
52
50
  author: z.string(),
53
51
  date: z.date(),
54
52
  message: z.string(),
55
- })).optional(),
53
+ }))
54
+ .optional(),
56
55
  });
57
56
  // Drift details
58
57
  export const DriftDetailsSchema = z.object({
@@ -67,16 +66,25 @@ export const DriftDetailsSchema = z.object({
67
66
  // For duplicate detection
68
67
  relatedComponents: z.array(z.string()).optional(),
69
68
  // For framework sprawl
70
- frameworks: z.array(z.object({
69
+ frameworks: z
70
+ .array(z.object({
71
71
  name: z.string(),
72
72
  version: z.string().optional(),
73
- })).optional(),
73
+ }))
74
+ .optional(),
74
75
  // Git context for understanding how/why drift was introduced
75
76
  // Populated by scanner when git info is available, used by `drift explain`
76
77
  gitContext: GitContextSchema.optional(),
78
+ // Actionable token suggestions for hardcoded values
79
+ // Format: "hardcodedValue → tokenName (confidence% match)"
80
+ tokenSuggestions: z.array(z.string()).optional(),
77
81
  });
78
82
  // Drift resolution
79
- export const DriftResolutionTypeSchema = z.enum(['ignored', 'fixed', 'documented']);
83
+ export const DriftResolutionTypeSchema = z.enum([
84
+ "ignored",
85
+ "fixed",
86
+ "documented",
87
+ ]);
80
88
  export const DriftResolutionSchema = z.object({
81
89
  type: DriftResolutionTypeSchema,
82
90
  reason: z.string().optional(),
@@ -104,49 +112,49 @@ export function createDriftId(type, sourceId, targetId) {
104
112
  // Helper to get severity weight for sorting
105
113
  export function getSeverityWeight(severity) {
106
114
  switch (severity) {
107
- case 'critical':
115
+ case "critical":
108
116
  return 3;
109
- case 'warning':
117
+ case "warning":
110
118
  return 2;
111
- case 'info':
119
+ case "info":
112
120
  return 1;
113
121
  }
114
122
  }
115
123
  // Helper to get default severity for drift type
116
124
  export function getDefaultSeverity(type) {
117
125
  switch (type) {
118
- case 'accessibility-conflict':
119
- return 'critical';
120
- case 'deprecated-pattern':
121
- case 'semantic-mismatch':
122
- case 'value-divergence':
123
- case 'hardcoded-value':
124
- case 'framework-sprawl':
125
- return 'warning';
126
- case 'orphaned-component':
127
- case 'orphaned-token':
128
- case 'naming-inconsistency':
129
- case 'missing-documentation':
130
- return 'info';
126
+ case "accessibility-conflict":
127
+ return "critical";
128
+ case "deprecated-pattern":
129
+ case "semantic-mismatch":
130
+ case "value-divergence":
131
+ case "hardcoded-value":
132
+ case "framework-sprawl":
133
+ return "warning";
134
+ case "orphaned-component":
135
+ case "orphaned-token":
136
+ case "naming-inconsistency":
137
+ case "missing-documentation":
138
+ return "info";
131
139
  }
132
140
  }
133
141
  // Human-readable drift type labels
134
142
  export const DRIFT_TYPE_LABELS = {
135
- 'deprecated-pattern': 'Deprecated Pattern',
136
- 'accessibility-conflict': 'Accessibility Conflict',
137
- 'semantic-mismatch': 'Semantic Mismatch',
138
- 'orphaned-component': 'Orphaned Component',
139
- 'orphaned-token': 'Orphaned Token',
140
- 'value-divergence': 'Value Divergence',
141
- 'naming-inconsistency': 'Naming Inconsistency',
142
- 'missing-documentation': 'Missing Documentation',
143
- 'hardcoded-value': 'Hardcoded Value',
144
- 'framework-sprawl': 'Framework Sprawl',
143
+ "deprecated-pattern": "Deprecated Pattern",
144
+ "accessibility-conflict": "Accessibility Conflict",
145
+ "semantic-mismatch": "Semantic Mismatch",
146
+ "orphaned-component": "Orphaned Component",
147
+ "orphaned-token": "Orphaned Token",
148
+ "value-divergence": "Value Divergence",
149
+ "naming-inconsistency": "Naming Inconsistency",
150
+ "missing-documentation": "Missing Documentation",
151
+ "hardcoded-value": "Hardcoded Value",
152
+ "framework-sprawl": "Framework Sprawl",
145
153
  };
146
154
  // Human-readable severity labels
147
155
  export const SEVERITY_LABELS = {
148
- critical: 'Critical',
149
- warning: 'Warning',
150
- info: 'Info',
156
+ critical: "Critical",
157
+ warning: "Warning",
158
+ info: "Info",
151
159
  };
152
160
  //# sourceMappingURL=drift.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/models/drift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/models/drift.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ export { ComponentSchema, ComponentSourceSchema, ReactSourceSchema, FigmaSourceS
2
2
  export type { Component, ComponentSource, ReactSource, FigmaSource, StorybookSource, VueSource, SvelteSource, PropDefinition, VariantDefinition, TokenReference, AccessibilityInfo, HardcodedValue, ComponentMetadata, } from './component.js';
3
3
  export { DesignTokenSchema, TokenValueSchema, ColorValueSchema, SpacingValueSchema, TypographyValueSchema, ShadowValueSchema, BorderValueSchema, RawValueSchema, TokenSourceSchema, CssTokenSourceSchema, JsonTokenSourceSchema, ScssTokenSourceSchema, FigmaTokenSourceSchema, TokenCategorySchema, TokenMetadataSchema, createTokenId, normalizeTokenName, tokensMatch, } from './token.js';
4
4
  export type { DesignToken, TokenValue, ColorValue, SpacingValue, TypographyValue, ShadowValue, BorderValue, RawValue, TokenSource, CssTokenSource, JsonTokenSource, ScssTokenSource, FigmaTokenSource, TokenCategory, TokenMetadata, } from './token.js';
5
- export { DriftSignalSchema, DriftTypeSchema, SeveritySchema, DriftSourceSchema, SuggestedActionSchema, GitContextSchema, DriftDetailsSchema, DriftResolutionSchema, DriftResolutionTypeSchema, createDriftId, getSeverityWeight, getDefaultSeverity, DRIFT_TYPE_LABELS, SEVERITY_LABELS, } from './drift.js';
6
- export type { DriftSignal, DriftType, Severity, DriftSource, SuggestedAction, GitContext, DriftDetails, DriftResolution, DriftResolutionType, } from './drift.js';
5
+ export { DriftSignalSchema, DriftTypeSchema, SeveritySchema, DriftSourceSchema, GitContextSchema, DriftDetailsSchema, DriftResolutionSchema, DriftResolutionTypeSchema, createDriftId, getSeverityWeight, getDefaultSeverity, DRIFT_TYPE_LABELS, SEVERITY_LABELS, } from './drift.js';
6
+ export type { DriftSignal, DriftType, Severity, DriftSource, GitContext, DriftDetails, DriftResolution, DriftResolutionType, } from './drift.js';
7
7
  export { IntentSchema, IntentDecisionSchema, IntentDecisionTypeSchema, IntentStatusSchema, IntentAttachmentSchema, IntentAttachmentTypeSchema, IntentContextSchema, createIntentId, isIntentExpired, intentApplies, DECISION_TYPE_LABELS, STATUS_LABELS, } from './intent.js';
8
8
  export type { Intent, IntentDecision, IntentDecisionType, IntentStatus, IntentAttachment, IntentAttachmentType, IntentContext, } from './intent.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,eAAe,EACf,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,MAAM,EACN,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACd,MAAM,aAAa,CAAC"}
@@ -3,7 +3,7 @@ export { ComponentSchema, ComponentSourceSchema, ReactSourceSchema, FigmaSourceS
3
3
  // Token models
4
4
  export { DesignTokenSchema, TokenValueSchema, ColorValueSchema, SpacingValueSchema, TypographyValueSchema, ShadowValueSchema, BorderValueSchema, RawValueSchema, TokenSourceSchema, CssTokenSourceSchema, JsonTokenSourceSchema, ScssTokenSourceSchema, FigmaTokenSourceSchema, TokenCategorySchema, TokenMetadataSchema, createTokenId, normalizeTokenName, tokensMatch, } from './token.js';
5
5
  // Drift models
6
- export { DriftSignalSchema, DriftTypeSchema, SeveritySchema, DriftSourceSchema, SuggestedActionSchema, GitContextSchema, DriftDetailsSchema, DriftResolutionSchema, DriftResolutionTypeSchema, createDriftId, getSeverityWeight, getDefaultSeverity, DRIFT_TYPE_LABELS, SEVERITY_LABELS, } from './drift.js';
6
+ export { DriftSignalSchema, DriftTypeSchema, SeveritySchema, DriftSourceSchema, GitContextSchema, DriftDetailsSchema, DriftResolutionSchema, DriftResolutionTypeSchema, createDriftId, getSeverityWeight, getDefaultSeverity, DRIFT_TYPE_LABELS, SEVERITY_LABELS, } from './drift.js';
7
7
  // Intent models
8
8
  export { IntentSchema, IntentDecisionSchema, IntentDecisionTypeSchema, IntentStatusSchema, IntentAttachmentSchema, IntentAttachmentTypeSchema, IntentContextSchema, createIntentId, isIntentExpired, intentApplies, DECISION_TYPE_LABELS, STATUS_LABELS, } from './intent.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAkBxB,eAAe;AACf,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,YAAY,CAAC;AAoBpB,eAAe;AACf,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAcpB,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAkBxB,eAAe;AACf,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,YAAY,CAAC;AAoBpB,eAAe;AACf,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAapB,gBAAgB;AAChB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,GACd,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-design/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Core domain models and analysis for Buoy design drift detection",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -14,8 +14,16 @@
14
14
  "bugs": {
15
15
  "url": "https://github.com/dylantarre/buoy-design/issues"
16
16
  },
17
- "keywords": ["buoy", "design-system", "drift-detection", "design-tokens"],
18
- "files": ["dist", "README.md"],
17
+ "keywords": [
18
+ "buoy",
19
+ "design-system",
20
+ "drift-detection",
21
+ "design-tokens"
22
+ ],
23
+ "files": [
24
+ "dist",
25
+ "README.md"
26
+ ],
19
27
  "main": "./dist/index.js",
20
28
  "types": "./dist/index.d.ts",
21
29
  "exports": {
@@ -32,6 +40,12 @@
32
40
  "import": "./dist/analysis/index.js"
33
41
  }
34
42
  },
43
+ "dependencies": {
44
+ "zod": "^3.24.1"
45
+ },
46
+ "devDependencies": {
47
+ "typescript": "^5.7.2"
48
+ },
35
49
  "scripts": {
36
50
  "build": "tsc",
37
51
  "dev": "tsc --watch",
@@ -39,11 +53,5 @@
39
53
  "clean": "rm -rf dist",
40
54
  "test": "vitest run",
41
55
  "test:watch": "vitest"
42
- },
43
- "dependencies": {
44
- "zod": "^3.24.1"
45
- },
46
- "devDependencies": {
47
- "typescript": "^5.7.2"
48
56
  }
49
- }
57
+ }