Commit Graph
7 Commits
Author SHA1 Message Date
can1357 a44f8f1f48 refactor(ai): restructured schema utilities into modular utils/schema package with unified strict mode enforcement
- Extracted schema utilities from typebox-helpers and google-shared into new modular utils/schema package with 17 exported functions.
- Consolidated OpenAI strict mode schema enforcement across codex, completions, and responses providers using unified adaptSchemaForStrict() helper.
- Refactored credential ranking from hardcoded Codex-specific logic to pluggable CredentialRankingStrategy pattern with provider implementations.
- Migrated 500+ lines of Google schema sanitization and normalization logic from google-shared.ts to dedicated utils/schema modules with expanded functionality.
2026-02-28 18:38:29 +01:00
can1357 a2193a2d05 feat(coding-agent): added lenient argument validation with circular reference detection
- Added lenientArgValidation option to tools for graceful handling of argument validation errors.
- Refactored schema reference resolution to inline all $ref definitions instead of preserving them at root level.
- Added circular reference detection during schema resolution to prevent infinite loops.
- Added AJV compilation verification to catch unresolved $ref references before tool execution.
2026-02-27 13:31:18 +01:00
can1357 e64013f76e feat(coding-agent): added graceful schema validation fallback for AI providers
- Added graceful schema validation fallback mechanism that degrades to unconstrained schemas on repeated validation failures.
- Enhanced schema enforcement across AI providers to use try-catch pattern with automatic fallback to non-strict mode on validation errors.
- Improved handling of circular, deeply nested, and non-object output schemas with stack overflow prevention and type conversion fallbacks.
- Added `tryEnforceStrictSchema()` utility function providing error-resilient schema validation with strict mode flag tracking.
2026-02-27 13:12:32 +01:00
can1357 1b4fd9cbae feat(tools): added normalizeMixedSchemaNode() to handle JTD and JSON Schema
- Added normalizeMixedSchemaNode() function to recursively convert mixed JTD and JSON Schema definitions into valid JSON Schema.
- Changed output schema validation to gracefully fall back to unconstrained JSON objects when schema is invalid instead of throwing errors.
- Fixed handling of mixed JTD and JSON Schema output definitions by normalizing them during schema conversion.
- Added comprehensive test coverage for JTD-to-JSON Schema conversion and output schema validation edge cases.
2026-02-27 12:17:03 +01:00
can1357 d357298b4e feat(ai): added schema sanitization for strict mode validation
- Added `sanitizeSchemaForStrictMode` function to normalize JSON schemas by removing non-structural keys for strict mode compatibility.
- Enhanced `enforceStrictSchema` to handle union types with object variants and type arrays containing object.
- Fixed `enforceStrictSchema` to properly handle malformed object schemas with required keys.
- Integrated schema sanitization in coding-agent submit-result tool with fallback to non-strict mode on validation errors.
2026-02-26 21:19:43 +01:00
can1357 bdb980c478 feat(coding-agent): restructured submit_result tool to nest data and error in result object
- Restructured submit_result tool parameter schema to wrap data and error fields in a nested result object.
- Updated all prompt documentation to reference the new result.data and result.error parameter paths.
- Added validation logic to ensure result is an object containing exactly one of data or error.
- Updated test cases to reflect the new nested result object parameter structure.
2026-02-26 16:56:06 +01:00
can1357 ccbcb682df fix(submit-result): enforce data-or-error union contract 2026-02-26 09:02:09 +01:00