@a1st/aix-schema 0.0.3

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 (74) hide show
  1. package/dist/aix.d.ts +51 -0
  2. package/dist/aix.d.ts.map +1 -0
  3. package/dist/aix.js +39 -0
  4. package/dist/aix.js.map +1 -0
  5. package/dist/config.d.ts +12130 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +36 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/core.d.ts +17 -0
  10. package/dist/core.d.ts.map +1 -0
  11. package/dist/core.js +34 -0
  12. package/dist/core.js.map +1 -0
  13. package/dist/editors.d.ts +3288 -0
  14. package/dist/editors.d.ts.map +1 -0
  15. package/dist/editors.js +52 -0
  16. package/dist/editors.js.map +1 -0
  17. package/dist/factory.d.ts +7 -0
  18. package/dist/factory.d.ts.map +1 -0
  19. package/dist/factory.js +15 -0
  20. package/dist/factory.js.map +1 -0
  21. package/dist/hooks.d.ts +106 -0
  22. package/dist/hooks.d.ts.map +1 -0
  23. package/dist/hooks.js +50 -0
  24. package/dist/hooks.js.map +1 -0
  25. package/dist/index.d.ts +18 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +18 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/jsonc.d.ts +10 -0
  30. package/dist/jsonc.d.ts.map +1 -0
  31. package/dist/jsonc.js +16 -0
  32. package/dist/jsonc.js.map +1 -0
  33. package/dist/mcp.d.ts +508 -0
  34. package/dist/mcp.d.ts.map +1 -0
  35. package/dist/mcp.js +92 -0
  36. package/dist/mcp.js.map +1 -0
  37. package/dist/migrate.d.ts +11 -0
  38. package/dist/migrate.d.ts.map +1 -0
  39. package/dist/migrate.js +24 -0
  40. package/dist/migrate.js.map +1 -0
  41. package/dist/normalize.d.ts +36 -0
  42. package/dist/normalize.d.ts.map +1 -0
  43. package/dist/normalize.js +143 -0
  44. package/dist/normalize.js.map +1 -0
  45. package/dist/prompts.d.ts +297 -0
  46. package/dist/prompts.d.ts.map +1 -0
  47. package/dist/prompts.js +50 -0
  48. package/dist/prompts.js.map +1 -0
  49. package/dist/references.d.ts +60 -0
  50. package/dist/references.d.ts.map +1 -0
  51. package/dist/references.js +23 -0
  52. package/dist/references.js.map +1 -0
  53. package/dist/rules.d.ts +534 -0
  54. package/dist/rules.d.ts.map +1 -0
  55. package/dist/rules.js +85 -0
  56. package/dist/rules.js.map +1 -0
  57. package/dist/skill.d.ts +38 -0
  58. package/dist/skill.d.ts.map +1 -0
  59. package/dist/skill.js +18 -0
  60. package/dist/skill.js.map +1 -0
  61. package/dist/skills.d.ts +183 -0
  62. package/dist/skills.d.ts.map +1 -0
  63. package/dist/skills.js +26 -0
  64. package/dist/skills.js.map +1 -0
  65. package/dist/validate.d.ts +17 -0
  66. package/dist/validate.d.ts.map +1 -0
  67. package/dist/validate.js +34 -0
  68. package/dist/validate.js.map +1 -0
  69. package/dist/version.d.ts +3 -0
  70. package/dist/version.d.ts.map +1 -0
  71. package/dist/version.js +5 -0
  72. package/dist/version.js.map +1 -0
  73. package/package.json +42 -0
  74. package/schema.json +1408 -0
@@ -0,0 +1,183 @@
1
+ import { z } from 'zod';
2
+ export declare const skillNameSchema: z.ZodString;
3
+ export declare const skillConfigSchema: z.ZodObject<{
4
+ enabled: z.ZodDefault<z.ZodBoolean>;
5
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ enabled: boolean;
8
+ config?: Record<string, unknown> | undefined;
9
+ }, {
10
+ enabled?: boolean | undefined;
11
+ config?: Record<string, unknown> | undefined;
12
+ }>;
13
+ export declare const skillRefSchema: z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodObject<{
14
+ git: z.ZodString;
15
+ ref: z.ZodOptional<z.ZodString>;
16
+ path: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ git: string;
19
+ path?: string | undefined;
20
+ ref?: string | undefined;
21
+ }, {
22
+ git: string;
23
+ path?: string | undefined;
24
+ ref?: string | undefined;
25
+ }>, z.ZodObject<{
26
+ path: z.ZodString;
27
+ }, "strip", z.ZodTypeAny, {
28
+ path: string;
29
+ }, {
30
+ path: string;
31
+ }>, z.ZodObject<{
32
+ version: z.ZodEffects<z.ZodString, string, string>;
33
+ registry: z.ZodOptional<z.ZodString>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ version: string;
36
+ registry?: string | undefined;
37
+ }, {
38
+ version: string;
39
+ registry?: string | undefined;
40
+ }>]>, z.ZodObject<{
41
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
42
+ git: z.ZodString;
43
+ ref: z.ZodOptional<z.ZodString>;
44
+ path: z.ZodOptional<z.ZodString>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ git: string;
47
+ path?: string | undefined;
48
+ ref?: string | undefined;
49
+ }, {
50
+ git: string;
51
+ path?: string | undefined;
52
+ ref?: string | undefined;
53
+ }>, z.ZodObject<{
54
+ path: z.ZodString;
55
+ }, "strip", z.ZodTypeAny, {
56
+ path: string;
57
+ }, {
58
+ path: string;
59
+ }>, z.ZodObject<{
60
+ version: z.ZodEffects<z.ZodString, string, string>;
61
+ registry: z.ZodOptional<z.ZodString>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ version: string;
64
+ registry?: string | undefined;
65
+ }, {
66
+ version: string;
67
+ registry?: string | undefined;
68
+ }>]>;
69
+ enabled: z.ZodDefault<z.ZodBoolean>;
70
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
71
+ }, "strip", z.ZodTypeAny, {
72
+ enabled: boolean;
73
+ source: string | {
74
+ path: string;
75
+ } | {
76
+ git: string;
77
+ path?: string | undefined;
78
+ ref?: string | undefined;
79
+ } | {
80
+ version: string;
81
+ registry?: string | undefined;
82
+ };
83
+ config?: Record<string, unknown> | undefined;
84
+ }, {
85
+ source: string | {
86
+ path: string;
87
+ } | {
88
+ git: string;
89
+ path?: string | undefined;
90
+ ref?: string | undefined;
91
+ } | {
92
+ version: string;
93
+ registry?: string | undefined;
94
+ };
95
+ enabled?: boolean | undefined;
96
+ config?: Record<string, unknown> | undefined;
97
+ }>]>;
98
+ export declare const skillsSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodObject<{
99
+ git: z.ZodString;
100
+ ref: z.ZodOptional<z.ZodString>;
101
+ path: z.ZodOptional<z.ZodString>;
102
+ }, "strip", z.ZodTypeAny, {
103
+ git: string;
104
+ path?: string | undefined;
105
+ ref?: string | undefined;
106
+ }, {
107
+ git: string;
108
+ path?: string | undefined;
109
+ ref?: string | undefined;
110
+ }>, z.ZodObject<{
111
+ path: z.ZodString;
112
+ }, "strip", z.ZodTypeAny, {
113
+ path: string;
114
+ }, {
115
+ path: string;
116
+ }>, z.ZodObject<{
117
+ version: z.ZodEffects<z.ZodString, string, string>;
118
+ registry: z.ZodOptional<z.ZodString>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ version: string;
121
+ registry?: string | undefined;
122
+ }, {
123
+ version: string;
124
+ registry?: string | undefined;
125
+ }>]>, z.ZodObject<{
126
+ source: z.ZodUnion<[z.ZodString, z.ZodObject<{
127
+ git: z.ZodString;
128
+ ref: z.ZodOptional<z.ZodString>;
129
+ path: z.ZodOptional<z.ZodString>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ git: string;
132
+ path?: string | undefined;
133
+ ref?: string | undefined;
134
+ }, {
135
+ git: string;
136
+ path?: string | undefined;
137
+ ref?: string | undefined;
138
+ }>, z.ZodObject<{
139
+ path: z.ZodString;
140
+ }, "strip", z.ZodTypeAny, {
141
+ path: string;
142
+ }, {
143
+ path: string;
144
+ }>, z.ZodObject<{
145
+ version: z.ZodEffects<z.ZodString, string, string>;
146
+ registry: z.ZodOptional<z.ZodString>;
147
+ }, "strip", z.ZodTypeAny, {
148
+ version: string;
149
+ registry?: string | undefined;
150
+ }, {
151
+ version: string;
152
+ registry?: string | undefined;
153
+ }>]>;
154
+ enabled: z.ZodDefault<z.ZodBoolean>;
155
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
156
+ }, "strip", z.ZodTypeAny, {
157
+ enabled: boolean;
158
+ source: string | {
159
+ path: string;
160
+ } | {
161
+ git: string;
162
+ path?: string | undefined;
163
+ ref?: string | undefined;
164
+ } | {
165
+ version: string;
166
+ registry?: string | undefined;
167
+ };
168
+ config?: Record<string, unknown> | undefined;
169
+ }, {
170
+ source: string | {
171
+ path: string;
172
+ } | {
173
+ git: string;
174
+ path?: string | undefined;
175
+ ref?: string | undefined;
176
+ } | {
177
+ version: string;
178
+ registry?: string | undefined;
179
+ };
180
+ enabled?: boolean | undefined;
181
+ config?: Record<string, unknown> | undefined;
182
+ }>]>, z.ZodLiteral<false>]>>;
183
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe,aAQ4B,CAAC;AAEzD,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASkC,CAAC;AAE9D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAEuD,CAAC"}
package/dist/skills.js ADDED
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import { sourceRefSchema } from './references.js';
3
+ export const skillNameSchema = z
4
+ .string()
5
+ .min(1)
6
+ .max(64)
7
+ .regex(/^[a-z0-9]+(-[a-z0-9]+)*$/, 'Skill name must be lowercase alphanumeric with single hyphens (e.g., "pdf-processing")')
8
+ .describe('Skill name (Agent Skills spec compliant)');
9
+ export const skillConfigSchema = z.object({
10
+ enabled: z.boolean().default(true).describe('Whether skill is active'),
11
+ config: z.record(z.unknown()).optional().describe('Skill-specific configuration passed to SKILL.md'),
12
+ });
13
+ export const skillRefSchema = z
14
+ .union([
15
+ sourceRefSchema,
16
+ z.object({
17
+ source: sourceRefSchema.describe('Where to load the skill from'),
18
+ enabled: z.boolean().default(true).describe('Whether skill is active'),
19
+ config: z.record(z.unknown()).optional().describe('Skill-specific configuration'),
20
+ }),
21
+ ])
22
+ .describe('Skill reference (Agent Skills spec compliant)');
23
+ export const skillsSchema = z
24
+ .record(skillNameSchema, z.union([skillRefSchema, z.literal(false)]))
25
+ .describe('Map of skill names to their configurations (or false to disable)');
26
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACH,0BAA0B,EAC1B,wFAAwF,CAC1F;KACA,QAAQ,CAAC,0CAA0C,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CACtG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC3B,KAAK,CAAC;IACJ,eAAe;IACf,CAAC,CAAC,MAAM,CAAC;QACN,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACtE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KACnF,CAAC;CACJ,CAAC;KACD,QAAQ,CAAC,+CAA+C,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KACzB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpE,QAAQ,CAAC,kEAAkE,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type AiJsonConfig } from './config.js';
2
+ export interface ValidationResult {
3
+ success: boolean;
4
+ data?: AiJsonConfig;
5
+ errors?: Array<{
6
+ path: string;
7
+ message: string;
8
+ }>;
9
+ }
10
+ export declare function validateConfig(input: unknown): ValidationResult;
11
+ export declare function parseConfig(input: unknown): AiJsonConfig;
12
+ /**
13
+ * Parse and validate a local config (ai.local.json).
14
+ * Local configs don't allow extends and return a partial config for merging.
15
+ */
16
+ export declare function parseLocalConfig(input: unknown): Partial<AiJsonConfig>;
17
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGvF,MAAM,WAAW,gBAAgB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACL;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAsB/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAExD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAEtE"}
@@ -0,0 +1,34 @@
1
+ import { aiJsonConfigSchema, localConfigSchema } from './config.js';
2
+ export function validateConfig(input) {
3
+ try {
4
+ const data = aiJsonConfigSchema.parse(input);
5
+ return { success: true, data };
6
+ }
7
+ catch (error) {
8
+ if (error instanceof Error && 'issues' in error) {
9
+ const zodError = error;
10
+ return {
11
+ success: false,
12
+ errors: zodError.issues.map((issue) => ({
13
+ path: issue.path.join('.'),
14
+ message: issue.message,
15
+ })),
16
+ };
17
+ }
18
+ return {
19
+ success: false,
20
+ errors: [{ path: '', message: String(error) }],
21
+ };
22
+ }
23
+ }
24
+ export function parseConfig(input) {
25
+ return aiJsonConfigSchema.parse(input);
26
+ }
27
+ /**
28
+ * Parse and validate a local config (ai.local.json).
29
+ * Local configs don't allow extends and return a partial config for merging.
30
+ */
31
+ export function parseLocalConfig(input) {
32
+ return localConfigSchema.parse(input);
33
+ }
34
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AAYvF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC1C,IAAI,CAAC;QACF,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACd,IAAI,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,KAAiB,CAAC;YAEnC,OAAO;gBACJ,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACrC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACxB,CAAC,CAAC;aACL,CAAC;QACL,CAAC;QACD,OAAO;YACJ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;SAChD,CAAC;IACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACvC,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC5C,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAA0B,CAAC;AAClE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const SCHEMA_VERSION = "1", SCHEMA_VERSION_FULL = "1.0.0", SCHEMA_BASE_URL = "https://x.a1st.dev/schemas";
2
+ export declare function getSchemaUrl(version?: string): string;
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,MAAM,EACpB,mBAAmB,UAAU,EAC7B,eAAe,+BAA+B,CAAC;AAE5D,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAuB,GAAG,MAAM,CAErE"}
@@ -0,0 +1,5 @@
1
+ export const SCHEMA_VERSION = '1', SCHEMA_VERSION_FULL = '1.0.0', SCHEMA_BASE_URL = 'https://x.a1st.dev/schemas';
2
+ export function getSchemaUrl(version = SCHEMA_VERSION) {
3
+ return `${SCHEMA_BASE_URL}/v${version}/ai.json`;
4
+ }
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EACpB,mBAAmB,GAAG,OAAO,EAC7B,eAAe,GAAG,4BAA4B,CAAC;AAE5D,MAAM,UAAU,YAAY,CAAC,UAAkB,cAAc;IAC1D,OAAO,GAAG,eAAe,KAAK,OAAO,UAAU,CAAC;AACnD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@a1st/aix-schema",
3
+ "version": "0.0.3",
4
+ "description": "JSON Schema and validation for aix configuration",
5
+ "files": [
6
+ "dist",
7
+ "schema.json"
8
+ ],
9
+ "type": "module",
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ }
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/a1st-dev/aix.git",
21
+ "directory": "packages/schema"
22
+ },
23
+ "publishConfig": {
24
+ "access": "public",
25
+ "registry": "https://registry.npmjs.org/"
26
+ },
27
+ "scripts": {
28
+ "build": "tsc -p tsconfig.build.json && npm run generate-schema",
29
+ "generate-schema": "node --import=@poppinss/ts-exec scripts/generate-schema.ts",
30
+ "test": "vitest run",
31
+ "test:watch": "vitest"
32
+ },
33
+ "dependencies": {
34
+ "compare-versions": "6.1.1",
35
+ "jsonc-parser": "3.3.1",
36
+ "zod": "3.24.1",
37
+ "zod-to-json-schema": "3.24.1"
38
+ },
39
+ "devDependencies": {
40
+ "@poppinss/ts-exec": "1.4.1"
41
+ }
42
+ }