Skip to content

Conversation

@DmitryBorisov-sm
Copy link
Contributor

@DmitryBorisov-sm DmitryBorisov-sm commented Nov 19, 2025

This is not just a refactoring, but actually an enhancement in different areas of the project. With this changes we are seeing following improvements:

  • The LLM has become capable of properly understanding the project, reading, and writing code. Previously, it often introduced errors by modifying OpenAPI‑generated code, which required additional iterations.
  • The updated structure is simple and intuitive, especially for people more familiar to JavaScript projects.
  • A similar approach is used in other popular libraries that rely on OpenAPI generators, where generated code is isolated from SDK abstractions. For example, AWS JS SDK v3 (https://github.com/aws/aws-sdk-js-v3) and the Kubernetes JavaScript Client (https://github.com/kubernetes-client/javascript).

The codebase itself remains unchanged for end users. The PR only includes file and folder renames, updated import/export statements, and moving types and helpers into separate files. It does not affect functionality, build process, or user‑facing behavior.

List of changes:

  • All generated code now resides in src/open-api/generated, with manual rewrites, additions and export encapsulation control layered on top within src/open-api - a cohesive OpenAPI layer used as a single unit by the rest of the project.
  • SDK abstractions formerly under orkes, core, task, and common have been moved into sdk/clients, sdk/createConductorClient, sdk/generators, and sdk/builders.
  • The monolithic code was reorganized into helper modules and shared types located at appropriate levels based on reuse.
  • Updated related import/export statements (no changes affecting user‑facing behavior).
  • Test folder v5-only was removed and all tests were moved into their domain‑specific files without additional structural test separation. Related tests are now selected via environment variable, updated package.json test scripts according to this change.

@DmitryBorisov-sm DmitryBorisov-sm marked this pull request as ready for review November 19, 2025 15:58
Copy link
Contributor

@v1r3n v1r3n left a comment

Choose a reason for hiding this comment

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

lets avoid refactors unless absolutely necessary.

Copy link
Contributor

@v1r3n v1r3n left a comment

Choose a reason for hiding this comment

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

conditional on the fact that there is no end user impact.

@DmitryBorisov-sm DmitryBorisov-sm merged commit e32a1cb into main Nov 24, 2025
7 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants