Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@samchon
Copy link
Owner

@samchon samchon commented Nov 8, 2025

This pull request refactors the JSON schema application codebase to standardize naming, clarify documentation, and introduce a new function for generating JSON function schema applications. The changes replace the deprecated IJsonApplication type with the new IJsonSchemaApplication interface, update all references throughout the codebase, and add a new application function for generating schemas from TypeScript classes or interfaces. Documentation is improved to clarify the purpose and usage of these APIs, especially for advanced LLM integrations.

API and Interface Refactoring

  • Deprecated IJsonApplication type and replaced it with the new IJsonSchemaApplication interface, updating all usages across the codebase for consistency and future extensibility. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

New Feature: Function Schema Application

  • Introduced the application function in src/json.ts, which generates a JSON function schema application from a TypeScript class or interface, enabling advanced use cases such as custom LLM function calling schemas and code generation tools.

Documentation and Usage Improvements

  • Improved JSDoc comments for both schema and application functions, clarifying their intended use, differences, and versioning details for OpenAPI specifications. [1] [2]

Import and Export Updates

  • Updated exports in src/module.ts and imports throughout the codebase to use the new IJsonSchemaApplication interface, ensuring proper module structure and compatibility. [1] [2]

Transformer Integration

  • Registered the new application function in the transformer system, allowing it to be used as a callable transformation in the build pipeline. [1] [2]

@samchon samchon requested a review from Copilot November 8, 2025 04:49
@samchon samchon self-assigned this Nov 8, 2025
@samchon samchon added the enhancement New feature or request label Nov 8, 2025
@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 8, 2025

Open in StackBlitz

npm i https://pkg.pr.new/typia@1687

commit: 319202c

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements the json.application feature for typia, which generates JSON function schema applications from TypeScript class/interface types. The feature serves as the underlying implementation for LLM function calling schemas.

Key changes:

  • Activates the previously commented-out JsonApplicationTransformer
  • Renames __IJsonApplication to IJsonSchemaApplication for clarity
  • Adds comprehensive API documentation and a test case for the new feature

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/src/features/json.application/test_json_application_function_name.ts New test verifying function name extraction from Calculator interface
src/transformers/features/json/JsonApplicationTransformer.ts Uncommented transformer implementation with updated import references
src/transformers/CallExpressionTransformer.ts Registered json.application transformer in FUNCTORS map
src/schemas/json/IJsonSchemaApplication.ts Renamed from __IJsonApplication to IJsonSchemaApplication
src/schemas/json/IJsonApplication.ts File deleted (old deprecated interface)
src/programmers/llm/LlmApplicationProgrammer.ts Updated imports to use new IJsonSchemaApplication name
src/programmers/json/JsonApplicationProgrammer.ts Updated type references to IJsonSchemaApplication
src/module.ts Updated export to reference new interface name
src/json.ts Added json.application API with comprehensive documentation

@samchon samchon merged commit 93b0772 into master Nov 8, 2025
16 checks passed
@samchon samchon deleted the feat/json-application branch November 8, 2025 04:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants