@jointhedots/gear 1.2.0 → 1.2.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 (115) hide show
  1. package/esm/builder/build-app-bundle.d.ts +29 -0
  2. package/esm/builder/build-app-bundle.js +9 -6
  3. package/esm/builder/build-app-host.d.ts +28 -0
  4. package/esm/builder/build-app-host.js +20 -19
  5. package/esm/builder/build-application.d.ts +51 -0
  6. package/esm/builder/build-application.js +53 -74
  7. package/esm/builder/build-library.d.ts +21 -0
  8. package/esm/builder/build-library.js +13 -10
  9. package/esm/builder/build-target.d.ts +36 -0
  10. package/esm/builder/build-target.js +20 -12
  11. package/esm/builder/helpers/emit-artifact.d.ts +13 -0
  12. package/esm/builder/helpers/emit-artifact.js +40 -0
  13. package/esm/builder/helpers/emit-bundle-manifest.d.ts +19 -0
  14. package/esm/builder/helpers/emit-bundle-manifest.js +38 -16
  15. package/esm/builder/helpers/emit-components-dts.d.ts +9 -0
  16. package/esm/builder/helpers/emit-components-dts.js +1 -2
  17. package/esm/builder/helpers/emit-esmodules.d.ts +61 -0
  18. package/esm/builder/helpers/emit-esmodules.js +22 -23
  19. package/esm/builder/helpers/emit-package-manifest.d.ts +9 -0
  20. package/esm/builder/helpers/emit-package-manifest.js +1 -2
  21. package/esm/builder/helpers/emit-static-assets.d.ts +14 -0
  22. package/esm/builder/helpers/emit-static-assets.js +1 -2
  23. package/esm/builder/helpers/emit-typescript-definition.d.ts +35 -0
  24. package/esm/builder/helpers/emit-typescript-definition.js +7 -8
  25. package/esm/builder/helpers/path-helpers.d.ts +9 -0
  26. package/esm/builder/helpers/path-helpers.js +0 -1
  27. package/esm/builder/helpers/task.d.ts +8 -0
  28. package/esm/builder/helpers/task.js +0 -1
  29. package/esm/cli.d.ts +2 -0
  30. package/esm/cli.js +1 -4
  31. package/esm/commands/init.d.ts +2 -0
  32. package/esm/commands/init.js +0 -1
  33. package/esm/commands/install.d.ts +5 -0
  34. package/esm/commands/install.js +3 -4
  35. package/esm/commands/make.d.ts +17 -0
  36. package/esm/commands/make.js +12 -5
  37. package/esm/commands/run.d.ts +8 -0
  38. package/esm/commands/run.js +6 -7
  39. package/esm/commands/serve.d.ts +9 -0
  40. package/esm/commands/serve.js +11 -13
  41. package/esm/core/commands/interface.d.ts +26 -0
  42. package/esm/core/commands/interface.js +21 -0
  43. package/esm/core/components/components.d.ts +73 -0
  44. package/esm/core/components/components.js +2 -0
  45. package/esm/core/components/helpers.d.ts +7 -0
  46. package/esm/core/components/helpers.js +68 -0
  47. package/esm/core/components/manifold.d.ts +77 -0
  48. package/esm/core/components/manifold.js +442 -0
  49. package/esm/core/components/mod.d.ts +4 -0
  50. package/esm/core/components/mod.js +4 -0
  51. package/esm/core/components/provider.d.ts +42 -0
  52. package/esm/core/components/provider.js +127 -0
  53. package/esm/core/logging/mod.d.ts +53 -0
  54. package/esm/core/logging/mod.js +142 -0
  55. package/esm/core/logging/trace.d.ts +51 -0
  56. package/esm/core/logging/trace.js +17 -0
  57. package/esm/core/mod-browser.d.ts +1 -0
  58. package/esm/core/mod-browser.js +1 -0
  59. package/esm/core/mod-node.d.ts +1 -0
  60. package/esm/core/mod-node.js +1 -0
  61. package/esm/core/mod.d.ts +5 -0
  62. package/esm/core/mod.js +5 -0
  63. package/esm/core/schema/helpers.d.ts +36 -0
  64. package/esm/core/schema/helpers.js +163 -0
  65. package/esm/core/schema/mod.d.ts +3 -0
  66. package/esm/core/schema/mod.js +3 -0
  67. package/esm/core/schema/schema.d.ts +376 -0
  68. package/esm/core/schema/schema.js +234 -0
  69. package/esm/core/schema/zod.d.ts +44 -0
  70. package/esm/core/schema/zod.js +127 -0
  71. package/esm/core/services/mod.d.ts +5 -0
  72. package/esm/core/services/mod.js +5 -0
  73. package/esm/core/services/service-accessor.d.ts +17 -0
  74. package/esm/core/services/service-accessor.js +20 -0
  75. package/esm/core/services/service-definitions.d.ts +37 -0
  76. package/esm/core/services/service-definitions.js +44 -0
  77. package/esm/core/services/service-points.d.ts +40 -0
  78. package/esm/core/services/service-points.js +164 -0
  79. package/esm/core/services/service-specification.d.ts +52 -0
  80. package/esm/core/services/service-specification.js +59 -0
  81. package/esm/core/services/settings.d.ts +29 -0
  82. package/esm/core/services/settings.js +123 -0
  83. package/esm/utils/file.d.ts +39 -0
  84. package/esm/utils/file.js +3 -4
  85. package/esm/utils/graph-ordering.d.ts +21 -0
  86. package/esm/utils/graph-ordering.js +0 -1
  87. package/esm/utils/normalized-name.d.ts +17 -0
  88. package/esm/utils/normalized-name.js +0 -1
  89. package/esm/workspace/component.d.ts +70 -0
  90. package/esm/workspace/component.js +0 -1
  91. package/esm/workspace/helpers/config-loader.d.ts +37 -0
  92. package/esm/workspace/helpers/config-loader.js +4 -5
  93. package/esm/workspace/helpers/create-manifests.d.ts +13 -0
  94. package/esm/workspace/helpers/create-manifests.js +3 -4
  95. package/esm/workspace/helpers/discover-workspace.d.ts +4 -0
  96. package/esm/workspace/helpers/discover-workspace.js +19 -30
  97. package/esm/workspace/helpers/lockfile.d.ts +5 -0
  98. package/esm/workspace/helpers/lockfile.js +13 -14
  99. package/esm/workspace/helpers/logger.d.ts +65 -0
  100. package/esm/workspace/helpers/logger.js +1 -2
  101. package/esm/workspace/helpers/package-npm.d.ts +1 -0
  102. package/esm/workspace/helpers/package-npm.js +0 -1
  103. package/esm/workspace/mod.d.ts +1 -0
  104. package/esm/workspace/mod.js +1 -0
  105. package/esm/workspace/packager.d.ts +5 -0
  106. package/esm/workspace/packager.js +1 -2
  107. package/esm/workspace/packagers/packager-standard.d.ts +7 -0
  108. package/esm/workspace/packagers/packager-standard.js +3 -4
  109. package/esm/workspace/storage.d.ts +59 -0
  110. package/esm/workspace/storage.js +4 -5
  111. package/esm/workspace/workspace.d.ts +165 -0
  112. package/esm/workspace/workspace.js +27 -16
  113. package/package.json +74 -66
  114. package/esm/commands/publish.js +0 -36
  115. package/esm/publish/publish_aws_s3.js +0 -67
@@ -0,0 +1,376 @@
1
+ import { z } from "zod";
2
+ export declare const JSONSchema7TypeNameSchema: z.ZodEnum<{
3
+ string: "string";
4
+ number: "number";
5
+ boolean: "boolean";
6
+ object: "object";
7
+ array: "array";
8
+ integer: "integer";
9
+ null: "null";
10
+ }>;
11
+ export declare const JSONSchema7TypeNameCustomSchema: z.ZodEnum<{
12
+ function: "function";
13
+ module: "module";
14
+ service: "service";
15
+ }>;
16
+ export declare const JSONSchema7TypeSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>;
17
+ export declare const ChapterSchema: z.ZodObject<{
18
+ title: z.ZodOptional<z.ZodString>;
19
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
20
+ secondaryProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
+ patternProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
+ additionalProperties: z.ZodOptional<z.ZodBoolean>;
23
+ }, z.core.$strip>;
24
+ export declare const DocumentationSchema: z.ZodObject<{
25
+ description: z.ZodOptional<z.ZodString>;
26
+ chapters: z.ZodOptional<z.ZodArray<z.ZodObject<{
27
+ title: z.ZodOptional<z.ZodString>;
28
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
+ secondaryProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
+ patternProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
+ additionalProperties: z.ZodOptional<z.ZodBoolean>;
32
+ }, z.core.$strip>>>;
33
+ additionalChapter: z.ZodOptional<z.ZodBoolean>;
34
+ }, z.core.$strip>;
35
+ export declare const BindingSchema: z.ZodObject<{
36
+ source: z.ZodString;
37
+ }, z.core.$strip>;
38
+ export declare const ExpressionSchema: z.ZodObject<{
39
+ type: z.ZodString;
40
+ }, z.core.$loose>;
41
+ export declare const JSONSchema7DefinitionSchema: z.ZodType<any>;
42
+ export declare const TemplateSchema: z.ZodObject<{
43
+ title: z.ZodOptional<z.ZodString>;
44
+ icon: z.ZodOptional<z.ZodString>;
45
+ description: z.ZodOptional<z.ZodString>;
46
+ args: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
47
+ content: z.ZodObject<{
48
+ type: z.ZodString;
49
+ }, z.core.$loose>;
50
+ }, z.core.$strip>;
51
+ export declare const DockingSchema: z.ZodObject<{
52
+ view: z.ZodString;
53
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
54
+ }, z.core.$strip>;
55
+ export declare const SecurityRuleSchema: z.ZodObject<{
56
+ check: z.ZodAny;
57
+ }, z.core.$strip>;
58
+ export declare const SecurityGuardSchema: z.ZodUnion<readonly [z.ZodLiteral<"safe">, z.ZodString, z.ZodObject<{
59
+ rule: z.ZodString;
60
+ }, z.core.$loose>]>;
61
+ export declare const ResourceLinkSchema: z.ZodString;
62
+ export declare const ResourceEntrySchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
63
+ type: z.ZodString;
64
+ data: z.ZodOptional<z.ZodAny>;
65
+ }, z.core.$strip>]>;
66
+ export declare const JSONSchemaStandardSchema: z.ZodObject<{
67
+ $id: z.ZodOptional<z.ZodString>;
68
+ $ref: z.ZodOptional<z.ZodString>;
69
+ $schema: z.ZodOptional<z.ZodString>;
70
+ $comment: z.ZodOptional<z.ZodString>;
71
+ $defs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
72
+ type: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
73
+ string: "string";
74
+ number: "number";
75
+ boolean: "boolean";
76
+ object: "object";
77
+ array: "array";
78
+ integer: "integer";
79
+ null: "null";
80
+ }>, z.ZodEnum<{
81
+ function: "function";
82
+ module: "module";
83
+ service: "service";
84
+ }>]>>;
85
+ enum: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>>;
86
+ const: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
87
+ multipleOf: z.ZodOptional<z.ZodNumber>;
88
+ maximum: z.ZodOptional<z.ZodNumber>;
89
+ exclusiveMaximum: z.ZodOptional<z.ZodNumber>;
90
+ minimum: z.ZodOptional<z.ZodNumber>;
91
+ exclusiveMinimum: z.ZodOptional<z.ZodNumber>;
92
+ maxLength: z.ZodOptional<z.ZodNumber>;
93
+ minLength: z.ZodOptional<z.ZodNumber>;
94
+ pattern: z.ZodOptional<z.ZodString>;
95
+ items: z.ZodOptional<z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>]>>;
96
+ additionalItems: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
97
+ maxItems: z.ZodOptional<z.ZodNumber>;
98
+ minItems: z.ZodOptional<z.ZodNumber>;
99
+ uniqueItems: z.ZodOptional<z.ZodBoolean>;
100
+ contains: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
101
+ maxProperties: z.ZodOptional<z.ZodNumber>;
102
+ minProperties: z.ZodOptional<z.ZodNumber>;
103
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
104
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
105
+ patternProperties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
106
+ additionalProperties: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
107
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodString>]>>>;
108
+ propertyNames: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
109
+ if: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
110
+ then: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
111
+ else: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
112
+ allOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
113
+ anyOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
114
+ oneOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
115
+ not: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
116
+ format: z.ZodOptional<z.ZodString>;
117
+ contentMediaType: z.ZodOptional<z.ZodString>;
118
+ contentEncoding: z.ZodOptional<z.ZodString>;
119
+ definitions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
120
+ title: z.ZodOptional<z.ZodString>;
121
+ description: z.ZodOptional<z.ZodString>;
122
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
123
+ readOnly: z.ZodOptional<z.ZodBoolean>;
124
+ writeOnly: z.ZodOptional<z.ZodBoolean>;
125
+ examples: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
126
+ }, z.core.$strip>;
127
+ export declare const JSONSchemaCustomSchema: z.ZodObject<{
128
+ title: z.ZodOptional<z.ZodString>;
129
+ icon: z.ZodOptional<z.ZodString>;
130
+ doc: z.ZodOptional<z.ZodObject<{
131
+ description: z.ZodOptional<z.ZodString>;
132
+ chapters: z.ZodOptional<z.ZodArray<z.ZodObject<{
133
+ title: z.ZodOptional<z.ZodString>;
134
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
135
+ secondaryProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
136
+ patternProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
137
+ additionalProperties: z.ZodOptional<z.ZodBoolean>;
138
+ }, z.core.$strip>>>;
139
+ additionalChapter: z.ZodOptional<z.ZodBoolean>;
140
+ }, z.core.$strip>>;
141
+ $error: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<Error, Error>]>>;
142
+ args: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
143
+ placeholder: z.ZodOptional<z.ZodBoolean>;
144
+ resources: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
145
+ type: z.ZodString;
146
+ data: z.ZodOptional<z.ZodAny>;
147
+ }, z.core.$strip>]>>>;
148
+ security: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"safe">, z.ZodString, z.ZodObject<{
149
+ rule: z.ZodString;
150
+ }, z.core.$loose>]>>;
151
+ "allow-origin": z.ZodOptional<z.ZodString>;
152
+ docking: z.ZodOptional<z.ZodObject<{
153
+ view: z.ZodString;
154
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
155
+ }, z.core.$strip>>;
156
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
157
+ title: z.ZodOptional<z.ZodString>;
158
+ icon: z.ZodOptional<z.ZodString>;
159
+ description: z.ZodOptional<z.ZodString>;
160
+ args: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
161
+ content: z.ZodObject<{
162
+ type: z.ZodString;
163
+ }, z.core.$loose>;
164
+ }, z.core.$strip>>>;
165
+ binding: z.ZodOptional<z.ZodObject<{
166
+ source: z.ZodString;
167
+ }, z.core.$strip>>;
168
+ aliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
169
+ }, z.core.$strip>;
170
+ export declare const ServiceSchemaSchema: z.ZodObject<{
171
+ $id: z.ZodOptional<z.ZodString>;
172
+ $ref: z.ZodOptional<z.ZodString>;
173
+ $schema: z.ZodOptional<z.ZodString>;
174
+ $comment: z.ZodOptional<z.ZodString>;
175
+ $defs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
176
+ enum: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>>;
177
+ const: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
178
+ multipleOf: z.ZodOptional<z.ZodNumber>;
179
+ maximum: z.ZodOptional<z.ZodNumber>;
180
+ exclusiveMaximum: z.ZodOptional<z.ZodNumber>;
181
+ minimum: z.ZodOptional<z.ZodNumber>;
182
+ exclusiveMinimum: z.ZodOptional<z.ZodNumber>;
183
+ maxLength: z.ZodOptional<z.ZodNumber>;
184
+ minLength: z.ZodOptional<z.ZodNumber>;
185
+ pattern: z.ZodOptional<z.ZodString>;
186
+ items: z.ZodOptional<z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>]>>;
187
+ additionalItems: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
188
+ maxItems: z.ZodOptional<z.ZodNumber>;
189
+ minItems: z.ZodOptional<z.ZodNumber>;
190
+ uniqueItems: z.ZodOptional<z.ZodBoolean>;
191
+ contains: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
192
+ maxProperties: z.ZodOptional<z.ZodNumber>;
193
+ minProperties: z.ZodOptional<z.ZodNumber>;
194
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
195
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
196
+ patternProperties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
197
+ additionalProperties: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
198
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodString>]>>>;
199
+ propertyNames: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
200
+ if: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
201
+ then: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
202
+ else: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
203
+ allOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
204
+ anyOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
205
+ oneOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
206
+ not: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
207
+ format: z.ZodOptional<z.ZodString>;
208
+ contentMediaType: z.ZodOptional<z.ZodString>;
209
+ contentEncoding: z.ZodOptional<z.ZodString>;
210
+ definitions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
211
+ description: z.ZodOptional<z.ZodString>;
212
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
213
+ readOnly: z.ZodOptional<z.ZodBoolean>;
214
+ writeOnly: z.ZodOptional<z.ZodBoolean>;
215
+ examples: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
216
+ title: z.ZodOptional<z.ZodString>;
217
+ icon: z.ZodOptional<z.ZodString>;
218
+ doc: z.ZodOptional<z.ZodObject<{
219
+ description: z.ZodOptional<z.ZodString>;
220
+ chapters: z.ZodOptional<z.ZodArray<z.ZodObject<{
221
+ title: z.ZodOptional<z.ZodString>;
222
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
223
+ secondaryProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
224
+ patternProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
225
+ additionalProperties: z.ZodOptional<z.ZodBoolean>;
226
+ }, z.core.$strip>>>;
227
+ additionalChapter: z.ZodOptional<z.ZodBoolean>;
228
+ }, z.core.$strip>>;
229
+ $error: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<Error, Error>]>>;
230
+ args: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
231
+ placeholder: z.ZodOptional<z.ZodBoolean>;
232
+ resources: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
233
+ type: z.ZodString;
234
+ data: z.ZodOptional<z.ZodAny>;
235
+ }, z.core.$strip>]>>>;
236
+ security: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"safe">, z.ZodString, z.ZodObject<{
237
+ rule: z.ZodString;
238
+ }, z.core.$loose>]>>;
239
+ "allow-origin": z.ZodOptional<z.ZodString>;
240
+ docking: z.ZodOptional<z.ZodObject<{
241
+ view: z.ZodString;
242
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
243
+ }, z.core.$strip>>;
244
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
245
+ title: z.ZodOptional<z.ZodString>;
246
+ icon: z.ZodOptional<z.ZodString>;
247
+ description: z.ZodOptional<z.ZodString>;
248
+ args: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
249
+ content: z.ZodObject<{
250
+ type: z.ZodString;
251
+ }, z.core.$loose>;
252
+ }, z.core.$strip>>>;
253
+ binding: z.ZodOptional<z.ZodObject<{
254
+ source: z.ZodString;
255
+ }, z.core.$strip>>;
256
+ aliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
257
+ type: z.ZodLiteral<"service">;
258
+ $spec: z.ZodString;
259
+ version: z.ZodOptional<z.ZodString>;
260
+ }, z.core.$strip>;
261
+ export declare const FunctionSchemaSchema: z.ZodObject<{
262
+ $id: z.ZodOptional<z.ZodString>;
263
+ $ref: z.ZodOptional<z.ZodString>;
264
+ $schema: z.ZodOptional<z.ZodString>;
265
+ $comment: z.ZodOptional<z.ZodString>;
266
+ $defs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
267
+ enum: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>>;
268
+ const: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
269
+ multipleOf: z.ZodOptional<z.ZodNumber>;
270
+ maximum: z.ZodOptional<z.ZodNumber>;
271
+ exclusiveMaximum: z.ZodOptional<z.ZodNumber>;
272
+ minimum: z.ZodOptional<z.ZodNumber>;
273
+ exclusiveMinimum: z.ZodOptional<z.ZodNumber>;
274
+ maxLength: z.ZodOptional<z.ZodNumber>;
275
+ minLength: z.ZodOptional<z.ZodNumber>;
276
+ pattern: z.ZodOptional<z.ZodString>;
277
+ items: z.ZodOptional<z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>]>>;
278
+ additionalItems: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
279
+ maxItems: z.ZodOptional<z.ZodNumber>;
280
+ minItems: z.ZodOptional<z.ZodNumber>;
281
+ uniqueItems: z.ZodOptional<z.ZodBoolean>;
282
+ contains: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
283
+ maxProperties: z.ZodOptional<z.ZodNumber>;
284
+ minProperties: z.ZodOptional<z.ZodNumber>;
285
+ required: z.ZodOptional<z.ZodArray<z.ZodString>>;
286
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
287
+ patternProperties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
288
+ additionalProperties: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
289
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodString>]>>>;
290
+ propertyNames: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
291
+ if: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
292
+ then: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
293
+ else: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
294
+ allOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
295
+ anyOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
296
+ oneOf: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
297
+ not: z.ZodOptional<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
298
+ format: z.ZodOptional<z.ZodString>;
299
+ contentMediaType: z.ZodOptional<z.ZodString>;
300
+ contentEncoding: z.ZodOptional<z.ZodString>;
301
+ definitions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
302
+ description: z.ZodOptional<z.ZodString>;
303
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
304
+ readOnly: z.ZodOptional<z.ZodBoolean>;
305
+ writeOnly: z.ZodOptional<z.ZodBoolean>;
306
+ examples: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodArray<z.ZodAny>]>>;
307
+ title: z.ZodOptional<z.ZodString>;
308
+ icon: z.ZodOptional<z.ZodString>;
309
+ doc: z.ZodOptional<z.ZodObject<{
310
+ description: z.ZodOptional<z.ZodString>;
311
+ chapters: z.ZodOptional<z.ZodArray<z.ZodObject<{
312
+ title: z.ZodOptional<z.ZodString>;
313
+ properties: z.ZodOptional<z.ZodArray<z.ZodString>>;
314
+ secondaryProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
315
+ patternProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
316
+ additionalProperties: z.ZodOptional<z.ZodBoolean>;
317
+ }, z.core.$strip>>>;
318
+ additionalChapter: z.ZodOptional<z.ZodBoolean>;
319
+ }, z.core.$strip>>;
320
+ $error: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<Error, Error>]>>;
321
+ args: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>>;
322
+ placeholder: z.ZodOptional<z.ZodBoolean>;
323
+ resources: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
324
+ type: z.ZodString;
325
+ data: z.ZodOptional<z.ZodAny>;
326
+ }, z.core.$strip>]>>>;
327
+ security: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"safe">, z.ZodString, z.ZodObject<{
328
+ rule: z.ZodString;
329
+ }, z.core.$loose>]>>;
330
+ "allow-origin": z.ZodOptional<z.ZodString>;
331
+ docking: z.ZodOptional<z.ZodObject<{
332
+ view: z.ZodString;
333
+ properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
334
+ }, z.core.$strip>>;
335
+ templates: z.ZodOptional<z.ZodArray<z.ZodObject<{
336
+ title: z.ZodOptional<z.ZodString>;
337
+ icon: z.ZodOptional<z.ZodString>;
338
+ description: z.ZodOptional<z.ZodString>;
339
+ args: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
340
+ content: z.ZodObject<{
341
+ type: z.ZodString;
342
+ }, z.core.$loose>;
343
+ }, z.core.$strip>>>;
344
+ binding: z.ZodOptional<z.ZodObject<{
345
+ source: z.ZodString;
346
+ }, z.core.$strip>>;
347
+ aliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
348
+ type: z.ZodLiteral<"function">;
349
+ input: z.ZodOptional<z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>]>>;
350
+ output: z.ZodOptional<z.ZodUnion<readonly [z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>, z.ZodArray<z.ZodLazy<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>]>>;
351
+ }, z.core.$strip>;
352
+ export declare const JSONSchemaSchema: z.ZodType<any>;
353
+ export type JSONSchema7TypeName = z.infer<typeof JSONSchema7TypeNameSchema>;
354
+ export type JSONSchema7TypeNameCustom = z.infer<typeof JSONSchema7TypeNameCustomSchema>;
355
+ export type JSONSchema7 = z.infer<typeof JSONSchema7TypeSchema>;
356
+ export type JSONSchema7Definition = z.infer<typeof JSONSchema7DefinitionSchema>;
357
+ export type ChapterSchema = z.infer<typeof ChapterSchema>;
358
+ export type DocumentationSchema = z.infer<typeof DocumentationSchema>;
359
+ export type BindingSchema = z.infer<typeof BindingSchema>;
360
+ export type ExpressionSchema = z.infer<typeof ExpressionSchema>;
361
+ export type TemplateSchema = z.infer<typeof TemplateSchema>;
362
+ export type DockingSchema = z.infer<typeof DockingSchema>;
363
+ export type SecurityRule = z.infer<typeof SecurityRuleSchema>;
364
+ export type SecurityGuard = z.infer<typeof SecurityGuardSchema>;
365
+ export type ResourceEntry = z.infer<typeof ResourceEntrySchema>;
366
+ export type ResourceImport = {
367
+ type: string;
368
+ location?: string;
369
+ identifier?: string;
370
+ [key: string]: any;
371
+ };
372
+ export type JSONSchemaStandard = z.infer<typeof JSONSchemaStandardSchema>;
373
+ export type JSONSchemaCustom = z.infer<typeof JSONSchemaCustomSchema>;
374
+ export type ServiceSchema = z.infer<typeof ServiceSchemaSchema>;
375
+ export type FunctionSchema = z.infer<typeof FunctionSchemaSchema>;
376
+ export type JSONSchema = z.infer<typeof JSONSchemaSchema>;
@@ -0,0 +1,234 @@
1
+ import { z } from "zod";
2
+ // =============================================================================
3
+ // Base Types
4
+ // =============================================================================
5
+ export const JSONSchema7TypeNameSchema = z.enum([
6
+ "string",
7
+ "number",
8
+ "integer",
9
+ "boolean",
10
+ "object",
11
+ "array",
12
+ "null"
13
+ ]);
14
+ export const JSONSchema7TypeNameCustomSchema = z.enum([
15
+ "module",
16
+ "function",
17
+ "service"
18
+ ]);
19
+ export const JSONSchema7TypeSchema = z.union([
20
+ z.string(),
21
+ z.number(),
22
+ z.boolean(),
23
+ z.null(),
24
+ z.record(z.string(), z.any()),
25
+ z.array(z.any())
26
+ ]);
27
+ // =============================================================================
28
+ // Documentation & Binding Schemas
29
+ // =============================================================================
30
+ export const ChapterSchema = z.object({
31
+ title: z.string().optional(),
32
+ properties: z.array(z.string()).optional(),
33
+ secondaryProperties: z.array(z.string()).optional(),
34
+ patternProperties: z.array(z.string()).optional(),
35
+ additionalProperties: z.boolean().optional()
36
+ });
37
+ export const DocumentationSchema = z.object({
38
+ description: z.string().optional(),
39
+ chapters: z.array(ChapterSchema).optional(),
40
+ additionalChapter: z.boolean().optional()
41
+ });
42
+ export const BindingSchema = z.object({
43
+ source: z.string()
44
+ });
45
+ export const ExpressionSchema = z.object({
46
+ type: z.string()
47
+ }).passthrough();
48
+ // Forward declaration for recursive types
49
+ export const JSONSchema7DefinitionSchema = z.lazy(() => JSONSchemaSchema);
50
+ export const TemplateSchema = z.object({
51
+ title: z.string().optional(),
52
+ icon: z.string().optional(),
53
+ description: z.string().optional(),
54
+ args: z.array(JSONSchema7DefinitionSchema).optional(),
55
+ content: ExpressionSchema
56
+ });
57
+ export const DockingSchema = z.object({
58
+ view: z.string(),
59
+ properties: z.record(z.string(), JSONSchema7DefinitionSchema).optional()
60
+ });
61
+ // =============================================================================
62
+ // Security Types
63
+ // =============================================================================
64
+ // Note: z.function() in Zod 4 is a function factory, not a schema
65
+ // Using a more flexible type for security rule checks
66
+ export const SecurityRuleSchema = z.object({
67
+ check: z.any() // Function type - validated at runtime
68
+ });
69
+ export const SecurityGuardSchema = z.union([
70
+ z.literal("safe"),
71
+ z.string(), // ResourceLink<SecurityRule>
72
+ z.object({
73
+ rule: z.string()
74
+ }).passthrough()
75
+ ]);
76
+ // =============================================================================
77
+ // Resource Types
78
+ // =============================================================================
79
+ export const ResourceLinkSchema = z.string();
80
+ export const ResourceEntrySchema = z.union([
81
+ ResourceLinkSchema,
82
+ z.object({
83
+ type: z.string(),
84
+ data: z.any().optional()
85
+ })
86
+ ]);
87
+ // =============================================================================
88
+ // JSON Schema Standard
89
+ // =============================================================================
90
+ export const JSONSchemaStandardSchema = z.object({
91
+ $id: z.string().optional(),
92
+ $ref: z.string().optional(),
93
+ $schema: z.string().optional(),
94
+ $comment: z.string().optional(),
95
+ /**
96
+ * @see https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-00#section-8.2.4
97
+ */
98
+ $defs: z.record(z.string(), z.lazy(() => JSONSchema7DefinitionSchema)).optional(),
99
+ /**
100
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.1
101
+ */
102
+ type: z.union([JSONSchema7TypeNameSchema, JSONSchema7TypeNameCustomSchema]).optional(),
103
+ enum: z.array(JSONSchema7TypeSchema).optional(),
104
+ const: JSONSchema7TypeSchema.optional(),
105
+ /**
106
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.2
107
+ */
108
+ multipleOf: z.number().optional(),
109
+ maximum: z.number().optional(),
110
+ exclusiveMaximum: z.number().optional(),
111
+ minimum: z.number().optional(),
112
+ exclusiveMinimum: z.number().optional(),
113
+ /**
114
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.3
115
+ */
116
+ maxLength: z.number().optional(),
117
+ minLength: z.number().optional(),
118
+ pattern: z.string().optional(),
119
+ /**
120
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.4
121
+ */
122
+ items: z.union([
123
+ z.lazy(() => JSONSchema7DefinitionSchema),
124
+ z.array(z.lazy(() => JSONSchema7DefinitionSchema))
125
+ ]).optional(),
126
+ additionalItems: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
127
+ maxItems: z.number().optional(),
128
+ minItems: z.number().optional(),
129
+ uniqueItems: z.boolean().optional(),
130
+ contains: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
131
+ /**
132
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.5
133
+ */
134
+ maxProperties: z.number().optional(),
135
+ minProperties: z.number().optional(),
136
+ required: z.array(z.string()).optional(),
137
+ properties: z.record(z.string(), z.lazy(() => JSONSchema7DefinitionSchema)).optional(),
138
+ patternProperties: z.record(z.string(), z.lazy(() => JSONSchema7DefinitionSchema)).optional(),
139
+ additionalProperties: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
140
+ dependencies: z.record(z.string(), z.union([
141
+ z.lazy(() => JSONSchema7DefinitionSchema),
142
+ z.array(z.string())
143
+ ])).optional(),
144
+ propertyNames: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
145
+ /**
146
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.6
147
+ */
148
+ if: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
149
+ then: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
150
+ else: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
151
+ /**
152
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-6.7
153
+ */
154
+ allOf: z.array(z.lazy(() => JSONSchema7DefinitionSchema)).optional(),
155
+ anyOf: z.array(z.lazy(() => JSONSchema7DefinitionSchema)).optional(),
156
+ oneOf: z.array(z.lazy(() => JSONSchema7DefinitionSchema)).optional(),
157
+ not: z.lazy(() => JSONSchema7DefinitionSchema).optional(),
158
+ /**
159
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-7
160
+ */
161
+ format: z.string().optional(),
162
+ /**
163
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-8
164
+ */
165
+ contentMediaType: z.string().optional(),
166
+ contentEncoding: z.string().optional(),
167
+ /**
168
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-9
169
+ */
170
+ definitions: z.record(z.string(), z.lazy(() => JSONSchema7DefinitionSchema)).optional(),
171
+ /**
172
+ * @see https://tools.ietf.org/html/draft-handrews-json-schema-validation-01#section-10
173
+ */
174
+ title: z.string().optional(),
175
+ description: z.string().optional(),
176
+ default: JSONSchema7TypeSchema.optional(),
177
+ readOnly: z.boolean().optional(),
178
+ writeOnly: z.boolean().optional(),
179
+ examples: JSONSchema7TypeSchema.optional()
180
+ });
181
+ // =============================================================================
182
+ // JSON Schema Custom Extensions
183
+ // =============================================================================
184
+ export const JSONSchemaCustomSchema = z.object({
185
+ // Information
186
+ title: z.string().optional(),
187
+ icon: z.string().optional(),
188
+ doc: DocumentationSchema.optional(),
189
+ $error: z.union([z.string(), z.instanceof(Error)]).optional(),
190
+ // Programming interface
191
+ args: z.array(z.lazy(() => JSONSchemaSchema)).optional(),
192
+ placeholder: z.boolean().optional(),
193
+ resources: z.record(z.string(), ResourceEntrySchema).optional(),
194
+ security: SecurityGuardSchema.optional(),
195
+ "allow-origin": z.string().optional(),
196
+ // Component related schema
197
+ docking: DockingSchema.optional(),
198
+ templates: z.array(TemplateSchema).optional(),
199
+ binding: BindingSchema.optional(),
200
+ aliases: z.record(z.string(), z.string()).optional()
201
+ });
202
+ // =============================================================================
203
+ // Service Schema
204
+ // =============================================================================
205
+ export const ServiceSchemaSchema = JSONSchemaStandardSchema.merge(JSONSchemaCustomSchema).extend({
206
+ type: z.literal("service"),
207
+ /** URI or path to the external specification */
208
+ $spec: z.string(),
209
+ /** Version of the specification */
210
+ version: z.string().optional()
211
+ });
212
+ // =============================================================================
213
+ // Function Schema (MCP-style tool definition)
214
+ // =============================================================================
215
+ export const FunctionSchemaSchema = JSONSchemaStandardSchema.merge(JSONSchemaCustomSchema).extend({
216
+ type: z.literal("function"),
217
+ /** JSON Schema for input parameters */
218
+ input: z.union([
219
+ z.lazy(() => JSONSchemaSchema),
220
+ z.array(z.lazy(() => JSONSchemaSchema))
221
+ ]).optional(),
222
+ /** JSON Schema for output */
223
+ output: z.union([
224
+ z.lazy(() => JSONSchemaSchema),
225
+ z.array(z.lazy(() => JSONSchemaSchema))
226
+ ]).optional()
227
+ });
228
+ // =============================================================================
229
+ // Combined JSON Schema
230
+ // =============================================================================
231
+ export const JSONSchemaSchema = z.lazy(() => z.union([
232
+ JSONSchemaStandardSchema.merge(JSONSchemaCustomSchema),
233
+ ServiceSchemaSchema
234
+ ]));
@@ -0,0 +1,44 @@
1
+ import { z, type ZodType } from "zod";
2
+ import { type JSONSchema, type ServiceSchema } from "./schema.ts";
3
+ export declare class ZodService<T = unknown> {
4
+ readonly $spec: string;
5
+ readonly version?: string;
6
+ readonly _type: "ZodService";
7
+ constructor($spec: string, version?: string);
8
+ parse(data: unknown): T;
9
+ safeParse(data: unknown): {
10
+ success: true;
11
+ data: T;
12
+ error?: undefined;
13
+ } | {
14
+ success: false;
15
+ error: Error;
16
+ data?: undefined;
17
+ };
18
+ toJSONSchema(): ServiceSchema;
19
+ static create<T = unknown>($spec: string, version?: string): ZodService<T>;
20
+ }
21
+ export declare const zService: typeof ZodService.create;
22
+ export declare function zodToJSONSchema(schema: ZodType | ZodService): JSONSchema;
23
+ export declare function jsonSchemaToZod(schema: JSONSchema): ZodType;
24
+ export type ValidationResult<T = unknown> = {
25
+ success: true;
26
+ data: T;
27
+ } | {
28
+ success: false;
29
+ errors: ValidationError[];
30
+ };
31
+ export type ValidationError = {
32
+ path: string[];
33
+ message: string;
34
+ code?: string;
35
+ };
36
+ export declare function validate<T>(schema: JSONSchema | ZodType, data: unknown): ValidationResult<T>;
37
+ export declare function validateOrThrow<T>(schema: JSONSchema | ZodType, data: unknown): T;
38
+ export type TSGenOptions = {
39
+ comments?: boolean;
40
+ indent?: string;
41
+ export?: boolean;
42
+ };
43
+ export declare function generateTypeScript(schema: JSONSchema, name: string, opts?: TSGenOptions): string;
44
+ export { z };