发布

  • refactor(core): forbid explicit any and type JSON Schema recursively (#3968)

    frostbyte_neo 发布于 2026-08-03 16:54:57 +00:00

    This PR:

    • is refreshed directly onto the current next branch now that #3966 and
      #3967 have merged; the PR contains only its intended type-safety work
    • enforces no explicit any through the standard .oxlintrc.json, pnpm
      lint, and plain oxlint --fix in lint-staged; docs remain covered by
      their nested configuration
    • replaces the loose JSONSchemaProperty in @composio/core with a
      concrete recursive interface, removing explicit any reachable through
      Tool.inputParameters and Tool.outputParameters
    • includes a minor changeset documenting the type narrowing for
      properties, default, and enum consumers
    • adds a compile-only public-contract test for recursive schemas,
      known-key validation, extension keywords, and Tool reachability
    • removes explicit any from FileToolModifier, ts-builders, core and CLI
      tests, provider tests, and json-schema-to-zod tests
    • keeps TypeScript ESLint-parity rules enabled and closes the
      tool-router example lint/typecheck gap
    • makes no lockfile changes and no runtime behavior changes

    Context

    Final PR from the original #3958 split. The migration foundations are
    already on next via #3966 and #3967, so this branch no longer carries a
    stacked base commit.

    下载附件