Skip to content

Conversation

@json-choi
Copy link
Collaborator

@json-choi json-choi commented Aug 3, 2025

close #207

Summary by CodeRabbit

  • Documentation
    • All comments, documentation strings, and user-facing messages have been translated from Korean to English across the codebase, including error messages, log outputs, and JSDoc comments.
    • Prompt text and formatting in user-facing scripts have been updated for improved clarity and consistency in English.
    • Minor wording updates in API specification descriptions for better English clarity.
    • No changes were made to application functionality, logic, or exported/public interfaces.

@json-choi json-choi linked an issue Aug 3, 2025 that may be closed by this pull request
@coderabbitai
Copy link

coderabbitai bot commented Aug 5, 2025

Walkthrough

This update translates all code comments, documentation strings, and user-facing messages from Korean to English across the codebase. No functional, structural, or logic changes are introduced. All method signatures, exported entities, and code behavior remain unchanged, with only the explanatory and error message text updated for English readability and consistency.

Changes

Cohort / File(s) Change Summary
Config and Package Handling
lib/config/readPackageJson.ts
Translated comments and error messages from Korean to English; no logic changes.
Test Framework DSL Adapters
lib/dsl/adapters/TestFramework.ts, lib/dsl/adapters/UserTestInterface.ts, lib/dsl/adapters/index.ts
All comments and documentation translated from Korean to English; no code or logic changes.
OpenAPI Generator and Event Collection
lib/dsl/generator/OpenAPIGenerator.ts, lib/dsl/generator/TestEventManager.ts, lib/dsl/generator/TestResultCollector.ts, lib/dsl/generator/commands.ts, lib/dsl/generator/index.ts
All comments, documentation, and log messages translated to English; error messages updated; no functional changes.
OpenAPI Builder: Schema, Operation, and Related Utilities
lib/dsl/generator/builders/SchemaBuilder.ts, lib/dsl/generator/builders/operation/ParameterBuilder.ts, lib/dsl/generator/builders/operation/RequestBodyBuilder.ts, lib/dsl/generator/builders/operation/ResponseBuilder.ts, lib/dsl/generator/builders/operation/SecurityBuilder.ts, lib/dsl/generator/builders/operation/UtilityBuilder.ts, lib/dsl/generator/builders/operation/index.ts, lib/dsl/generator/builders/operation/interfaces.ts, lib/dsl/generator/builders/schema/BaseSchemaGenerator.ts, lib/dsl/generator/builders/schema/SchemaFactory.ts, lib/dsl/generator/builders/schema/constants.ts, lib/dsl/generator/builders/schema/generators/ArraySchemaGenerator.ts, lib/dsl/generator/builders/schema/generators/BooleanSchemaGenerator.ts, lib/dsl/generator/builders/schema/generators/DSLFieldSchemaGenerator.ts, lib/dsl/generator/builders/schema/generators/NumberSchemaGenerator.ts, lib/dsl/generator/builders/schema/generators/ObjectSchemaGenerator.ts, lib/dsl/generator/builders/schema/generators/StringSchemaGenerator.ts, lib/dsl/generator/builders/schema/index.ts, lib/dsl/generator/builders/schema/interfaces.ts
All comments, documentation, and log messages translated from Korean to English; no code logic or signature changes.
OpenAPI Types and Test Results
lib/dsl/generator/types/OpenAPITypes.ts, lib/dsl/generator/types/TestResult.ts
Translated all comments from Korean to English; interface and type definitions unchanged.
DSL Interface and Test Builders
lib/dsl/interface/ItdocBuilderEntry.ts, lib/dsl/interface/describeAPI.ts, lib/dsl/interface/field.ts, lib/dsl/interface/itDoc.ts, lib/dsl/interface/testContext.ts, lib/dsl/test-builders/AbstractTestBuilder.ts, lib/dsl/test-builders/RequestBuilder.ts, lib/dsl/test-builders/ResponseBuilder.ts, lib/dsl/test-builders/RootBuilder.ts, lib/dsl/test-builders/TestCaseConfig.ts, lib/dsl/test-builders/validateResponse.ts
All comments and documentation translated to English; error messages in itDoc updated; no functional changes.
Utility Functions
lib/utils/pathResolver.ts, lib/utils/specParser.ts
JSDoc comments translated from Korean to English; no code changes.
LLM Script Loader and Parser
script/llm/loader/index.ts, script/llm/parser/analyzer/branchAnalyzer.ts, script/llm/parser/analyzer/responseAnalyzer.ts, script/llm/parser/analyzer/returnValueExtractor.ts, script/llm/parser/analyzer/variableAnalyzer.ts, script/llm/parser/collector/routeCollector.ts, script/llm/parser/index.ts, script/llm/parser/utils/extractValue.ts, script/llm/parser/utils/fileParser.ts
All JSDoc comments and documentation strings translated to English; prompt text formatting and whitespace in prompt/index.ts improved; no logic changes.
Documentation Generation Script
script/makedocs/index.ts
All user-facing strings, logger messages, and comments translated to English; no changes to logic or exported entities.

Sequence Diagram(s)

No sequence diagrams are generated, as the changes are limited to comment and message translations without affecting control flow or feature logic.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Assessment against linked issues

Objective Addressed Explanation
Translate all JSDoc comments and code documentation to include English alongside Korean (bilingual support) (#207) The PR translates all Korean comments to English but does not add bilingual (both Korean and English) comments as specified in the issue.

Assessment against linked issues: Out-of-scope changes

No out-of-scope changes detected. All changes align with the objective of updating comments and messages for English readability.

Poem

In fields of code where comments bloom,
The rabbit hopped and swept the room.
Korean whispers turned to prose,
Now English everywhere it goes!
No logic changed, just words anew—
The docs now clear for all the crew.
🐇✨

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9c02da6 and a8b08d4.

📒 Files selected for processing (2)
  • lib/dsl/generator/builders/operation/index.ts (2 hunks)
  • lib/dsl/generator/builders/operation/interfaces.ts (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • lib/dsl/generator/builders/operation/interfaces.ts
  • lib/dsl/generator/builders/operation/index.ts
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch issues/207

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@json-choi json-choi marked this pull request as ready for review August 5, 2025 16:50
@json-choi json-choi requested review from PENEKhun and wnghdcjfe and removed request for PENEKhun August 5, 2025 16:50
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (50)
script/llm/loader/index.ts (1)

24-29: Two Korean error messages remain – complete the translation pass
Lines 53 and 62 still log Korean strings, which diverges from the PR goal of fully converting user-facing text to English.

-                `${type} 파일을 찾을 수 없습니다. 기본 경로: ${defaultPaths[type].join(", ")}`,
+                `Cannot locate ${type} file. Searched default paths: ${defaultPaths[type].join(", ")}`,
...
-        logger.error(`${type} 파일이 존재하지 않습니다: ${resolvedPath}`)
+        logger.error(`${type} file does not exist: ${resolvedPath}`)
lib/dsl/interface/testContext.ts (1)

22-25: Minor wording nitpick
Consider “fewer than 8 characters” instead of “less than 8 characters” to match typical English grammar for countable nouns.

lib/dsl/interface/ItdocBuilderEntry.ts (1)

47-51: Doc-param names out of sync with interface fields
The JSDoc lists “name” but the actual property is summary. Update the list for accuracy.

- * @param name API name (one-line description)
- * @param tag API tag
- * @param description API detailed description
+ * @param summary One-line API summary
+ * @param tag     API tag
+ * @param description Detailed API description
lib/dsl/interface/field.ts (2)

37-41: Align @param type annotations with the actual parameter types

example is declared as T | ((value: T) => void), but the doc block still says
{object | function} which discards the generic information. Updating the JSDoc keeps IntelliSense accurate and avoids confusion for consumers of the library.

- * @param example {object | function} Example value or validation function for the field
+ * @param example {T | (value: T) => void} Example value, or a validator that receives the value

47-49: Preserve the generic in the return type

The implementation currently casts to DSLField<FIELD_TYPES>, losing the specific type T that callers supply.
Although unchanged by this PR, the accompanying JSDoc now highlights the mismatch in the @returns line. Returning DSLField<T> is both type-safe and self-documenting.

): DSLField<FIELD_TYPES> {
-    return { description, example, required } as DSLField<FIELD_TYPES>
+    return { description, example, required } as DSLField<T>
}
script/llm/parser/analyzer/branchAnalyzer.ts (1)

22-26: Minor wording tweak for clarity

The first sentence could read more naturally as “Determines the branch key for a conditional call.” Consider tightening it if you touch the doc block again; otherwise, looks good.

script/llm/parser/analyzer/variableAnalyzer.ts (1)

22-26: Add @returns to document the function output

The JSDoc now describes the parameters but omits the fact that the function is void (it mutates ret). Explicitly documenting that it returns nothing avoids readers assuming a meaningful return value.

lib/dsl/interface/describeAPI.ts (1)

32-33: Replace TODO with an explicit Express type

The app parameter is routinely an Express.Application. Replacing the unknown type removes a lint warning and improves editor support.

-    app: unknown, // TODO: Type specification for this
+    app: import("express").Application,
lib/dsl/generator/builders/operation/interfaces.ts (2)

20-30: Polish JSDoc wording and style

Use an indefinite article and add a dash after the parameter name for consistency with standard JSDoc style.

 /**
- * Creates OpenAPI Operation object from test results.
- * @param result Test result
+ * Creates an OpenAPI Operation object from test results.
+ * @param result - Test result
  * @returns OpenAPI Operation object
  */

37-42: Apply the same dash pattern to parameter docs

For consistency with the previous block:

- * @param result Test result
+ * @param result - Test result
lib/dsl/test-builders/validateResponse.ts (1)

20-25: Add a short description to the @throws tag

Clarifies generated documentation and keeps style uniform:

- * @throws {Error} Throws an error when validation fails.
+ * @throws {Error} When validation fails.
script/llm/parser/collector/routeCollector.ts (1)

18-19: Translate remaining Korean fragment

If full English localisation is desired, consider updating the inline directive comment:

-// @ts-expect-error - CommonJS/ES modules 호환성 이슈로 인한 타입 에러 무시
+// @ts-expect-error – Suppress type errors caused by CommonJS/ESM interop
lib/config/readPackageJson.ts (1)

65-66: Optional: streamline log message

Slightly shorter wording keeps logs concise:

-logger.error("Error occurred while reading package.json.", error)
+logger.error("Error reading package.json.", error)
script/llm/parser/analyzer/responseAnalyzer.ts (4)

24-27: Consider adding an explicit @returns tag

All helper functions here return void, but the absence of an explicit @returns {void} makes the documentation slightly incomplete and can confuse tooling that relies on JSDoc.


35-41: Minor doc completeness

Same remark as above – adding @returns {void} would finish the contract description for handleJsonResponse.


60-66: Add return information

handleHeaderResponse is void-returning; add the tag for completeness and consistency with other docs in the codebase.


101-107: analyzeResponseCall JSDoc lacks return clause

The function is void-returning, but an explicit

* @returns {void}

helps automated doc generators.

script/llm/parser/utils/extractValue.ts (8)

24-27: Return type can be more specific

@returns {object} is vague. Using Record<string, any> (or unknown) better conveys intent and works with TS tooling.


55-57: Missing @returns description

Add

* @returns {any} Extracted literal or `undefined`

for completeness.


65-72: Document return value

extractObjectValue description lacks @returns. Consider documenting that it returns a plain object representing the literal structure.


134-140: Include return clause for array extractor

As above, add @returns {any[]} (or more precise) to keep docs uniform.


180-186: Return tag missing

extractIdentifierValue’s header should include

* @returns {any}

210-217: Great summary, but no return statement in doc

Add @returns for extractValue; the header later already contains one, so you can safely drop the duplicated short summary line and keep the detailed block.


248-256: Spread resolver docs need return info

Add @returns {any|null} to clarify possible null-return.


337-344: Return value section

findVariableValue docs list params but not the return; add
@returns {any}.

script/llm/prompt/index.ts (1)

94-98: any can be narrowed

@param {any} content could be Record<string, unknown> to avoid swallowing type errors.

script/llm/parser/analyzer/returnValueExtractor.ts (6)

26-30: Good translation – consider period

Sentence ends without a period; add one for consistency.


50-54: Return wording

“Whether null values are included” → “Returns true if any property (recursively) is null or undefined.”


64-69: Tiny grammar nit

“Return value structure” → “Return-value structure” or “Structure of the return value”.


118-123: Return description missing

Add @returns {any} to complete the header.


128-132: Comment heading punctuation

The line ends with a colon but the next line starts a new sentence; consider removing the colon or continuing the sentence.


155-158: Parentheses style

Prefer “Prioritises” or “Gives priority to” instead of “Prioritizes” to match the rest of the British-English spelling used elsewhere.

lib/dsl/adapters/UserTestInterface.ts (1)

20-22: Minor wording nitpick

Consider adding a definite article for smoother reading:

- * Defines common DSL interface.
+ * Defines the common DSL interface.

Not required, but it slightly improves flow.

lib/dsl/generator/index.ts (1)

33-35: Consistent wording / tense

Line 34 uses the passive voice (“will be skipped”), while Line 38 logs in the present progressive (“will be skipped”). To keep logs succinct and mirror the doc comment, you could drop the future tense in the debug line:

- logger.debug("Test failure recorded, OAS generation will be skipped.")
+ logger.debug("Test failure recorded; automatic OAS generation skipped.")

Pure style—feel free to ignore.

Also applies to: 38-38

lib/dsl/generator/TestResultCollector.ts (5)

20-20: Grammar tweak

Add a definite article for clarity:

-// Variable to store singleton instance
+// Variable to store the singleton instance

24-24: Title case suggestion

“Collector” is already in the type name; consider a shorter header such as:

- * Test result collector class
+ * Collects test results (singleton pattern)

Optional.


30-32: Hyphen usage

Dash reads more naturally as an em-dash:

- * Constructor - set as private for singleton pattern
+ * Constructor — private for singleton pattern

38-39: Redundant wording

Both lines mention “singleton instance.” You can omit “instance” in the description:

- * Returns the singleton instance.
+ * Returns the singleton.

Purely optional.


50-52: Parameter wording

Minor tweak for subject–verb agreement:

- * Collects test results
+ * Collects a test result
lib/dsl/test-builders/AbstractTestBuilder.ts (1)

21-23: Streamline description

A shorter version avoids the double “builder” wording:

- * Abstract class containing common settings for builder classes under test-builders.
+ * Base class holding common settings for test builders.

Optional; current text is clear.

lib/dsl/generator/builders/schema/generators/DSLFieldSchemaGenerator.ts (1)

21-34: English translation reads well – minor type-safety improvement outside scope

The updated comments look correct.
While reviewing, I noticed const extendedField = field as any (Line 71) in unchanged code. At some point it would be worth introducing a narrowing helper or a dedicated interface to remove the any cast, but that is outside the scope of this docs-only PR.

Also applies to: 36-41, 52-57

lib/dsl/generator/builders/schema/SchemaFactory.ts (1)

73-94: Some Korean comments still remain – complete the translation

Lines 73-94 still contain Korean (// DSL 필드 처리, // 배열 처리, etc.).
Consider translating them for full consistency:

-        // DSL 필드 처리
+        // Handle DSL fields
...
-        // 배열 처리
+        // Array handling
...
-        // 객체 처리
+        // Object handling
...
-        // 기본 타입 처리 (문자열, 숫자, 불리언)
+        // Primitive types (string, number, boolean)
...
-        // 알 수 없는 타입인 경우
+        // Fallback for unknown types
lib/dsl/generator/builders/schema/interfaces.ts (1)

22-26: Document default behaviour for includeExample for consistency

createSchema explicitly documents its default (true), but generateSchema does not. Add the same note so consumers know what happens when the parameter is omitted.

- * @param includeExample Whether to include example field in schema
+ * @param includeExample Whether to include example field in schema (default: true)
lib/dsl/test-builders/RequestBuilder.ts (1)

28-30: Broaden accepted header types

The config allows plain-string headers as well as DSLField<string>, but the method type excludes plain strings.

-public header(headers: Record<string, DSLField<string>>): this {
+public header(headers: Record<string, DSLField<string> | string>): this {
lib/dsl/test-builders/TestCaseConfig.ts (1)

30-31: Minor: clarify optional flag in JSDoc

apiOptions is already optional by the ?, so the comment could read “API documentation options (optional)”.

lib/dsl/generator/builders/schema/BaseSchemaGenerator.ts (1)

21-28: Mismatch between interface and abstract class signature

SchemaGenerator.generateSchema includes the optional includeExample parameter, but the abstract declaration here omits it. While TypeScript’s structural typing allows this, mirroring the interface would avoid confusion for implementers.

-public abstract generateSchema(value: unknown): Record<string, unknown>
+public abstract generateSchema(
+  value: unknown,
+  includeExample?: boolean
+): Record<string, unknown>
lib/dsl/generator/builders/schema/generators/StringSchemaGenerator.ts (1)

24-27: Clarify value type in JSDoc

value is declared as unknown, and the implementation handles the non-string case by returning { type: "string" }. Stating “String value” in the docblock might mislead readers into thinking only strings are accepted. Recommend rephrasing to something like “Value to analyse (if it is a string, additional metadata is inferred)”.

lib/dsl/generator/commands.ts (1)

70-72: Preserve full error context in logs

Only the error message is logged, losing the stack trace that would aid debugging. Consider passing the entire error object to the logger or appending error.stack.

-const errorMessage = error instanceof Error ? error.message : "Unknown error occurred"
-logger.error(`Failed to export OpenAPI Specification: ${errorMessage}`)
+logger.error(
+  `Failed to export OpenAPI Specification: ${
+    error instanceof Error ? error.message : "Unknown error occurred"
+  }`,
+  { error } // or simply `logger.error(error)`
+)
lib/dsl/generator/OpenAPIGenerator.ts (2)

168-172: Fallback summary string still contains Korean

operationObj.summary falls back to
${method.toUpperCase()} ${path} 요청

The word 요청 (“request”) should be translated for consistency with the rest of the update.

- representativeResult.options?.summary || `${method.toUpperCase()} ${path} 요청`
+ representativeResult.options?.summary || `${method.toUpperCase()} ${path} request`

374-376: Hard-coded example keys remain in Korean

exampleKey uses "에러 응답" / "성공 응답" (“error response” / “success response”).
Consider translating these literals to keep all user-facing text in English.

- const exampleKey =
-     result.testSuiteDescription || (isErrorStatus ? "에러 응답" : "성공 응답")
+ const exampleKey =
+     result.testSuiteDescription || (isErrorStatus ? "Error response" : "Success response")
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9f8ddfa and fe1b8dc.

📒 Files selected for processing (54)
  • lib/config/readPackageJson.ts (2 hunks)
  • lib/dsl/adapters/TestFramework.ts (1 hunks)
  • lib/dsl/adapters/UserTestInterface.ts (1 hunks)
  • lib/dsl/adapters/index.ts (3 hunks)
  • lib/dsl/generator/OpenAPIGenerator.ts (7 hunks)
  • lib/dsl/generator/TestEventManager.ts (4 hunks)
  • lib/dsl/generator/TestResultCollector.ts (2 hunks)
  • lib/dsl/generator/builders/SchemaBuilder.ts (1 hunks)
  • lib/dsl/generator/builders/operation/ParameterBuilder.ts (6 hunks)
  • lib/dsl/generator/builders/operation/RequestBodyBuilder.ts (2 hunks)
  • lib/dsl/generator/builders/operation/ResponseBuilder.ts (5 hunks)
  • lib/dsl/generator/builders/operation/SecurityBuilder.ts (2 hunks)
  • lib/dsl/generator/builders/operation/UtilityBuilder.ts (3 hunks)
  • lib/dsl/generator/builders/operation/index.ts (2 hunks)
  • lib/dsl/generator/builders/operation/interfaces.ts (1 hunks)
  • lib/dsl/generator/builders/schema/BaseSchemaGenerator.ts (1 hunks)
  • lib/dsl/generator/builders/schema/SchemaFactory.ts (2 hunks)
  • lib/dsl/generator/builders/schema/constants.ts (1 hunks)
  • lib/dsl/generator/builders/schema/generators/ArraySchemaGenerator.ts (1 hunks)
  • lib/dsl/generator/builders/schema/generators/BooleanSchemaGenerator.ts (2 hunks)
  • lib/dsl/generator/builders/schema/generators/DSLFieldSchemaGenerator.ts (2 hunks)
  • lib/dsl/generator/builders/schema/generators/NumberSchemaGenerator.ts (1 hunks)
  • lib/dsl/generator/builders/schema/generators/ObjectSchemaGenerator.ts (1 hunks)
  • lib/dsl/generator/builders/schema/generators/StringSchemaGenerator.ts (1 hunks)
  • lib/dsl/generator/builders/schema/index.ts (1 hunks)
  • lib/dsl/generator/builders/schema/interfaces.ts (1 hunks)
  • lib/dsl/generator/commands.ts (2 hunks)
  • lib/dsl/generator/index.ts (1 hunks)
  • lib/dsl/generator/types/OpenAPITypes.ts (2 hunks)
  • lib/dsl/generator/types/TestResult.ts (2 hunks)
  • lib/dsl/interface/ItdocBuilderEntry.ts (2 hunks)
  • lib/dsl/interface/describeAPI.ts (1 hunks)
  • lib/dsl/interface/field.ts (3 hunks)
  • lib/dsl/interface/itDoc.ts (1 hunks)
  • lib/dsl/interface/testContext.ts (1 hunks)
  • lib/dsl/test-builders/AbstractTestBuilder.ts (1 hunks)
  • lib/dsl/test-builders/RequestBuilder.ts (3 hunks)
  • lib/dsl/test-builders/ResponseBuilder.ts (1 hunks)
  • lib/dsl/test-builders/RootBuilder.ts (1 hunks)
  • lib/dsl/test-builders/TestCaseConfig.ts (1 hunks)
  • lib/dsl/test-builders/validateResponse.ts (3 hunks)
  • lib/utils/pathResolver.ts (2 hunks)
  • lib/utils/specParser.ts (2 hunks)
  • script/llm/loader/index.ts (1 hunks)
  • script/llm/parser/analyzer/branchAnalyzer.ts (2 hunks)
  • script/llm/parser/analyzer/responseAnalyzer.ts (4 hunks)
  • script/llm/parser/analyzer/returnValueExtractor.ts (5 hunks)
  • script/llm/parser/analyzer/variableAnalyzer.ts (2 hunks)
  • script/llm/parser/collector/routeCollector.ts (4 hunks)
  • script/llm/parser/index.ts (1 hunks)
  • script/llm/parser/utils/extractValue.ts (8 hunks)
  • script/llm/parser/utils/fileParser.ts (5 hunks)
  • script/llm/prompt/index.ts (3 hunks)
  • script/makedocs/index.ts (2 hunks)
🔇 Additional comments (46)
lib/dsl/generator/builders/schema/constants.ts (1)

18-19: Translation looks good – no further action needed
English phrasing is clear and concise, matching the existing style used elsewhere in the file.

lib/dsl/generator/types/OpenAPITypes.ts (1)

18-19: Comment translation reads well
No issues spotted; types remain untouched.

lib/dsl/interface/itDoc.ts (1)

26-31: Translation looks good – no further action needed

script/llm/parser/utils/fileParser.ts (1)

23-29: Documentation looks good

The English JSDoc is clear and accurately reflects the implementation. No further action needed.

script/llm/prompt/index.ts (4)

19-30: Docs translated correctly – LGTM


66-69: Escaped hyphen guidance is clear

Good clarification about quoting hyphen-containing header keys.


110-116: Example block translated well – no issues


117-120: Consistent style

Nice job keeping rule list succinct and imperative.

script/llm/parser/index.ts (1)

24-28: Docstring approved

Clear, concise, and matches function behaviour.

lib/dsl/adapters/TestFramework.ts (1)

18-19: Comment translation looks good

The English description is concise and accurate.

lib/dsl/test-builders/RootBuilder.ts (1)

21-27: Docs translation looks good

The English JSDoc is concise and accurately conveys the intent of the class and method. No further action needed.

lib/dsl/generator/builders/operation/RequestBodyBuilder.ts (2)

25-34: Documentation update is clear

The new English comments accurately describe the responsibility of the builder and its method parameters/returns.


61-75: getContentType ignores header-name case – make lookup case-insensitive

OpenAPI generation will silently fall back to "application/json" when callers pass "Content-Type" (camel-case) or any other case variant. Consider normalising header keys so all expected variants are honoured.

-        if (request.headers && "content-type" in request.headers) {
-            const contentType = request.headers["content-type"]
+        if (request.headers) {
+            // Find `content-type` header in a case-insensitive manner
+            const entry = Object.entries(request.headers).find(
+                ([key]) => key.toLowerCase() === "content-type",
+            )
+            if (entry) {
+                const contentType = entry[1]

[ suggest_essential_refactor ]

lib/dsl/generator/TestEventManager.ts (1)

24-31: Translated class-level comment reads well

The description clearly explains the responsibilities and lifecycle hooks of TestEventManager.

lib/dsl/generator/builders/operation/SecurityBuilder.ts (1)

22-31: Security builder JSDoc is now clear

English translation is accurate and consistent with existing terminology.

lib/dsl/generator/builders/schema/generators/ObjectSchemaGenerator.ts (1)

22-41: Object-schema generator comments look good

The updated comments precisely describe constructor arguments and method behaviour.

lib/dsl/generator/builders/schema/generators/ArraySchemaGenerator.ts (1)

20-30: Comments successfully translated – no further action required

The new JSDoc blocks are clear, concise, and correctly worded. No functional code has been touched, so nothing else to validate here.

Also applies to: 35-40

lib/dsl/generator/builders/schema/index.ts (1)

20-35: Documentation export comments look good

All Korean phrases are now in English and accurately describe the exported symbols. No logic has changed and the file continues to re-export exactly the same items, so this segment is fine.

Also applies to: 36-60

lib/dsl/test-builders/ResponseBuilder.ts (1)

27-30: Primary class comment translated – one Korean inline comment remains

The class-level description is now in English 👍.
However, Line 181 still contains a Korean inline comment (// 검증을 위한 예상 응답 본문을 우선으로 사용). For consistency with the PR objective, please translate this remaining comment as well.

lib/dsl/generator/builders/schema/generators/BooleanSchemaGenerator.ts (1)

19-28: Boolean generator docs updated correctly

The English JSDoc accurately reflects behaviour; no logic altered. Nothing further to do.

Also applies to: 30-42

lib/dsl/generator/builders/operation/ResponseBuilder.ts (5)

24-33: Comments-only change ‑ no issues

The added English JSDoc is clear, accurate, and matches the underlying logic.


47-62: Comments-only change ‑ no issues

Header-filter list comment now reads well in English.


65-65: Comments-only change ‑ no issues


75-78: Comments-only change ‑ no issues


109-112: Comments-only change ‑ no issues

lib/utils/specParser.ts (2)

28-31: Comments-only change ‑ no issues

The updated description correctly explains the front-matter parsing.


53-56: Comments-only change ‑ no issues

lib/dsl/generator/builders/operation/UtilityBuilder.ts (4)

22-29: Comments-only change ‑ no issues


36-36: Comments-only change ‑ no issues


58-61: Comments-only change ‑ no issues


70-77: Comments-only change ‑ no issues

lib/dsl/adapters/index.ts (4)

22-24: Comments-only change ‑ no issues


47-49: Comments-only change ‑ no issues


55-57: Comments-only change ‑ no issues


75-85: Comments-only change ‑ no issues

lib/dsl/generator/builders/schema/SchemaFactory.ts (4)

27-36: Comments-only change ‑ no issues


42-42: Comments-only change ‑ no issues


54-57: Comments-only change ‑ no issues


63-67: Comments-only change ‑ no issues

lib/dsl/generator/builders/schema/generators/NumberSchemaGenerator.ts (1)

24-28: No action needed – comment translation looks good

The JSDoc correctly mirrors the method signature and behaviour.

lib/utils/pathResolver.ts (1)

21-25: LGTM – documentation matches behaviour

lib/dsl/generator/builders/operation/ParameterBuilder.ts (1)

24-34: LGTM – comment translations look correct

lib/dsl/generator/types/TestResult.ts (1)

20-38: Documentation accurately translated

The field descriptions now clearly describe each property; no further action needed.

lib/dsl/generator/builders/SchemaBuilder.ts (1)

21-23: Documentation update is clear and accurate

The revised JSDoc is concise and fully translated. No functional impact observed.

script/makedocs/index.ts (1)

38-44: Nice touch: step-wise log messages translated

The updated English log entries improve clarity of the generation pipeline. ✅

lib/dsl/generator/builders/operation/index.ts (1)

33-47: Comment translation looks good

All public JSDoc blocks are now English and accurately describe behaviour.

Copy link
Collaborator

@wnghdcjfe wnghdcjfe left a comment

Choose a reason for hiding this comment

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

The common part repeats over and over again.
Schemas and Schemes are used interchangeably.

It should be divided into two parts and written correctly.
You also need to change the name of the file or function.

terminology meaning example
Schema Data Structure, Format, Design Chart JSON Schema, DB Schema
Scheme Procedures, Methods, Protocols OAuth2 scheme, API key scheme

In node.js, a scheme is typically used as the meaning of a capture protocol.
https://nodejs.org/api/url.html
When you look at mongodb - mongoose, you write schema for the data format.
https://mongoosejs.com/docs/guide.html

@json-choi json-choi self-assigned this Aug 6, 2025
@json-choi json-choi requested a review from wnghdcjfe August 6, 2025 04:42
@json-choi json-choi merged commit 1eafc95 into develop Aug 6, 2025
2 checks passed
@PENEKhun PENEKhun deleted the issues/207 branch August 8, 2025 07:08
PENEKhun pushed a commit that referenced this pull request Aug 8, 2025
* docs: translate Korean JSDoc to English

* docs: translate Korean JSDoc to English

* docs: Add JSDoc type annotations and complete English translation

* fix: edit logger text

* chore: update test result parameter

* docs: schemas -> schemes
@coderabbitai coderabbitai bot mentioned this pull request Oct 6, 2025
This was referenced Oct 8, 2025
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.

[Feature]: Add support for bilingual JSDoc comments (Korean & English)

2 participants