@agentuity/schema 0.1.38 → 0.1.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export { LiteralSchema, literal } from './utils/literal';
14
14
  export { OptionalSchema, optional } from './utils/optional';
15
15
  export { NullableSchema, nullable } from './utils/nullable';
16
16
  export { UnionSchema, union } from './utils/union';
17
- export { toJSONSchema, fromJSONSchema, type JSONSchema } from './json-schema';
17
+ export { toJSONSchema, fromJSONSchema, type JSONSchema, type ToJSONSchemaOptions } from './json-schema';
18
18
  export { CoerceStringSchema, coerceString } from './coerce/string';
19
19
  export { CoerceNumberSchema, coerceNumber } from './coerce/number';
20
20
  export { CoerceBooleanSchema, coerceBoolean } from './coerce/boolean';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,25 @@ export interface JSONSchema {
14
14
  anyOf?: JSONSchema[];
15
15
  oneOf?: JSONSchema[];
16
16
  allOf?: JSONSchema[];
17
+ additionalProperties?: JSONSchema | boolean;
18
+ }
19
+ /**
20
+ * Options for toJSONSchema conversion.
21
+ */
22
+ export interface ToJSONSchemaOptions {
23
+ /**
24
+ * When true, adds `additionalProperties: false` to all object schemas.
25
+ * Required for LLM structured output compatibility (OpenAI, Groq, etc.).
26
+ * @default false
27
+ */
28
+ strict?: boolean;
17
29
  }
18
30
  /**
19
31
  * Convert a schema to JSON Schema format.
20
32
  * Supports primitives, objects, arrays, unions, literals, optional, and nullable types.
21
33
  *
22
34
  * @param schema - The schema to convert
35
+ * @param options - Conversion options
23
36
  * @returns JSON Schema object
24
37
  *
25
38
  * @example
@@ -31,9 +44,13 @@ export interface JSONSchema {
31
44
  *
32
45
  * const jsonSchema = s.toJSONSchema(userSchema);
33
46
  * // { type: 'object', properties: {...}, required: [...] }
47
+ *
48
+ * // For LLM structured output compatibility (OpenAI, Groq, etc.):
49
+ * const strictSchema = s.toJSONSchema(userSchema, { strict: true });
50
+ * // { type: 'object', properties: {...}, required: [...], additionalProperties: false }
34
51
  * ```
35
52
  */
36
- export declare function toJSONSchema(schema: Schema<any, any>): JSONSchema;
53
+ export declare function toJSONSchema(schema: Schema<any, any>, options?: ToJSONSchemaOptions): JSONSchema;
37
54
  /**
38
55
  * Convert a JSON Schema object to a schema.
39
56
  * Supports round-trip conversion with toJSONSchema.
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsBrC;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU,CAqIjE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAoJvE"}
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsBrC;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,oBAAoB,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAyIhG;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAoJvE"}
@@ -22,6 +22,7 @@ function isSchemaType(schema, typeName) {
22
22
  * Supports primitives, objects, arrays, unions, literals, optional, and nullable types.
23
23
  *
24
24
  * @param schema - The schema to convert
25
+ * @param options - Conversion options
25
26
  * @returns JSON Schema object
26
27
  *
27
28
  * @example
@@ -33,9 +34,13 @@ function isSchemaType(schema, typeName) {
33
34
  *
34
35
  * const jsonSchema = s.toJSONSchema(userSchema);
35
36
  * // { type: 'object', properties: {...}, required: [...] }
37
+ *
38
+ * // For LLM structured output compatibility (OpenAI, Groq, etc.):
39
+ * const strictSchema = s.toJSONSchema(userSchema, { strict: true });
40
+ * // { type: 'object', properties: {...}, required: [...], additionalProperties: false }
36
41
  * ```
37
42
  */
38
- export function toJSONSchema(schema) {
43
+ export function toJSONSchema(schema, options) {
39
44
  const result = {};
40
45
  // Add description if available
41
46
  if (schema.description) {
@@ -85,7 +90,7 @@ export function toJSONSchema(schema) {
85
90
  result.properties = {};
86
91
  result.required = [];
87
92
  for (const [key, fieldSchema] of Object.entries(shape)) {
88
- result.properties[key] = toJSONSchema(fieldSchema);
93
+ result.properties[key] = toJSONSchema(fieldSchema, options);
89
94
  // If the field is not optional, add it to required
90
95
  if (!isSchemaType(fieldSchema, 'OptionalSchema')) {
91
96
  result.required.push(key);
@@ -95,26 +100,29 @@ export function toJSONSchema(schema) {
95
100
  if (result.required.length === 0) {
96
101
  delete result.required;
97
102
  }
103
+ if (options?.strict) {
104
+ result.additionalProperties = false;
105
+ }
98
106
  return result;
99
107
  }
100
108
  // Array types
101
109
  if (isSchemaType(schema, 'ArraySchema')) {
102
110
  result.type = 'array';
103
111
  const itemSchema = schema.itemSchema;
104
- result.items = toJSONSchema(itemSchema);
112
+ result.items = toJSONSchema(itemSchema, options);
105
113
  return result;
106
114
  }
107
115
  // Optional types
108
116
  if (isSchemaType(schema, 'OptionalSchema')) {
109
117
  const innerSchema = schema.schema;
110
- const innerJSON = toJSONSchema(innerSchema);
118
+ const innerJSON = toJSONSchema(innerSchema, options);
111
119
  // Optional is typically handled at the object level via required array
112
120
  return innerJSON;
113
121
  }
114
122
  // Nullable types
115
123
  if (isSchemaType(schema, 'NullableSchema')) {
116
124
  const innerSchema = schema.schema;
117
- const innerJSON = toJSONSchema(innerSchema);
125
+ const innerJSON = toJSONSchema(innerSchema, options);
118
126
  // Nullable can be represented as anyOf with null
119
127
  return {
120
128
  anyOf: [innerJSON, { type: 'null' }],
@@ -124,7 +132,7 @@ export function toJSONSchema(schema) {
124
132
  // Union types
125
133
  if (isSchemaType(schema, 'UnionSchema')) {
126
134
  const schemas = schema.schemas;
127
- result.anyOf = schemas.map((schema) => toJSONSchema(schema));
135
+ result.anyOf = schemas.map((schema) => toJSONSchema(schema, options));
128
136
  return result;
129
137
  }
130
138
  // Record types (object with string keys and typed values)
@@ -133,7 +141,7 @@ export function toJSONSchema(schema) {
133
141
  // Record schemas have additionalProperties
134
142
  const valueSchema = schema.valueSchema;
135
143
  if (valueSchema) {
136
- result.additionalProperties = toJSONSchema(valueSchema);
144
+ result.additionalProperties = toJSONSchema(valueSchema, options);
137
145
  }
138
146
  return result;
139
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/schema",
3
- "version": "0.1.38",
3
+ "version": "0.1.40",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -26,10 +26,10 @@
26
26
  "prepublishOnly": "bun run clean && bun run build"
27
27
  },
28
28
  "dependencies": {
29
- "@agentuity/core": "0.1.38"
29
+ "@agentuity/core": "0.1.40"
30
30
  },
31
31
  "devDependencies": {
32
- "@agentuity/test-utils": "0.1.38",
32
+ "@agentuity/test-utils": "0.1.40",
33
33
  "@types/bun": "latest",
34
34
  "bun-types": "latest",
35
35
  "typescript": "^5.9.0"
package/src/index.ts CHANGED
@@ -28,7 +28,7 @@ export { OptionalSchema, optional } from './utils/optional';
28
28
  export { NullableSchema, nullable } from './utils/nullable';
29
29
  export { UnionSchema, union } from './utils/union';
30
30
 
31
- export { toJSONSchema, fromJSONSchema, type JSONSchema } from './json-schema';
31
+ export { toJSONSchema, fromJSONSchema, type JSONSchema, type ToJSONSchemaOptions } from './json-schema';
32
32
 
33
33
  export { CoerceStringSchema, coerceString } from './coerce/string';
34
34
  export { CoerceNumberSchema, coerceNumber } from './coerce/number';
@@ -36,6 +36,19 @@ export interface JSONSchema {
36
36
  anyOf?: JSONSchema[];
37
37
  oneOf?: JSONSchema[];
38
38
  allOf?: JSONSchema[];
39
+ additionalProperties?: JSONSchema | boolean;
40
+ }
41
+
42
+ /**
43
+ * Options for toJSONSchema conversion.
44
+ */
45
+ export interface ToJSONSchemaOptions {
46
+ /**
47
+ * When true, adds `additionalProperties: false` to all object schemas.
48
+ * Required for LLM structured output compatibility (OpenAI, Groq, etc.).
49
+ * @default false
50
+ */
51
+ strict?: boolean;
39
52
  }
40
53
 
41
54
  /**
@@ -43,6 +56,7 @@ export interface JSONSchema {
43
56
  * Supports primitives, objects, arrays, unions, literals, optional, and nullable types.
44
57
  *
45
58
  * @param schema - The schema to convert
59
+ * @param options - Conversion options
46
60
  * @returns JSON Schema object
47
61
  *
48
62
  * @example
@@ -54,9 +68,13 @@ export interface JSONSchema {
54
68
  *
55
69
  * const jsonSchema = s.toJSONSchema(userSchema);
56
70
  * // { type: 'object', properties: {...}, required: [...] }
71
+ *
72
+ * // For LLM structured output compatibility (OpenAI, Groq, etc.):
73
+ * const strictSchema = s.toJSONSchema(userSchema, { strict: true });
74
+ * // { type: 'object', properties: {...}, required: [...], additionalProperties: false }
57
75
  * ```
58
76
  */
59
- export function toJSONSchema(schema: Schema<any, any>): JSONSchema {
77
+ export function toJSONSchema(schema: Schema<any, any>, options?: ToJSONSchemaOptions): JSONSchema {
60
78
  const result: JSONSchema = {};
61
79
 
62
80
  // Add description if available
@@ -113,7 +131,7 @@ export function toJSONSchema(schema: Schema<any, any>): JSONSchema {
113
131
  result.required = [];
114
132
 
115
133
  for (const [key, fieldSchema] of Object.entries(shape) as Array<[string, Schema<any, any>]>) {
116
- result.properties[key] = toJSONSchema(fieldSchema);
134
+ result.properties[key] = toJSONSchema(fieldSchema, options);
117
135
 
118
136
  // If the field is not optional, add it to required
119
137
  if (!isSchemaType(fieldSchema, 'OptionalSchema')) {
@@ -126,6 +144,10 @@ export function toJSONSchema(schema: Schema<any, any>): JSONSchema {
126
144
  delete result.required;
127
145
  }
128
146
 
147
+ if (options?.strict) {
148
+ result.additionalProperties = false;
149
+ }
150
+
129
151
  return result;
130
152
  }
131
153
 
@@ -133,14 +155,14 @@ export function toJSONSchema(schema: Schema<any, any>): JSONSchema {
133
155
  if (isSchemaType(schema, 'ArraySchema')) {
134
156
  result.type = 'array';
135
157
  const itemSchema = (schema as any).itemSchema;
136
- result.items = toJSONSchema(itemSchema);
158
+ result.items = toJSONSchema(itemSchema, options);
137
159
  return result;
138
160
  }
139
161
 
140
162
  // Optional types
141
163
  if (isSchemaType(schema, 'OptionalSchema')) {
142
164
  const innerSchema = (schema as any).schema;
143
- const innerJSON = toJSONSchema(innerSchema);
165
+ const innerJSON = toJSONSchema(innerSchema, options);
144
166
  // Optional is typically handled at the object level via required array
145
167
  return innerJSON;
146
168
  }
@@ -148,7 +170,7 @@ export function toJSONSchema(schema: Schema<any, any>): JSONSchema {
148
170
  // Nullable types
149
171
  if (isSchemaType(schema, 'NullableSchema')) {
150
172
  const innerSchema = (schema as any).schema;
151
- const innerJSON = toJSONSchema(innerSchema);
173
+ const innerJSON = toJSONSchema(innerSchema, options);
152
174
  // Nullable can be represented as anyOf with null
153
175
  return {
154
176
  anyOf: [innerJSON, { type: 'null' }],
@@ -159,7 +181,7 @@ export function toJSONSchema(schema: Schema<any, any>): JSONSchema {
159
181
  // Union types
160
182
  if (isSchemaType(schema, 'UnionSchema')) {
161
183
  const schemas = (schema as any).schemas as Schema<any, any>[];
162
- result.anyOf = schemas.map((schema) => toJSONSchema(schema));
184
+ result.anyOf = schemas.map((schema) => toJSONSchema(schema, options));
163
185
  return result;
164
186
  }
165
187
 
@@ -169,7 +191,7 @@ export function toJSONSchema(schema: Schema<any, any>): JSONSchema {
169
191
  // Record schemas have additionalProperties
170
192
  const valueSchema = (schema as any).valueSchema;
171
193
  if (valueSchema) {
172
- (result as any).additionalProperties = toJSONSchema(valueSchema);
194
+ (result as any).additionalProperties = toJSONSchema(valueSchema, options);
173
195
  }
174
196
  return result;
175
197
  }