@qodo/sdk 0.3.1 → 0.4.0

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
@@ -3,7 +3,7 @@ export type { QodoSDKOptions, QodoSDKRunResult, QodoSDKStreamEvent, QodoSDKRunOp
3
3
  export { SdkEventType, SDK_PROTOCOL_V2, matchSdkEvent, createSdkEvent, getSdkVersion, } from './sdk/events.js';
4
4
  export type { QodoSdkEvent, SdkEventTypeName, SdkEventEnvelope, SdkInitEvent, SdkRunStartedEvent, SdkMessageDeltaEvent, SdkMessageFullEvent, SdkProgressEvent, SdkToolRequestedEvent, SdkToolApprovedEvent, SdkToolExecutedEvent, SdkErrorEvent, SdkFinalEvent, SdkEventHandlers, } from './sdk/events.js';
5
5
  export { sdkAgent, sdkCommand, sdkArgs } from './sdk/builders.js';
6
- export { zodOutputSchema, zodArgsSchema, zCoerce, parseArgsWithSchema, QodoSchemaError, } from './sdk/schemas.js';
6
+ export { zodOutputSchema, zodArgsSchema, zCoerce, zJsonValue, zJsonAny, parseArgsWithSchema, QodoSchemaError, } from './sdk/schemas.js';
7
7
  export { QodoInfoClient } from './clients/info/index.js';
8
8
  export type { QodoBackendInfo } from './clients/info/types.js';
9
9
  export { QodoSessionsClient } from './clients/sessions/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export { QodoSDK } from './sdk/index.js';
4
4
  export { SdkEventType, SDK_PROTOCOL_V2, matchSdkEvent, createSdkEvent, getSdkVersion, } from './sdk/events.js';
5
5
  // Builders (Zod-first)
6
6
  export { sdkAgent, sdkCommand, sdkArgs } from './sdk/builders.js';
7
- export { zodOutputSchema, zodArgsSchema, zCoerce, parseArgsWithSchema, QodoSchemaError, } from './sdk/schemas.js';
7
+ export { zodOutputSchema, zodArgsSchema, zCoerce, zJsonValue, zJsonAny, parseArgsWithSchema, QodoSchemaError, } from './sdk/schemas.js';
8
8
  // Info & Sessions clients
9
9
  export { QodoInfoClient } from './clients/info/index.js';
10
10
  export { QodoSessionsClient } from './clients/sessions/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAmBzB,uBAAuB;AACvB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAOjE,6BAA6B;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAYlD,UAAU;AACV,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AASzC,SAAS;AACT,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAmBzB,uBAAuB;AACvB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAOjE,6BAA6B;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAYlD,UAAU;AACV,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -12,6 +12,27 @@ import type { OutputSchema } from '../parser/types.js';
12
12
  export declare class QodoSchemaError extends Error {
13
13
  constructor(message: string);
14
14
  }
15
+ /**
16
+ * A Zod type for "any JSON primitive value" that produces valid JSON Schema.
17
+ * Use this instead of z.any() when you need flexible typing in output schemas.
18
+ *
19
+ * This produces a union of string | number | boolean | null which OpenAI accepts.
20
+ * For arrays of mixed types, use: z.array(zJsonValue())
21
+ */
22
+ export declare function zJsonValue(): z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
23
+ /**
24
+ * A Zod type for "any JSON value including objects/arrays" that produces valid JSON Schema.
25
+ * Use this instead of z.any() when you need maximum flexibility in output schemas.
26
+ *
27
+ * The generated JSON schema is compatible with OpenAI's structured output requirements.
28
+ * The TypeScript type is `unknown`, allowing any value to be passed without type casting.
29
+ * This is intentional for "passthrough" fields where the exact type doesn't matter
30
+ * at compile time.
31
+ *
32
+ * Note: For deeply nested structures, consider using more specific types for better
33
+ * type safety and clearer LLM guidance.
34
+ */
35
+ export declare function zJsonAny(): z.ZodType<unknown>;
15
36
  /**
16
37
  * Coerce common CLI-style/string inputs into typed values before validation.
17
38
  * This mirrors current validateCommandArgs behavior:
@@ -22,14 +43,15 @@ export declare class QodoSchemaError extends Error {
22
43
  export declare const zCoerce: {
23
44
  readonly boolean: () => z.ZodEffects<z.ZodBoolean, boolean, unknown>;
24
45
  readonly number: () => z.ZodEffects<z.ZodNumber, number, unknown>;
25
- readonly jsonArray: <T extends ZodTypeAny = z.ZodTypeAny>(itemSchema?: T) => z.ZodEffects<z.ZodArray<z.ZodAny, "many"> | z.ZodArray<T, "many">, any[] | T["_output"][], unknown>;
26
- readonly jsonObject: <T extends ZodRawShape = z.ZodRawShape>(shape?: T) => z.ZodEffects<z.ZodObject<T, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any> extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never, z.baseObjectInputType<T> extends infer T_2 ? { [k_1 in keyof T_2]: T_2[k_1]; } : never> | z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, any> | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any> extends infer T_3 ? { [k in keyof T_3]: T_3[k]; } : never), unknown>;
46
+ readonly jsonArray: <T extends ZodTypeAny = z.ZodTypeAny>(itemSchema?: T) => z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many"> | z.ZodArray<T, "many">, (string | number | boolean | null)[] | T["_output"][], unknown>;
47
+ readonly jsonObject: <T extends ZodRawShape = z.ZodRawShape>(shape?: T) => z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>> | z.ZodObject<T, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any> extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never, z.baseObjectInputType<T> extends infer T_2 ? { [k_1 in keyof T_2]: T_2[k_1]; } : never>, Record<string, string | number | boolean | null> | (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<T>, any> extends infer T_3 ? { [k in keyof T_3]: T_3[k]; } : never), unknown>;
27
48
  };
28
49
  /**
29
50
  * Convert a Zod object schema into the existing OutputSchema (json_schema) shape.
30
51
  * Enforces the same rules as validateOutputSchema():
31
52
  * - must have properties
32
53
  * - each property must have type + description
54
+ * - no z.any() or z.unknown() usage (produces invalid JSON Schema)
33
55
  */
34
56
  export declare function zodOutputSchema<T extends ZodTypeAny>(name: string, schema: T, strict?: boolean): OutputSchema;
35
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/sdk/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;GAQG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;yBAmBN,CAAC,SAAS,UAAU,8BAA4B,CAAC;0BAahD,CAAC,SAAS,WAAW,0BAAwB,CAAC;CAYnD,CAAC;AAgBX;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAE,OAAc,GAAG,YAAY,CAkCnH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAE3E"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/sdk/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;GAQG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AA0GD;;;;;;GAMG;AACH,wBAAgB,UAAU,oEAEzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAa7C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;yBAmBN,CAAC,SAAS,UAAU,8BAA4B,CAAC;0BAahD,CAAC,SAAS,WAAW,0BAAwB,CAAC;CAYnD,CAAC;AAgBX;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAE,OAAc,GAAG,YAAY,CA6CnH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAE3E"}
@@ -16,6 +16,134 @@ export class QodoSchemaError extends Error {
16
16
  this.name = 'QodoSchemaError';
17
17
  }
18
18
  }
19
+ /**
20
+ * Recursively detect z.any() or z.unknown() usage in a Zod schema.
21
+ * Returns paths to all occurrences (e.g., ["projects_path.items"]).
22
+ */
23
+ function detectAnyOrUnknown(schema, path = '') {
24
+ const found = [];
25
+ const def = schema?._def;
26
+ if (!def)
27
+ return found;
28
+ const typeName = def.typeName;
29
+ if (typeName === 'ZodAny' || typeName === 'ZodUnknown') {
30
+ found.push(path || '(root)');
31
+ return found;
32
+ }
33
+ // Check array items
34
+ if (typeName === 'ZodArray' && def.type) {
35
+ found.push(...detectAnyOrUnknown(def.type, path ? `${path}.items` : 'items'));
36
+ }
37
+ // Check object properties
38
+ if (typeName === 'ZodObject' && def.shape) {
39
+ const shape = typeof def.shape === 'function' ? def.shape() : def.shape;
40
+ for (const [key, value] of Object.entries(shape)) {
41
+ found.push(...detectAnyOrUnknown(value, path ? `${path}.${key}` : key));
42
+ }
43
+ }
44
+ // Check record values
45
+ if (typeName === 'ZodRecord' && def.valueType) {
46
+ found.push(...detectAnyOrUnknown(def.valueType, path ? `${path}.[value]` : '[value]'));
47
+ }
48
+ // Check optional/nullable inner types
49
+ if ((typeName === 'ZodOptional' || typeName === 'ZodNullable') && def.innerType) {
50
+ found.push(...detectAnyOrUnknown(def.innerType, path));
51
+ }
52
+ // Check union variants
53
+ if (typeName === 'ZodUnion' && def.options) {
54
+ def.options.forEach((opt, i) => {
55
+ found.push(...detectAnyOrUnknown(opt, path ? `${path}[${i}]` : `[${i}]`));
56
+ });
57
+ }
58
+ // Check discriminated union variants
59
+ if (typeName === 'ZodDiscriminatedUnion' && def.options) {
60
+ def.options.forEach((opt, i) => {
61
+ found.push(...detectAnyOrUnknown(opt, path ? `${path}[${i}]` : `[${i}]`));
62
+ });
63
+ }
64
+ // Check tuple items
65
+ if (typeName === 'ZodTuple' && def.items) {
66
+ def.items.forEach((item, i) => {
67
+ found.push(...detectAnyOrUnknown(item, path ? `${path}[${i}]` : `[${i}]`));
68
+ });
69
+ }
70
+ // Check intersection types
71
+ if (typeName === 'ZodIntersection') {
72
+ if (def.left)
73
+ found.push(...detectAnyOrUnknown(def.left, path));
74
+ if (def.right)
75
+ found.push(...detectAnyOrUnknown(def.right, path));
76
+ }
77
+ // Check lazy types (for recursive schemas)
78
+ if (typeName === 'ZodLazy' && def.getter) {
79
+ try {
80
+ found.push(...detectAnyOrUnknown(def.getter(), path));
81
+ }
82
+ catch {
83
+ // Ignore errors from lazy evaluation
84
+ }
85
+ }
86
+ // Check effects (refinements, transforms)
87
+ if (typeName === 'ZodEffects' && def.schema) {
88
+ found.push(...detectAnyOrUnknown(def.schema, path));
89
+ }
90
+ // Check default wrappers
91
+ if (typeName === 'ZodDefault' && def.innerType) {
92
+ found.push(...detectAnyOrUnknown(def.innerType, path));
93
+ }
94
+ // Check catch wrappers
95
+ if (typeName === 'ZodCatch' && def.innerType) {
96
+ found.push(...detectAnyOrUnknown(def.innerType, path));
97
+ }
98
+ // Check branded types
99
+ if (typeName === 'ZodBranded' && def.type) {
100
+ found.push(...detectAnyOrUnknown(def.type, path));
101
+ }
102
+ // Check pipeline
103
+ if (typeName === 'ZodPipeline') {
104
+ if (def.in)
105
+ found.push(...detectAnyOrUnknown(def.in, path));
106
+ if (def.out)
107
+ found.push(...detectAnyOrUnknown(def.out, path));
108
+ }
109
+ return found;
110
+ }
111
+ /**
112
+ * A Zod type for "any JSON primitive value" that produces valid JSON Schema.
113
+ * Use this instead of z.any() when you need flexible typing in output schemas.
114
+ *
115
+ * This produces a union of string | number | boolean | null which OpenAI accepts.
116
+ * For arrays of mixed types, use: z.array(zJsonValue())
117
+ */
118
+ export function zJsonValue() {
119
+ return z.union([z.string(), z.number(), z.boolean(), z.null()]);
120
+ }
121
+ /**
122
+ * A Zod type for "any JSON value including objects/arrays" that produces valid JSON Schema.
123
+ * Use this instead of z.any() when you need maximum flexibility in output schemas.
124
+ *
125
+ * The generated JSON schema is compatible with OpenAI's structured output requirements.
126
+ * The TypeScript type is `unknown`, allowing any value to be passed without type casting.
127
+ * This is intentional for "passthrough" fields where the exact type doesn't matter
128
+ * at compile time.
129
+ *
130
+ * Note: For deeply nested structures, consider using more specific types for better
131
+ * type safety and clearer LLM guidance.
132
+ */
133
+ export function zJsonAny() {
134
+ const primitives = z.union([z.string(), z.number(), z.boolean(), z.null()]);
135
+ // The Zod schema defines the JSON schema for OpenAI validation.
136
+ // We cast to ZodType<unknown> for maximum TypeScript flexibility -
137
+ // any value can be assigned without type casting.
138
+ return z.union([
139
+ z.string(),
140
+ z.number(),
141
+ z.boolean(),
142
+ z.null(),
143
+ z.array(primitives),
144
+ z.record(z.string(), primitives),
145
+ ]);
146
+ }
19
147
  /**
20
148
  * Coerce common CLI-style/string inputs into typed values before validation.
21
149
  * This mirrors current validateCommandArgs behavior:
@@ -55,7 +183,7 @@ export const zCoerce = {
55
183
  }
56
184
  }
57
185
  return v;
58
- }, itemSchema ? z.array(itemSchema) : z.array(z.any())),
186
+ }, itemSchema ? z.array(itemSchema) : z.array(zJsonValue())),
59
187
  jsonObject: (shape) => z.preprocess((v) => {
60
188
  if (v !== null && typeof v === 'object' && !Array.isArray(v))
61
189
  return v;
@@ -68,7 +196,7 @@ export const zCoerce = {
68
196
  }
69
197
  }
70
198
  return v;
71
- }, shape ? z.object(shape) : z.record(z.any())),
199
+ }, shape ? z.object(shape) : z.record(z.string(), zJsonValue())),
72
200
  };
73
201
  function collectMissingDescriptionsFromJsonSchema(schema) {
74
202
  const missing = [];
@@ -88,8 +216,17 @@ function collectMissingDescriptionsFromJsonSchema(schema) {
88
216
  * Enforces the same rules as validateOutputSchema():
89
217
  * - must have properties
90
218
  * - each property must have type + description
219
+ * - no z.any() or z.unknown() usage (produces invalid JSON Schema)
91
220
  */
92
221
  export function zodOutputSchema(name, schema, strict = true) {
222
+ // Detect z.any()/z.unknown() usage BEFORE conversion - these produce invalid JSON schemas
223
+ const anyPaths = detectAnyOrUnknown(schema);
224
+ if (anyPaths.length > 0) {
225
+ throw new QodoSchemaError(`Output schema contains z.any() or z.unknown() at: ${anyPaths.join(', ')}. ` +
226
+ `These types produce incomplete JSON schemas that OpenAI rejects (arrays need 'items', records need typed 'additionalProperties'). ` +
227
+ `Use specific types like z.string(), z.number(), z.object({...}), z.record(z.string(), zJsonValue()), ` +
228
+ `or for flexible typing: zJsonValue() (primitives) or zJsonAny() (primitives + arrays/objects).`);
229
+ }
93
230
  const json = zodToJsonSchema(schema, { name });
94
231
  // zod-to-json-schema often returns {$ref:'#/definitions/<name>'} at the top.
95
232
  // Our existing validator expects the *resolved* object schema with properties.
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/sdk/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAqD,MAAM,KAAK,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;GAQG;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,GAAG,EAAE,CACZ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,IAAI,OAAO,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC9B,IAAI,CAAC,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAEjB,MAAM,EAAE,GAAG,EAAE,CACX,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAEhB,SAAS,EAAE,CAAoC,UAAc,EAAE,EAAE,CAC/D,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAEzD,UAAU,EAAE,CAAsC,KAAS,EAAE,EAAE,CAC7D,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;CACzC,CAAC;AAEX,SAAS,wCAAwC,CAAC,MAAW;IAC3D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,EAAE,UAAU,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAExD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAQ,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAuB,IAAY,EAAE,MAAS,EAAE,SAAkB,IAAI;IACnG,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,QAAQ,GAAI,IAAY,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,IAAK,IAAY,CAAC;IAErE,4EAA4E;IAC5E,MAAM,OAAO,GAAG,wCAAwC,CAAC,QAAQ,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CACvB,6CAA6C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACjE,mHAAmH,CACtH,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAiB;QACxB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,IAAI;YACJ,MAAM;YACN,MAAM,EAAE,QAAe;SACxB;KACF,CAAC;IAEF,mEAAmE;IACnE,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAa,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,IAAI,eAAe,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAuB,MAAS,EAAE,IAAa;IAChF,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAEjC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,eAAe,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAwB,KAAQ;IAC3D,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/sdk/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qodo/sdk",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Qodo SDK for building AI-powered agents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",