@agentick/kernel 0.0.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/LICENSE +21 -0
- package/README.md +401 -0
- package/dist/.tsbuildinfo.build +1 -0
- package/dist/channel-helpers.d.ts +32 -0
- package/dist/channel-helpers.d.ts.map +1 -0
- package/dist/channel-helpers.js +62 -0
- package/dist/channel-helpers.js.map +1 -0
- package/dist/channel.d.ts +164 -0
- package/dist/channel.d.ts.map +1 -0
- package/dist/channel.js +199 -0
- package/dist/channel.js.map +1 -0
- package/dist/context.d.ts +412 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +289 -0
- package/dist/context.js.map +1 -0
- package/dist/event-buffer.d.ts +208 -0
- package/dist/event-buffer.d.ts.map +1 -0
- package/dist/event-buffer.js +335 -0
- package/dist/event-buffer.js.map +1 -0
- package/dist/execution-helpers.d.ts +179 -0
- package/dist/execution-helpers.d.ts.map +1 -0
- package/dist/execution-helpers.js +212 -0
- package/dist/execution-helpers.js.map +1 -0
- package/dist/execution-tracker.d.ts +61 -0
- package/dist/execution-tracker.d.ts.map +1 -0
- package/dist/execution-tracker.js +319 -0
- package/dist/execution-tracker.js.map +1 -0
- package/dist/guard.d.ts +65 -0
- package/dist/guard.d.ts.map +1 -0
- package/dist/guard.js +15 -0
- package/dist/guard.js.map +1 -0
- package/dist/index.d.ts +61 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +62 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +341 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +346 -0
- package/dist/logger.js.map +1 -0
- package/dist/metrics-helpers.d.ts +40 -0
- package/dist/metrics-helpers.d.ts.map +1 -0
- package/dist/metrics-helpers.js +72 -0
- package/dist/metrics-helpers.js.map +1 -0
- package/dist/otel-provider.d.ts +54 -0
- package/dist/otel-provider.d.ts.map +1 -0
- package/dist/otel-provider.js +107 -0
- package/dist/otel-provider.js.map +1 -0
- package/dist/procedure-graph.d.ts +136 -0
- package/dist/procedure-graph.d.ts.map +1 -0
- package/dist/procedure-graph.js +272 -0
- package/dist/procedure-graph.js.map +1 -0
- package/dist/procedure.d.ts +757 -0
- package/dist/procedure.d.ts.map +1 -0
- package/dist/procedure.js +895 -0
- package/dist/procedure.js.map +1 -0
- package/dist/schema.d.ts +153 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +385 -0
- package/dist/schema.js.map +1 -0
- package/dist/stream.d.ts +106 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +186 -0
- package/dist/stream.js.map +1 -0
- package/dist/telemetry.d.ts +182 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +124 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/testing.d.ts +55 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +96 -0
- package/dist/testing.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"procedure.js","sourceRoot":"","sources":["../src/procedure.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema utilities for handling Zod 3, Zod 4, and Standard Schema.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a unified interface for:
|
|
5
|
+
* - Detecting schema types (Zod 3, Zod 4, Standard Schema, JSON Schema)
|
|
6
|
+
* - Converting schemas to JSON Schema format
|
|
7
|
+
* - Validating values against schemas
|
|
8
|
+
*
|
|
9
|
+
* @see https://standardschema.dev
|
|
10
|
+
* @see https://standardschema.dev/json-schema
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Standard Schema V1 interface (subset for detection).
|
|
14
|
+
* @see https://standardschema.dev
|
|
15
|
+
*/
|
|
16
|
+
export interface StandardSchemaV1Props {
|
|
17
|
+
readonly version: 1;
|
|
18
|
+
readonly vendor: string;
|
|
19
|
+
readonly validate?: (value: unknown) => unknown;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Standard JSON Schema V1 interface (subset for conversion).
|
|
23
|
+
* @see https://standardschema.dev/json-schema
|
|
24
|
+
*/
|
|
25
|
+
export interface StandardJSONSchemaV1Props extends StandardSchemaV1Props {
|
|
26
|
+
readonly jsonSchema: {
|
|
27
|
+
readonly input: (options: {
|
|
28
|
+
target: string;
|
|
29
|
+
}) => Record<string, unknown>;
|
|
30
|
+
readonly output?: (options: {
|
|
31
|
+
target: string;
|
|
32
|
+
}) => Record<string, unknown>;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Schema type detection result.
|
|
37
|
+
*/
|
|
38
|
+
export type SchemaType = "zod3" | "zod4" | "standard-schema" | "standard-json-schema" | "json-schema" | "unknown";
|
|
39
|
+
/**
|
|
40
|
+
* Options for JSON Schema conversion.
|
|
41
|
+
*/
|
|
42
|
+
export interface ToJSONSchemaOptions {
|
|
43
|
+
/**
|
|
44
|
+
* Target JSON Schema version for Standard Schema conversion.
|
|
45
|
+
* @default "draft-2020-12"
|
|
46
|
+
*/
|
|
47
|
+
target?: "draft-2020-12" | "draft-07" | "openapi-3.0";
|
|
48
|
+
/**
|
|
49
|
+
* Whether to strip $schema and additionalProperties from output.
|
|
50
|
+
* @default true
|
|
51
|
+
*/
|
|
52
|
+
stripMeta?: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Check if value is a Zod 4 schema.
|
|
56
|
+
* Zod 4 implements Standard Schema with vendor "zod".
|
|
57
|
+
*/
|
|
58
|
+
export declare function isZod4Schema(value: unknown): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Check if value is a Zod 3 schema.
|
|
61
|
+
* Zod 3 has _def.typeName but no ~standard property.
|
|
62
|
+
*/
|
|
63
|
+
export declare function isZod3Schema(value: unknown): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Check if value is a Standard Schema (v1).
|
|
66
|
+
* @see https://standardschema.dev
|
|
67
|
+
*/
|
|
68
|
+
export declare function isStandardSchema(value: unknown): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Check if value is a Standard Schema with JSON Schema support.
|
|
71
|
+
* @see https://standardschema.dev/json-schema
|
|
72
|
+
*/
|
|
73
|
+
export declare function isStandardJSONSchema(value: unknown): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Check if value looks like a JSON Schema (already converted).
|
|
76
|
+
*/
|
|
77
|
+
export declare function isJSONSchema(value: unknown): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Detect the type of schema.
|
|
80
|
+
*/
|
|
81
|
+
export declare function detectSchemaType(value: unknown): SchemaType;
|
|
82
|
+
/**
|
|
83
|
+
* Convert any supported schema to JSON Schema format.
|
|
84
|
+
*
|
|
85
|
+
* Supports:
|
|
86
|
+
* - Zod 4 (uses z.toJSONSchema)
|
|
87
|
+
* - Zod 3 (uses zodToJsonSchema if available, otherwise returns empty)
|
|
88
|
+
* - Standard JSON Schema (uses ~standard.jsonSchema.input)
|
|
89
|
+
* - Standard Schema (returns empty - no JSON Schema support)
|
|
90
|
+
* - JSON Schema (pass through)
|
|
91
|
+
*
|
|
92
|
+
* @param schema - The schema to convert
|
|
93
|
+
* @param options - Conversion options
|
|
94
|
+
* @returns JSON Schema object
|
|
95
|
+
*/
|
|
96
|
+
export declare function toJSONSchema(schema: unknown, options?: ToJSONSchemaOptions): Promise<Record<string, unknown>>;
|
|
97
|
+
/**
|
|
98
|
+
* Get the vendor name from a Standard Schema.
|
|
99
|
+
*/
|
|
100
|
+
export declare function getSchemaVendor(schema: unknown): string | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* A validation issue from schema validation.
|
|
103
|
+
*/
|
|
104
|
+
export interface ValidationIssue {
|
|
105
|
+
/** Human-readable error message */
|
|
106
|
+
message: string;
|
|
107
|
+
/** Path to the invalid value (e.g., ["user", "email"]) */
|
|
108
|
+
path?: (string | number)[];
|
|
109
|
+
/** Issue code/type if available */
|
|
110
|
+
code?: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Result of schema validation.
|
|
114
|
+
*/
|
|
115
|
+
export type ValidationResult<T = unknown> = {
|
|
116
|
+
success: true;
|
|
117
|
+
data: T;
|
|
118
|
+
} | {
|
|
119
|
+
success: false;
|
|
120
|
+
issues: ValidationIssue[];
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Validate a value against any supported schema.
|
|
124
|
+
*
|
|
125
|
+
* Supports:
|
|
126
|
+
* - Zod 3 and Zod 4 (uses safeParse)
|
|
127
|
+
* - Standard Schema (uses ~standard.validate)
|
|
128
|
+
*
|
|
129
|
+
* @param schema - The schema to validate against
|
|
130
|
+
* @param value - The value to validate
|
|
131
|
+
* @returns Validation result with data or issues
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const result = await validateSchema(mySchema, userInput);
|
|
136
|
+
* if (result.success) {
|
|
137
|
+
* console.log("Valid:", result.data);
|
|
138
|
+
* } else {
|
|
139
|
+
* console.log("Errors:", result.issues);
|
|
140
|
+
* }
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
export declare function validateSchema<T = unknown>(schema: unknown, value: unknown): Promise<ValidationResult<T>>;
|
|
144
|
+
/**
|
|
145
|
+
* Validate a value against a schema, throwing on failure.
|
|
146
|
+
*
|
|
147
|
+
* @param schema - The schema to validate against
|
|
148
|
+
* @param value - The value to validate
|
|
149
|
+
* @returns The validated value
|
|
150
|
+
* @throws Error with validation issues if validation fails
|
|
151
|
+
*/
|
|
152
|
+
export declare function parseSchema<T = unknown>(schema: unknown, value: unknown): Promise<T>;
|
|
153
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema utilities for handling Zod 3, Zod 4, and Standard Schema.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a unified interface for:
|
|
5
|
+
* - Detecting schema types (Zod 3, Zod 4, Standard Schema, JSON Schema)
|
|
6
|
+
* - Converting schemas to JSON Schema format
|
|
7
|
+
* - Validating values against schemas
|
|
8
|
+
*
|
|
9
|
+
* @see https://standardschema.dev
|
|
10
|
+
* @see https://standardschema.dev/json-schema
|
|
11
|
+
*/
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Detection
|
|
14
|
+
// ============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Check if value is a Zod 4 schema.
|
|
17
|
+
* Zod 4 implements Standard Schema with vendor "zod".
|
|
18
|
+
*/
|
|
19
|
+
export function isZod4Schema(value) {
|
|
20
|
+
if (value == null || typeof value !== "object")
|
|
21
|
+
return false;
|
|
22
|
+
const standard = value["~standard"];
|
|
23
|
+
if (standard == null || typeof standard !== "object")
|
|
24
|
+
return false;
|
|
25
|
+
if (standard.vendor !== "zod")
|
|
26
|
+
return false;
|
|
27
|
+
const jsonSchema = standard.jsonSchema;
|
|
28
|
+
const schemaAny = value;
|
|
29
|
+
const hasStandardJSONSchema = typeof jsonSchema?.input === "function";
|
|
30
|
+
const hasZod4Def = typeof schemaAny._zod?.def !== "undefined";
|
|
31
|
+
return hasStandardJSONSchema || hasZod4Def;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Check if value is a Zod 3 schema.
|
|
35
|
+
* Zod 3 has _def.typeName but no ~standard property.
|
|
36
|
+
*/
|
|
37
|
+
export function isZod3Schema(value) {
|
|
38
|
+
if (value == null || typeof value !== "object")
|
|
39
|
+
return false;
|
|
40
|
+
const obj = value;
|
|
41
|
+
// Has _def with typeName starting with "Zod".
|
|
42
|
+
const def = obj._def;
|
|
43
|
+
if (!def?.typeName)
|
|
44
|
+
return false;
|
|
45
|
+
const typeName = def.typeName;
|
|
46
|
+
if (!typeName.startsWith("Zod"))
|
|
47
|
+
return false;
|
|
48
|
+
// Zod 3 may not expose Zod 4 internals even if ~standard is present.
|
|
49
|
+
const hasStandard = "~standard" in obj;
|
|
50
|
+
const standard = obj["~standard"];
|
|
51
|
+
const isZodVendor = standard?.vendor === "zod";
|
|
52
|
+
const hasZod4Def = typeof obj._zod?.def !== "undefined";
|
|
53
|
+
return !hasZod4Def && (!hasStandard || isZodVendor);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if value is a Standard Schema (v1).
|
|
57
|
+
* @see https://standardschema.dev
|
|
58
|
+
*/
|
|
59
|
+
export function isStandardSchema(value) {
|
|
60
|
+
if (value == null || typeof value !== "object")
|
|
61
|
+
return false;
|
|
62
|
+
const obj = value;
|
|
63
|
+
const standard = obj["~standard"];
|
|
64
|
+
if (!standard || typeof standard !== "object")
|
|
65
|
+
return false;
|
|
66
|
+
return (standard.version === 1 &&
|
|
67
|
+
typeof standard.vendor === "string" &&
|
|
68
|
+
typeof standard.validate === "function");
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if value is a Standard Schema with JSON Schema support.
|
|
72
|
+
* @see https://standardschema.dev/json-schema
|
|
73
|
+
*/
|
|
74
|
+
export function isStandardJSONSchema(value) {
|
|
75
|
+
if (value == null || typeof value !== "object")
|
|
76
|
+
return false;
|
|
77
|
+
const obj = value;
|
|
78
|
+
const standard = obj["~standard"];
|
|
79
|
+
if (!standard || typeof standard !== "object")
|
|
80
|
+
return false;
|
|
81
|
+
const jsonSchema = standard.jsonSchema;
|
|
82
|
+
return (jsonSchema != null && typeof jsonSchema === "object" && typeof jsonSchema.input === "function");
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Check if value looks like a JSON Schema (already converted).
|
|
86
|
+
*/
|
|
87
|
+
export function isJSONSchema(value) {
|
|
88
|
+
if (value == null || typeof value !== "object")
|
|
89
|
+
return false;
|
|
90
|
+
const obj = value;
|
|
91
|
+
// JSON Schema typically has "type" or "$schema" or "properties"
|
|
92
|
+
return (typeof obj.type === "string" ||
|
|
93
|
+
typeof obj.$schema === "string" ||
|
|
94
|
+
(typeof obj.properties === "object" && obj.properties !== null));
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Detect the type of schema.
|
|
98
|
+
*/
|
|
99
|
+
export function detectSchemaType(value) {
|
|
100
|
+
if (value == null)
|
|
101
|
+
return "unknown";
|
|
102
|
+
// Check Zod 4 first (it's also a Standard Schema)
|
|
103
|
+
if (isZod4Schema(value))
|
|
104
|
+
return "zod4";
|
|
105
|
+
// Check Zod 3
|
|
106
|
+
if (isZod3Schema(value))
|
|
107
|
+
return "zod3";
|
|
108
|
+
// Check Standard JSON Schema (before regular Standard Schema)
|
|
109
|
+
if (isStandardJSONSchema(value))
|
|
110
|
+
return "standard-json-schema";
|
|
111
|
+
// Check Standard Schema
|
|
112
|
+
if (isStandardSchema(value))
|
|
113
|
+
return "standard-schema";
|
|
114
|
+
// Check if already JSON Schema
|
|
115
|
+
if (isJSONSchema(value))
|
|
116
|
+
return "json-schema";
|
|
117
|
+
return "unknown";
|
|
118
|
+
}
|
|
119
|
+
// ============================================================================
|
|
120
|
+
// Conversion
|
|
121
|
+
// ============================================================================
|
|
122
|
+
/**
|
|
123
|
+
* Convert any supported schema to JSON Schema format.
|
|
124
|
+
*
|
|
125
|
+
* Supports:
|
|
126
|
+
* - Zod 4 (uses z.toJSONSchema)
|
|
127
|
+
* - Zod 3 (uses zodToJsonSchema if available, otherwise returns empty)
|
|
128
|
+
* - Standard JSON Schema (uses ~standard.jsonSchema.input)
|
|
129
|
+
* - Standard Schema (returns empty - no JSON Schema support)
|
|
130
|
+
* - JSON Schema (pass through)
|
|
131
|
+
*
|
|
132
|
+
* @param schema - The schema to convert
|
|
133
|
+
* @param options - Conversion options
|
|
134
|
+
* @returns JSON Schema object
|
|
135
|
+
*/
|
|
136
|
+
export async function toJSONSchema(schema, options = {}) {
|
|
137
|
+
const { target = "draft-2020-12", stripMeta = true } = options;
|
|
138
|
+
if (schema == null)
|
|
139
|
+
return {};
|
|
140
|
+
const schemaType = detectSchemaType(schema);
|
|
141
|
+
// Debug: log what type we detected
|
|
142
|
+
if (schemaType === "unknown") {
|
|
143
|
+
console.warn("[schema] Unknown schema type, input:", {
|
|
144
|
+
type: typeof schema,
|
|
145
|
+
hasStandard: schema && typeof schema === "object" && "~standard" in schema,
|
|
146
|
+
hasDef: schema && typeof schema === "object" && "_def" in schema,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
let result;
|
|
150
|
+
switch (schemaType) {
|
|
151
|
+
case "zod4": {
|
|
152
|
+
// Prefer Standard JSON Schema interface when available (Zod 4).
|
|
153
|
+
try {
|
|
154
|
+
const standard = schema["~standard"];
|
|
155
|
+
if (standard?.jsonSchema &&
|
|
156
|
+
typeof standard.jsonSchema.input === "function") {
|
|
157
|
+
result = standard.jsonSchema.input({ target });
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
const schemaAny = schema;
|
|
161
|
+
// If this doesn't look like a Zod 4 instance, fall back to zod-to-json-schema.
|
|
162
|
+
if (typeof schemaAny._zod?.def === "undefined") {
|
|
163
|
+
const zodToJsonSchemaModule = await import("zod-to-json-schema");
|
|
164
|
+
const zodToJsonSchema = zodToJsonSchemaModule.zodToJsonSchema ??
|
|
165
|
+
zodToJsonSchemaModule.default;
|
|
166
|
+
if (typeof zodToJsonSchema === "function") {
|
|
167
|
+
const targetKey = target ?? "draft-2020-12";
|
|
168
|
+
const targetMap = {
|
|
169
|
+
"draft-2020-12": "jsonSchema7",
|
|
170
|
+
"draft-07": "jsonSchema7",
|
|
171
|
+
"openapi-3.0": "openApi3",
|
|
172
|
+
};
|
|
173
|
+
result = zodToJsonSchema(schema, { target: targetMap[targetKey] });
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Zod 4 instances expose toJSONSchema directly.
|
|
178
|
+
if (typeof schemaAny.toJSONSchema === "function") {
|
|
179
|
+
result = schemaAny.toJSONSchema({ target });
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
// Fallback to Zod module-level conversion if available.
|
|
183
|
+
const zod = await import("zod");
|
|
184
|
+
if (typeof zod.toJSONSchema === "function" &&
|
|
185
|
+
typeof schemaAny._zod?.def !== "undefined") {
|
|
186
|
+
result = zod.toJSONSchema(schema, {
|
|
187
|
+
target,
|
|
188
|
+
});
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
console.warn("[schema] Zod toJSONSchema not available");
|
|
192
|
+
result = {};
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
console.error("[schema] Failed to convert Zod 4 schema to JSON Schema:", err);
|
|
196
|
+
const def = schema._def;
|
|
197
|
+
console.error("[schema] Schema typeName:", def?.typeName);
|
|
198
|
+
result = {};
|
|
199
|
+
}
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
case "zod3": {
|
|
203
|
+
// Zod 3 schemas require zod-to-json-schema to avoid Zod 4 runtime mismatch.
|
|
204
|
+
try {
|
|
205
|
+
const zodToJsonSchemaModule = await import("zod-to-json-schema");
|
|
206
|
+
const zodToJsonSchema = zodToJsonSchemaModule.zodToJsonSchema ??
|
|
207
|
+
zodToJsonSchemaModule.default;
|
|
208
|
+
if (typeof zodToJsonSchema !== "function") {
|
|
209
|
+
console.warn("[schema] zod-to-json-schema export not found");
|
|
210
|
+
result = {};
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
const targetKey = target ?? "draft-2020-12";
|
|
214
|
+
const targetMap = {
|
|
215
|
+
"draft-2020-12": "jsonSchema7",
|
|
216
|
+
"draft-07": "jsonSchema7",
|
|
217
|
+
"openapi-3.0": "openApi3",
|
|
218
|
+
};
|
|
219
|
+
result = zodToJsonSchema(schema, { target: targetMap[targetKey] });
|
|
220
|
+
}
|
|
221
|
+
catch (err) {
|
|
222
|
+
console.error("[schema] Failed to convert Zod 3 schema to JSON Schema:", err);
|
|
223
|
+
const def = schema._def;
|
|
224
|
+
console.error("[schema] Schema typeName:", def?.typeName);
|
|
225
|
+
result = {};
|
|
226
|
+
}
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
case "standard-json-schema": {
|
|
230
|
+
// Standard Schema with JSON Schema support
|
|
231
|
+
const standard = schema["~standard"];
|
|
232
|
+
result = standard.jsonSchema.input({ target });
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
case "standard-schema": {
|
|
236
|
+
// Standard Schema without JSON Schema support - can't convert
|
|
237
|
+
console.warn("Schema implements Standard Schema but not Standard JSON Schema - cannot convert to JSON Schema");
|
|
238
|
+
result = {};
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case "json-schema": {
|
|
242
|
+
// Already JSON Schema - pass through
|
|
243
|
+
result = { ...schema };
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
default: {
|
|
247
|
+
// Unknown - try to pass through if it's an object
|
|
248
|
+
if (typeof schema === "object") {
|
|
249
|
+
result = { ...schema };
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
result = {};
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// Strip meta properties if requested
|
|
257
|
+
if (stripMeta && result) {
|
|
258
|
+
delete result["$schema"];
|
|
259
|
+
delete result["additionalProperties"];
|
|
260
|
+
}
|
|
261
|
+
return result;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Get the vendor name from a Standard Schema.
|
|
265
|
+
*/
|
|
266
|
+
export function getSchemaVendor(schema) {
|
|
267
|
+
if (schema == null || typeof schema !== "object")
|
|
268
|
+
return undefined;
|
|
269
|
+
const standard = schema["~standard"];
|
|
270
|
+
if (!standard || typeof standard !== "object")
|
|
271
|
+
return undefined;
|
|
272
|
+
return standard.vendor;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Validate a value against any supported schema.
|
|
276
|
+
*
|
|
277
|
+
* Supports:
|
|
278
|
+
* - Zod 3 and Zod 4 (uses safeParse)
|
|
279
|
+
* - Standard Schema (uses ~standard.validate)
|
|
280
|
+
*
|
|
281
|
+
* @param schema - The schema to validate against
|
|
282
|
+
* @param value - The value to validate
|
|
283
|
+
* @returns Validation result with data or issues
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* const result = await validateSchema(mySchema, userInput);
|
|
288
|
+
* if (result.success) {
|
|
289
|
+
* console.log("Valid:", result.data);
|
|
290
|
+
* } else {
|
|
291
|
+
* console.log("Errors:", result.issues);
|
|
292
|
+
* }
|
|
293
|
+
* ```
|
|
294
|
+
*/
|
|
295
|
+
export async function validateSchema(schema, value) {
|
|
296
|
+
if (schema == null) {
|
|
297
|
+
return { success: false, issues: [{ message: "Schema is null or undefined" }] };
|
|
298
|
+
}
|
|
299
|
+
const schemaType = detectSchemaType(schema);
|
|
300
|
+
switch (schemaType) {
|
|
301
|
+
case "zod3":
|
|
302
|
+
case "zod4": {
|
|
303
|
+
// Zod schemas have safeParse method
|
|
304
|
+
const zodSchema = schema;
|
|
305
|
+
if (typeof zodSchema.safeParse !== "function") {
|
|
306
|
+
return { success: false, issues: [{ message: "Schema missing safeParse method" }] };
|
|
307
|
+
}
|
|
308
|
+
const result = zodSchema.safeParse(value);
|
|
309
|
+
if (result.success) {
|
|
310
|
+
return { success: true, data: result.data };
|
|
311
|
+
}
|
|
312
|
+
// Convert Zod errors to our format
|
|
313
|
+
const issues = result.error.issues.map((issue) => ({
|
|
314
|
+
message: issue.message,
|
|
315
|
+
path: issue.path,
|
|
316
|
+
code: issue.code,
|
|
317
|
+
}));
|
|
318
|
+
return { success: false, issues };
|
|
319
|
+
}
|
|
320
|
+
case "standard-schema":
|
|
321
|
+
case "standard-json-schema": {
|
|
322
|
+
// Standard Schema uses ~standard.validate
|
|
323
|
+
const standard = schema["~standard"];
|
|
324
|
+
if (typeof standard?.validate !== "function") {
|
|
325
|
+
return { success: false, issues: [{ message: "Schema missing validate method" }] };
|
|
326
|
+
}
|
|
327
|
+
// Standard Schema validate can be sync or async
|
|
328
|
+
const result = (await Promise.resolve(standard.validate(value)));
|
|
329
|
+
// Standard Schema returns { value } on success, { issues } on failure
|
|
330
|
+
if ("value" in result) {
|
|
331
|
+
return { success: true, data: result.value };
|
|
332
|
+
}
|
|
333
|
+
if ("issues" in result && Array.isArray(result.issues)) {
|
|
334
|
+
const issues = result.issues.map((issue) => ({
|
|
335
|
+
message: issue.message,
|
|
336
|
+
path: issue.path,
|
|
337
|
+
}));
|
|
338
|
+
return { success: false, issues };
|
|
339
|
+
}
|
|
340
|
+
// Unexpected result format
|
|
341
|
+
return { success: false, issues: [{ message: "Unexpected validation result format" }] };
|
|
342
|
+
}
|
|
343
|
+
case "json-schema": {
|
|
344
|
+
// JSON Schema validation would require a validator like Ajv
|
|
345
|
+
// Return a helpful error suggesting what to do
|
|
346
|
+
return {
|
|
347
|
+
success: false,
|
|
348
|
+
issues: [
|
|
349
|
+
{
|
|
350
|
+
message: "JSON Schema validation requires a validator library (e.g., Ajv). " +
|
|
351
|
+
"Consider using a schema library like Zod that supports Standard Schema.",
|
|
352
|
+
},
|
|
353
|
+
],
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
default: {
|
|
357
|
+
return {
|
|
358
|
+
success: false,
|
|
359
|
+
issues: [{ message: `Unknown schema type: cannot validate` }],
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Validate a value against a schema, throwing on failure.
|
|
366
|
+
*
|
|
367
|
+
* @param schema - The schema to validate against
|
|
368
|
+
* @param value - The value to validate
|
|
369
|
+
* @returns The validated value
|
|
370
|
+
* @throws Error with validation issues if validation fails
|
|
371
|
+
*/
|
|
372
|
+
export async function parseSchema(schema, value) {
|
|
373
|
+
const result = await validateSchema(schema, value);
|
|
374
|
+
if (result.success) {
|
|
375
|
+
return result.data;
|
|
376
|
+
}
|
|
377
|
+
const message = result.issues
|
|
378
|
+
.map((i) => {
|
|
379
|
+
const path = i.path?.length ? `${i.path.join(".")}: ` : "";
|
|
380
|
+
return `${path}${i.message}`;
|
|
381
|
+
})
|
|
382
|
+
.join("; ");
|
|
383
|
+
throw new Error(`Validation failed: ${message}`);
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|