7 Commits

Author SHA1 Message Date
can1357 668cb2115f fix(ai): scoped exclusive-required flattening to xAI 2026-08-16 02:43:35 +02:00
David Andrews 7c5ee37227 fix(ai): scoped xAI root-union flatten and quarantine 2026-08-16 02:43:35 +02:00
David Andrews 96922bd5c9 fix(ai): flattened xAI MCP exclusive-required anyOf 2026-08-16 02:43:35 +02:00
can1357 bc39ffa265 feat: introduced omptype validation package and migrated workspace dependencies
- Introduce `@oh-my-pi/omptype` as a new ArkType-compatible schema validation package featuring a lazy JIT runtime, JSON Schema emission, and compatibility adapters.
- Replace `arktype` across workspace packages and test utilities with `@oh-my-pi/omptype`.
- Add benchmark suites, tests, and documentation for the new validation engine and adapters.
- Update workspace build, test runner, and release configurations to include the new package.
2026-08-03 21:56:48 +02:00
usr-bin-roygbiv c12c282aa5 fix(computer): gate native Responses transport 2026-07-25 00:42:23 +00:00
can1357 a050474af7 feat: migrated validation schemas and tool definitions from Zod to ArkType
- Migrated all wire protocol, schema definitions, and tools validation from Zod to ArkType across multiple packages.
- Updated extension runtimes, custom tools loader, and TypeBox compatibility shim to expose and use ArkType instances.
- Added a comprehensive ArkType migration guide, validation parity tests, and helper utilities.
- Removed redundant PDF asset routing and parsing implementations from the read tool.
2026-06-18 00:59:53 +02:00
Asaf Mahlev 86523bc7cc fix(openai-responses): quarantine invalid tool schemas instead of failing the turn
One MCP tool whose input schema can't be emitted as a valid strict tool schema
for the active provider made the whole request 400, so the assistant couldn't
respond at all (#2652). `convertTools` now validates each tool's emitted
parameter schema for enum/const-vs-type contradictions that pass structural
JSON-Schema validation but the provider rejects (a non-null enum on a
type:"null" node; an enum on an array node), and drops just the offending tool
with a `logger.warn` naming the tool + schema path, keeping the rest of the
request valid.

- New `findStrictToolSchemaViolation` in utils/schema: a semantic enum/const-vs-
  type checker. The existing `isValidJsonSchema` is structural-only and accepts
  these contradictions, which is exactly why they reach the provider.
- Tests: the three reported shapes (nullable-enum, enum-on-array, anyOf/const),
  nested-path reporting, valid combinations incl. nullable unions, and the
  convertTools quarantine (bad tool dropped, others survive).
2026-06-16 02:26:35 +03:00